From 3b11b654256cab076af90a0169bf031a7def2484 Mon Sep 17 00:00:00 2001 From: David Lima Date: Wed, 20 Aug 2025 13:40:58 -0300 Subject: [PATCH 1/2] chore: remove unused dependency Signed-off-by: David Lima --- composer.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/composer.json b/composer.json index 724b4bb..42ec0ad 100644 --- a/composer.json +++ b/composer.json @@ -21,9 +21,6 @@ "require": { "bamarni/composer-bin-plugin": "^1.8" }, - "require-dev": { - "nextcloud/ocp": "dev-stable29" - }, "scripts": { "bin": "echo 'bin not installed'", "lint": "find . -name \\*.php -not -path './vendor/*' -not -path './build/*' -not -path './tests/integration/vendor/*' -print0 | xargs -0 -n1 php -l", From c9465b2366bf76b1ba6d02db21bee06ace5666b1 Mon Sep 17 00:00:00 2001 From: David Lima Date: Wed, 20 Aug 2025 13:48:07 -0300 Subject: [PATCH 2/2] chore: cleanup .gitignore and remove ignored files Signed-off-by: David Lima --- .gitignore | 70 +- js/extract-extractAction.mjs | 11981 ----------------------------- js/extract-extractAction.mjs.map | 1 - js/extract-init.mjs | 7 - js/extract-init.mjs.map | 1 - js/vendor.LICENSE.txt | 85 - 6 files changed, 9 insertions(+), 12136 deletions(-) delete mode 100644 js/extract-extractAction.mjs delete mode 100644 js/extract-extractAction.mjs.map delete mode 100644 js/extract-init.mjs delete mode 100644 js/extract-init.mjs.map delete mode 100644 js/vendor.LICENSE.txt diff --git a/.gitignore b/.gitignore index 30d9ca0..a0c3e0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,62 +1,10 @@ -.DS_Store -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories +# SPDX-FileCopyrightText: 2025 LibreCode coop and contributors +# SPDX-License-Identifier: AGPL-3.0-or-later +.idea +.vscode +.phpactor* +/vendor/ +/vendor-bin/**/vendor/ +/js/ node_modules/ -jspm_packages/ -build/ -vendor/ -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# next.js build output -.next +/.php-cs-fixer.cache diff --git a/js/extract-extractAction.mjs b/js/extract-extractAction.mjs deleted file mode 100644 index f42fd92..0000000 --- a/js/extract-extractAction.mjs +++ /dev/null @@ -1,11981 +0,0 @@ -/*! third party licenses: js/vendor.LICENSE.txt */ -const appName = "extract"; -const appVersion = "1.4.0"; -function getDefaultExportFromCjs$1(x2) { - return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2; -} -var browser = { exports: {} }; -var process$1 = browser.exports = {}; -var cachedSetTimeout; -var cachedClearTimeout; -function defaultSetTimout() { - throw new Error("setTimeout has not been defined"); -} -function defaultClearTimeout() { - throw new Error("clearTimeout has not been defined"); -} -(function() { - try { - if (typeof setTimeout === "function") { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e2) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === "function") { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e2) { - cachedClearTimeout = defaultClearTimeout; - } -})(); -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - return setTimeout(fun, 0); - } - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - return cachedSetTimeout(fun, 0); - } catch (e2) { - try { - return cachedSetTimeout.call(null, fun, 0); - } catch (e22) { - return cachedSetTimeout.call(this, fun, 0); - } - } -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - return clearTimeout(marker); - } - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - return cachedClearTimeout(marker); - } catch (e2) { - try { - return cachedClearTimeout.call(null, marker); - } catch (e22) { - return cachedClearTimeout.call(this, marker); - } - } -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - var len = queue.length; - while (len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} -process$1.nextTick = function(fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function() { - this.fun.apply(null, this.array); -}; -process$1.title = "browser"; -process$1.browser = true; -process$1.env = {}; -process$1.argv = []; -process$1.version = ""; -process$1.versions = {}; -function noop$1() { -} -process$1.on = noop$1; -process$1.addListener = noop$1; -process$1.once = noop$1; -process$1.off = noop$1; -process$1.removeListener = noop$1; -process$1.removeAllListeners = noop$1; -process$1.emit = noop$1; -process$1.prependListener = noop$1; -process$1.prependOnceListener = noop$1; -process$1.listeners = function(name) { - return []; -}; -process$1.binding = function(name) { - throw new Error("process.binding is not supported"); -}; -process$1.cwd = function() { - return "/"; -}; -process$1.chdir = function(dir) { - throw new Error("process.chdir is not supported"); -}; -process$1.umask = function() { - return 0; -}; -var browserExports = browser.exports; -const process$1$1 = /* @__PURE__ */ getDefaultExportFromCjs$1(browserExports); -var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -function getDefaultExportFromCjs(x2) { - return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2; -} -var define_process_env_default$2 = {}; -const debug$2 = typeof process$1$1 === "object" && define_process_env_default$2 && define_process_env_default$2.NODE_DEBUG && /\bsemver\b/i.test(define_process_env_default$2.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { -}; -var debug_1$1 = debug$2; -const SEMVER_SPEC_VERSION$1 = "2.0.0"; -const MAX_LENGTH$2 = 256; -const MAX_SAFE_INTEGER$2 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ -9007199254740991; -const MAX_SAFE_COMPONENT_LENGTH$1 = 16; -const MAX_SAFE_BUILD_LENGTH$1 = MAX_LENGTH$2 - 6; -const RELEASE_TYPES$1 = [ - "major", - "premajor", - "minor", - "preminor", - "patch", - "prepatch", - "prerelease" -]; -var constants$1 = { - MAX_LENGTH: MAX_LENGTH$2, - MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH$1, - MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH$1, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$2, - RELEASE_TYPES: RELEASE_TYPES$1, - SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION$1, - FLAG_INCLUDE_PRERELEASE: 1, - FLAG_LOOSE: 2 -}; -var re$3 = { exports: {} }; -(function(module, exports) { - const { - MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH2, - MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH2, - MAX_LENGTH: MAX_LENGTH2 - } = constants$1; - const debug2 = debug_1$1; - exports = module.exports = {}; - const re2 = exports.re = []; - const safeRe = exports.safeRe = []; - const src = exports.src = []; - const t2 = exports.t = {}; - let R2 = 0; - const LETTERDASHNUMBER = "[a-zA-Z0-9-]"; - const safeRegexReplacements = [ - ["\\s", 1], - ["\\d", MAX_LENGTH2], - [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH2] - ]; - const makeSafeRegex = (value) => { - for (const [token2, max2] of safeRegexReplacements) { - value = value.split(`${token2}*`).join(`${token2}{0,${max2}}`).split(`${token2}+`).join(`${token2}{1,${max2}}`); - } - return value; - }; - const createToken = (name, value, isGlobal) => { - const safe = makeSafeRegex(value); - const index = R2++; - debug2(name, index, value); - t2[name] = index; - src[index] = value; - re2[index] = new RegExp(value, isGlobal ? "g" : void 0); - safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0); - }; - createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); - createToken("NUMERICIDENTIFIERLOOSE", "\\d+"); - createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`); - createToken("MAINVERSION", `(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})`); - createToken("MAINVERSIONLOOSE", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASEIDENTIFIER", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASE", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\.${src[t2.PRERELEASEIDENTIFIER]})*))`); - createToken("PRERELEASELOOSE", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`); - createToken("BUILD", `(?:\\+(${src[t2.BUILDIDENTIFIER]}(?:\\.${src[t2.BUILDIDENTIFIER]})*))`); - createToken("FULLPLAIN", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`); - createToken("FULL", `^${src[t2.FULLPLAIN]}$`); - createToken("LOOSEPLAIN", `[v=\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`); - createToken("LOOSE", `^${src[t2.LOOSEPLAIN]}$`); - createToken("GTLT", "((?:<|>)?=?)"); - createToken("XRANGEIDENTIFIERLOOSE", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken("XRANGEIDENTIFIER", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken("XRANGEPLAIN", `[v=\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`); - createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`); - createToken("XRANGE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAIN]}$`); - createToken("XRANGELOOSE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAINLOOSE]}$`); - createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH2}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?`); - createToken("COERCE", `${src[t2.COERCEPLAIN]}(?:$|[^\\d])`); - createToken("COERCEFULL", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\d])`); - createToken("COERCERTL", src[t2.COERCE], true); - createToken("COERCERTLFULL", src[t2.COERCEFULL], true); - createToken("LONETILDE", "(?:~>?)"); - createToken("TILDETRIM", `(\\s*)${src[t2.LONETILDE]}\\s+`, true); - exports.tildeTrimReplace = "$1~"; - createToken("TILDE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`); - createToken("TILDELOOSE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`); - createToken("LONECARET", "(?:\\^)"); - createToken("CARETTRIM", `(\\s*)${src[t2.LONECARET]}\\s+`, true); - exports.caretTrimReplace = "$1^"; - createToken("CARET", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`); - createToken("CARETLOOSE", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`); - createToken("COMPARATORLOOSE", `^${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]})$|^$`); - createToken("COMPARATOR", `^${src[t2.GTLT]}\\s*(${src[t2.FULLPLAIN]})$|^$`); - createToken("COMPARATORTRIM", `(\\s*)${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true); - exports.comparatorTrimReplace = "$1$2$3"; - createToken("HYPHENRANGE", `^\\s*(${src[t2.XRANGEPLAIN]})\\s+-\\s+(${src[t2.XRANGEPLAIN]})\\s*$`); - createToken("HYPHENRANGELOOSE", `^\\s*(${src[t2.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t2.XRANGEPLAINLOOSE]})\\s*$`); - createToken("STAR", "(<|>)?=?\\s*\\*"); - createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); - createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); -})(re$3, re$3.exports); -var reExports = re$3.exports; -const looseOption = Object.freeze({ loose: true }); -const emptyOpts = Object.freeze({}); -const parseOptions$1 = (options) => { - if (!options) { - return emptyOpts; - } - if (typeof options !== "object") { - return looseOption; - } - return options; -}; -var parseOptions_1 = parseOptions$1; -const numeric = /^[0-9]+$/; -const compareIdentifiers$1 = (a2, b2) => { - const anum = numeric.test(a2); - const bnum = numeric.test(b2); - if (anum && bnum) { - a2 = +a2; - b2 = +b2; - } - return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1; -}; -const rcompareIdentifiers = (a2, b2) => compareIdentifiers$1(b2, a2); -var identifiers = { - compareIdentifiers: compareIdentifiers$1, - rcompareIdentifiers -}; -const debug = debug_1$1; -const { MAX_LENGTH, MAX_SAFE_INTEGER } = constants$1; -const { safeRe: re$2, t: t$1 } = reExports; -const parseOptions = parseOptions_1; -const { compareIdentifiers } = identifiers; -let SemVer$2 = class SemVer { - constructor(version2, options) { - options = parseOptions(options); - if (version2 instanceof SemVer) { - if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) { - return version2; - } else { - version2 = version2.version; - } - } else if (typeof version2 !== "string") { - throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`); - } - if (version2.length > MAX_LENGTH) { - throw new TypeError( - `version is longer than ${MAX_LENGTH} characters` - ); - } - debug("SemVer", version2, options); - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - const m2 = version2.trim().match(options.loose ? re$2[t$1.LOOSE] : re$2[t$1.FULL]); - if (!m2) { - throw new TypeError(`Invalid Version: ${version2}`); - } - this.raw = version2; - this.major = +m2[1]; - this.minor = +m2[2]; - this.patch = +m2[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m2[4]) { - this.prerelease = []; - } else { - this.prerelease = m2[4].split(".").map((id2) => { - if (/^[0-9]+$/.test(id2)) { - const num = +id2; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id2; - }); - } - this.build = m2[5] ? m2[5].split(".") : []; - this.format(); - } - format() { - this.version = `${this.major}.${this.minor}.${this.patch}`; - if (this.prerelease.length) { - this.version += `-${this.prerelease.join(".")}`; - } - return this.version; - } - toString() { - return this.version; - } - compare(other) { - debug("SemVer.compare", this.version, this.options, other); - if (!(other instanceof SemVer)) { - if (typeof other === "string" && other === this.version) { - return 0; - } - other = new SemVer(other, this.options); - } - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); - } - compareMain(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - } - comparePre(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - let i = 0; - do { - const a2 = this.prerelease[i]; - const b2 = other.prerelease[i]; - debug("prerelease compare", i, a2, b2); - if (a2 === void 0 && b2 === void 0) { - return 0; - } else if (b2 === void 0) { - return 1; - } else if (a2 === void 0) { - return -1; - } else if (a2 === b2) { - continue; - } else { - return compareIdentifiers(a2, b2); - } - } while (++i); - } - compareBuild(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - let i = 0; - do { - const a2 = this.build[i]; - const b2 = other.build[i]; - debug("build compare", i, a2, b2); - if (a2 === void 0 && b2 === void 0) { - return 0; - } else if (b2 === void 0) { - return 1; - } else if (a2 === void 0) { - return -1; - } else if (a2 === b2) { - continue; - } else { - return compareIdentifiers(a2, b2); - } - } while (++i); - } - // preminor will bump the version up to the next minor release, and immediately - // down to pre-release. premajor and prepatch work the same way. - inc(release, identifier, identifierBase) { - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier, identifierBase); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier, identifierBase); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier, identifierBase); - this.inc("pre", identifier, identifierBase); - break; - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier, identifierBase); - } - this.inc("pre", identifier, identifierBase); - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case "pre": { - const base = Number(identifierBase) ? 1 : 0; - if (!identifier && identifierBase === false) { - throw new Error("invalid increment argument: identifier is empty"); - } - if (this.prerelease.length === 0) { - this.prerelease = [base]; - } else { - let i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === "number") { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) { - if (identifier === this.prerelease.join(".") && identifierBase === false) { - throw new Error("invalid increment argument: identifier already exists"); - } - this.prerelease.push(base); - } - } - if (identifier) { - let prerelease = [identifier, base]; - if (identifierBase === false) { - prerelease = [identifier]; - } - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = prerelease; - } - } else { - this.prerelease = prerelease; - } - } - break; - } - default: - throw new Error(`invalid increment argument: ${release}`); - } - this.raw = this.format(); - if (this.build.length) { - this.raw += `+${this.build.join(".")}`; - } - return this; - } -}; -var semver = SemVer$2; -const SemVer$1 = semver; -const parse$1 = (version2, options, throwErrors = false) => { - if (version2 instanceof SemVer$1) { - return version2; - } - try { - return new SemVer$1(version2, options); - } catch (er) { - if (!throwErrors) { - return null; - } - throw er; - } -}; -var parse_1 = parse$1; -const parse = parse_1; -const valid = (version2, options) => { - const v2 = parse(version2, options); - return v2 ? v2.version : null; -}; -var valid_1 = valid; -const valid$1 = /* @__PURE__ */ getDefaultExportFromCjs(valid_1); -const SemVer2 = semver; -const major = (a2, loose) => new SemVer2(a2, loose).major; -var major_1 = major; -const major$1 = /* @__PURE__ */ getDefaultExportFromCjs(major_1); -class ProxyBus { - bus; - constructor(bus2) { - if (typeof bus2.getVersion !== "function" || !valid$1(bus2.getVersion())) { - console.warn("Proxying an event bus with an unknown or invalid version"); - } else if (major$1(bus2.getVersion()) !== major$1(this.getVersion())) { - console.warn( - "Proxying an event bus of version " + bus2.getVersion() + " with " + this.getVersion() - ); - } - this.bus = bus2; - } - getVersion() { - return "3.3.1"; - } - subscribe(name, handler) { - this.bus.subscribe(name, handler); - } - unsubscribe(name, handler) { - this.bus.unsubscribe(name, handler); - } - emit(name, event) { - this.bus.emit(name, event); - } -} -class SimpleBus { - handlers = /* @__PURE__ */ new Map(); - getVersion() { - return "3.3.1"; - } - subscribe(name, handler) { - this.handlers.set( - name, - (this.handlers.get(name) || []).concat( - handler - ) - ); - } - unsubscribe(name, handler) { - this.handlers.set( - name, - (this.handlers.get(name) || []).filter((h2) => h2 !== handler) - ); - } - emit(name, event) { - (this.handlers.get(name) || []).forEach((h2) => { - try { - h2(event); - } catch (e2) { - console.error("could not invoke event listener", e2); - } - }); - } -} -let bus = null; -function getBus() { - if (bus !== null) { - return bus; - } - if (typeof window === "undefined") { - return new Proxy({}, { - get: () => { - return () => console.error( - "Window not available, EventBus can not be established!" - ); - } - }); - } - if (window.OC?._eventBus && typeof window._nc_event_bus === "undefined") { - console.warn( - "found old event bus instance at OC._eventBus. Update your version!" - ); - window._nc_event_bus = window.OC._eventBus; - } - if (typeof window?._nc_event_bus !== "undefined") { - bus = new ProxyBus(window._nc_event_bus); - } else { - bus = window._nc_event_bus = new SimpleBus(); - } - return bus; -} -function subscribe(name, handler) { - getBus().subscribe(name, handler); -} -function emit(name, event) { - getBus().emit(name, event); -} -var dist$1 = {}; -var storagebuilder = {}; -var scopedstorage = {}; -Object.defineProperty(scopedstorage, "__esModule", { - value: true -}); -scopedstorage.default = void 0; -function _defineProperty$2(obj, key, value) { - key = _toPropertyKey$1(key); - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -function _toPropertyKey$1(t2) { - var i = _toPrimitive$1(t2, "string"); - return "symbol" == typeof i ? i : i + ""; -} -function _toPrimitive$1(t2, r2) { - if ("object" != typeof t2 || !t2) return t2; - var e2 = t2[Symbol.toPrimitive]; - if (void 0 !== e2) { - var i = e2.call(t2, r2 || "default"); - if ("object" != typeof i) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r2 ? String : Number)(t2); -} -class ScopedStorage { - constructor(scope, wrapped, persistent) { - _defineProperty$2(this, "scope", void 0); - _defineProperty$2(this, "wrapped", void 0); - this.scope = "".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, "_").concat(btoa(scope), "_"); - this.wrapped = wrapped; - } - scopeKey(key) { - return "".concat(this.scope).concat(key); - } - setItem(key, value) { - this.wrapped.setItem(this.scopeKey(key), value); - } - getItem(key) { - return this.wrapped.getItem(this.scopeKey(key)); - } - removeItem(key) { - this.wrapped.removeItem(this.scopeKey(key)); - } - clear() { - Object.keys(this.wrapped).filter((key) => key.startsWith(this.scope)).map(this.wrapped.removeItem.bind(this.wrapped)); - } -} -scopedstorage.default = ScopedStorage; -_defineProperty$2(ScopedStorage, "GLOBAL_SCOPE_VOLATILE", "nextcloud_vol"); -_defineProperty$2(ScopedStorage, "GLOBAL_SCOPE_PERSISTENT", "nextcloud_per"); -Object.defineProperty(storagebuilder, "__esModule", { - value: true -}); -storagebuilder.default = void 0; -var _scopedstorage$1 = _interopRequireDefault$1(scopedstorage); -function _interopRequireDefault$1(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} -function _defineProperty$1(obj, key, value) { - key = _toPropertyKey(key); - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -function _toPropertyKey(t2) { - var i = _toPrimitive(t2, "string"); - return "symbol" == typeof i ? i : i + ""; -} -function _toPrimitive(t2, r2) { - if ("object" != typeof t2 || !t2) return t2; - var e2 = t2[Symbol.toPrimitive]; - if (void 0 !== e2) { - var i = e2.call(t2, r2 || "default"); - if ("object" != typeof i) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r2 ? String : Number)(t2); -} -class StorageBuilder { - constructor(appId) { - _defineProperty$1(this, "appId", void 0); - _defineProperty$1(this, "persisted", false); - _defineProperty$1(this, "clearedOnLogout", false); - this.appId = appId; - } - persist() { - let persist = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true; - this.persisted = persist; - return this; - } - clearOnLogout() { - let clear = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true; - this.clearedOnLogout = clear; - return this; - } - build() { - return new _scopedstorage$1.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout); - } -} -storagebuilder.default = StorageBuilder; -Object.defineProperty(dist$1, "__esModule", { - value: true -}); -dist$1.clearAll = clearAll; -dist$1.clearNonPersistent = clearNonPersistent; -var getBuilder_1 = dist$1.getBuilder = getBuilder; -var _storagebuilder = _interopRequireDefault(storagebuilder); -var _scopedstorage = _interopRequireDefault(scopedstorage); -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} -function getBuilder(appId) { - return new _storagebuilder.default(appId); -} -function clearStorage(storage, pred) { - Object.keys(storage).filter((k2) => pred ? pred(k2) : true).map(storage.removeItem.bind(storage)); -} -function clearAll() { - const storages = [window.sessionStorage, window.localStorage]; - storages.map((s2) => clearStorage(s2)); -} -function clearNonPersistent() { - const storages = [window.sessionStorage, window.localStorage]; - storages.map((s2) => clearStorage(s2, (k2) => !k2.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT))); -} -let token; -const observers = []; -function getRequestToken() { - if (token === void 0) { - token = document.head.dataset.requesttoken ?? null; - } - return token; -} -function onRequestTokenUpdate(observer) { - observers.push(observer); -} -subscribe("csrf-token-update", (e2) => { - token = e2.token; - observers.forEach((observer) => { - try { - observer(token); - } catch (e22) { - console.error("Error updating CSRF token observer", e22); - } - }); -}); -getBuilder_1("public").persist().build(); -let currentUser; -const getAttribute = (el, attribute) => { - if (el) { - return el.getAttribute(attribute); - } - return null; -}; -function getCurrentUser() { - if (currentUser !== void 0) { - return currentUser; - } - const head = document?.getElementsByTagName("head")[0]; - if (!head) { - return null; - } - const uid2 = getAttribute(head, "data-user"); - if (uid2 === null) { - currentUser = null; - return currentUser; - } - currentUser = { - uid: uid2, - displayName: getAttribute(head, "data-user-displayname"), - isAdmin: !!window._oc_isadmin - }; - return currentUser; -} -var LogLevel = /* @__PURE__ */ ((LogLevel2) => { - LogLevel2[LogLevel2["Debug"] = 0] = "Debug"; - LogLevel2[LogLevel2["Info"] = 1] = "Info"; - LogLevel2[LogLevel2["Warn"] = 2] = "Warn"; - LogLevel2[LogLevel2["Error"] = 3] = "Error"; - LogLevel2[LogLevel2["Fatal"] = 4] = "Fatal"; - return LogLevel2; -})(LogLevel || {}); -var __defProp$1 = Object.defineProperty; -var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -var __publicField$1 = (obj, key, value) => { - __defNormalProp$1(obj, key + "", value); - return value; -}; -class ConsoleLogger { - constructor(context) { - __publicField$1(this, "context"); - this.context = context || {}; - } - formatMessage(message, level, context) { - let msg = "[" + LogLevel[level].toUpperCase() + "] "; - if (context && context.app) { - msg += context.app + ": "; - } - if (typeof message === "string") - return msg + message; - msg += "Unexpected ".concat(message.name); - if (message.message) - msg += ' "'.concat(message.message, '"'); - if (level === LogLevel.Debug && message.stack) - msg += "\n\nStack trace:\n".concat(message.stack); - return msg; - } - log(level, message, context) { - var _a2, _b; - if (typeof ((_a2 = this.context) == null ? void 0 : _a2.level) === "number" && level < ((_b = this.context) == null ? void 0 : _b.level)) { - return; - } - if (typeof message === "object" && (context == null ? void 0 : context.error) === void 0) { - context.error = message; - } - switch (level) { - case LogLevel.Debug: - console.debug(this.formatMessage(message, LogLevel.Debug, context), context); - break; - case LogLevel.Info: - console.info(this.formatMessage(message, LogLevel.Info, context), context); - break; - case LogLevel.Warn: - console.warn(this.formatMessage(message, LogLevel.Warn, context), context); - break; - case LogLevel.Error: - console.error(this.formatMessage(message, LogLevel.Error, context), context); - break; - case LogLevel.Fatal: - default: - console.error(this.formatMessage(message, LogLevel.Fatal, context), context); - break; - } - } - debug(message, context) { - this.log(LogLevel.Debug, message, Object.assign({}, this.context, context)); - } - info(message, context) { - this.log(LogLevel.Info, message, Object.assign({}, this.context, context)); - } - warn(message, context) { - this.log(LogLevel.Warn, message, Object.assign({}, this.context, context)); - } - error(message, context) { - this.log(LogLevel.Error, message, Object.assign({}, this.context, context)); - } - fatal(message, context) { - this.log(LogLevel.Fatal, message, Object.assign({}, this.context, context)); - } -} -function buildConsoleLogger(context) { - return new ConsoleLogger(context); -} -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; -}; -class LoggerBuilder { - constructor(factory) { - __publicField(this, "context"); - __publicField(this, "factory"); - this.context = {}; - this.factory = factory; - } - /** - * Set the app name within the logging context - * - * @param appId App name - */ - setApp(appId) { - this.context.app = appId; - return this; - } - /** - * Set the logging level within the logging context - * - * @param level Logging level - */ - setLogLevel(level) { - this.context.level = level; - return this; - } - /* eslint-disable jsdoc/no-undefined-types */ - /** - * Set the user id within the logging context - * @param uid User ID - * @see {@link detectUser} - */ - /* eslint-enable jsdoc/no-undefined-types */ - setUid(uid2) { - this.context.uid = uid2; - return this; - } - /** - * Detect the currently logged in user and set the user id within the logging context - */ - detectUser() { - const user = getCurrentUser(); - if (user !== null) { - this.context.uid = user.uid; - } - return this; - } - /** - * Detect and use logging level configured in nextcloud config - */ - detectLogLevel() { - const self2 = this; - const onLoaded = () => { - var _a2, _b; - if (document.readyState === "complete" || document.readyState === "interactive") { - self2.context.level = (_b = (_a2 = window._oc_config) == null ? void 0 : _a2.loglevel) != null ? _b : LogLevel.Warn; - if (window._oc_debug) { - self2.context.level = LogLevel.Debug; - } - document.removeEventListener("readystatechange", onLoaded); - } else { - document.addEventListener("readystatechange", onLoaded); - } - }; - onLoaded(); - return this; - } - /** Build a logger using the logging context and factory */ - build() { - if (this.context.level === void 0) { - this.detectLogLevel(); - } - return this.factory(this.context); - } -} -function getLoggerBuilder() { - return new LoggerBuilder(buildConsoleLogger); -} -function assertPath(path) { - if (typeof path !== "string") { - throw new TypeError("Path must be a string. Received " + JSON.stringify(path)); - } -} -function normalizeStringPosix(path, allowAboveRoot) { - var res = ""; - var lastSegmentLength = 0; - var lastSlash = -1; - var dots = 0; - var code2; - for (var i = 0; i <= path.length; ++i) { - if (i < path.length) - code2 = path.charCodeAt(i); - else if (code2 === 47) - break; - else - code2 = 47; - if (code2 === 47) { - if (lastSlash === i - 1 || dots === 1) ; - else if (lastSlash !== i - 1 && dots === 2) { - if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) { - if (res.length > 2) { - var lastSlashIndex = res.lastIndexOf("/"); - if (lastSlashIndex !== res.length - 1) { - if (lastSlashIndex === -1) { - res = ""; - lastSegmentLength = 0; - } else { - res = res.slice(0, lastSlashIndex); - lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); - } - lastSlash = i; - dots = 0; - continue; - } - } else if (res.length === 2 || res.length === 1) { - res = ""; - lastSegmentLength = 0; - lastSlash = i; - dots = 0; - continue; - } - } - if (allowAboveRoot) { - if (res.length > 0) - res += "/.."; - else - res = ".."; - lastSegmentLength = 2; - } - } else { - if (res.length > 0) - res += "/" + path.slice(lastSlash + 1, i); - else - res = path.slice(lastSlash + 1, i); - lastSegmentLength = i - lastSlash - 1; - } - lastSlash = i; - dots = 0; - } else if (code2 === 46 && dots !== -1) { - ++dots; - } else { - dots = -1; - } - } - return res; -} -function _format(sep, pathObject) { - var dir = pathObject.dir || pathObject.root; - var base = pathObject.base || (pathObject.name || "") + (pathObject.ext || ""); - if (!dir) { - return base; - } - if (dir === pathObject.root) { - return dir + base; - } - return dir + sep + base; -} -var posix = { - // path.resolve([from ...], to) - resolve: function resolve() { - var resolvedPath = ""; - var resolvedAbsolute = false; - var cwd; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path; - if (i >= 0) - path = arguments[i]; - else { - if (cwd === void 0) - cwd = process$1$1.cwd(); - path = cwd; - } - assertPath(path); - if (path.length === 0) { - continue; - } - resolvedPath = path + "/" + resolvedPath; - resolvedAbsolute = path.charCodeAt(0) === 47; - } - resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute); - if (resolvedAbsolute) { - if (resolvedPath.length > 0) - return "/" + resolvedPath; - else - return "/"; - } else if (resolvedPath.length > 0) { - return resolvedPath; - } else { - return "."; - } - }, - normalize: function normalize(path) { - assertPath(path); - if (path.length === 0) return "."; - var isAbsolute2 = path.charCodeAt(0) === 47; - var trailingSeparator = path.charCodeAt(path.length - 1) === 47; - path = normalizeStringPosix(path, !isAbsolute2); - if (path.length === 0 && !isAbsolute2) path = "."; - if (path.length > 0 && trailingSeparator) path += "/"; - if (isAbsolute2) return "/" + path; - return path; - }, - isAbsolute: function isAbsolute(path) { - assertPath(path); - return path.length > 0 && path.charCodeAt(0) === 47; - }, - join: function join() { - if (arguments.length === 0) - return "."; - var joined; - for (var i = 0; i < arguments.length; ++i) { - var arg = arguments[i]; - assertPath(arg); - if (arg.length > 0) { - if (joined === void 0) - joined = arg; - else - joined += "/" + arg; - } - } - if (joined === void 0) - return "."; - return posix.normalize(joined); - }, - relative: function relative(from, to) { - assertPath(from); - assertPath(to); - if (from === to) return ""; - from = posix.resolve(from); - to = posix.resolve(to); - if (from === to) return ""; - var fromStart = 1; - for (; fromStart < from.length; ++fromStart) { - if (from.charCodeAt(fromStart) !== 47) - break; - } - var fromEnd = from.length; - var fromLen = fromEnd - fromStart; - var toStart = 1; - for (; toStart < to.length; ++toStart) { - if (to.charCodeAt(toStart) !== 47) - break; - } - var toEnd = to.length; - var toLen = toEnd - toStart; - var length = fromLen < toLen ? fromLen : toLen; - var lastCommonSep = -1; - var i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (to.charCodeAt(toStart + i) === 47) { - return to.slice(toStart + i + 1); - } else if (i === 0) { - return to.slice(toStart + i); - } - } else if (fromLen > length) { - if (from.charCodeAt(fromStart + i) === 47) { - lastCommonSep = i; - } else if (i === 0) { - lastCommonSep = 0; - } - } - break; - } - var fromCode = from.charCodeAt(fromStart + i); - var toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) - break; - else if (fromCode === 47) - lastCommonSep = i; - } - var out = ""; - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || from.charCodeAt(i) === 47) { - if (out.length === 0) - out += ".."; - else - out += "/.."; - } - } - if (out.length > 0) - return out + to.slice(toStart + lastCommonSep); - else { - toStart += lastCommonSep; - if (to.charCodeAt(toStart) === 47) - ++toStart; - return to.slice(toStart); - } - }, - _makeLong: function _makeLong(path) { - return path; - }, - dirname: function dirname(path) { - assertPath(path); - if (path.length === 0) return "."; - var code2 = path.charCodeAt(0); - var hasRoot = code2 === 47; - var end = -1; - var matchedSlash = true; - for (var i = path.length - 1; i >= 1; --i) { - code2 = path.charCodeAt(i); - if (code2 === 47) { - if (!matchedSlash) { - end = i; - break; - } - } else { - matchedSlash = false; - } - } - if (end === -1) return hasRoot ? "/" : "."; - if (hasRoot && end === 1) return "//"; - return path.slice(0, end); - }, - basename: function basename(path, ext) { - if (ext !== void 0 && typeof ext !== "string") throw new TypeError('"ext" argument must be a string'); - assertPath(path); - var start = 0; - var end = -1; - var matchedSlash = true; - var i; - if (ext !== void 0 && ext.length > 0 && ext.length <= path.length) { - if (ext.length === path.length && ext === path) return ""; - var extIdx = ext.length - 1; - var firstNonSlashEnd = -1; - for (i = path.length - 1; i >= 0; --i) { - var code2 = path.charCodeAt(i); - if (code2 === 47) { - if (!matchedSlash) { - start = i + 1; - break; - } - } else { - if (firstNonSlashEnd === -1) { - matchedSlash = false; - firstNonSlashEnd = i + 1; - } - if (extIdx >= 0) { - if (code2 === ext.charCodeAt(extIdx)) { - if (--extIdx === -1) { - end = i; - } - } else { - extIdx = -1; - end = firstNonSlashEnd; - } - } - } - } - if (start === end) end = firstNonSlashEnd; - else if (end === -1) end = path.length; - return path.slice(start, end); - } else { - for (i = path.length - 1; i >= 0; --i) { - if (path.charCodeAt(i) === 47) { - if (!matchedSlash) { - start = i + 1; - break; - } - } else if (end === -1) { - matchedSlash = false; - end = i + 1; - } - } - if (end === -1) return ""; - return path.slice(start, end); - } - }, - extname: function extname(path) { - assertPath(path); - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - var preDotState = 0; - for (var i = path.length - 1; i >= 0; --i) { - var code2 = path.charCodeAt(i); - if (code2 === 47) { - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - matchedSlash = false; - end = i + 1; - } - if (code2 === 46) { - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } else if (startDot !== -1) { - preDotState = -1; - } - } - if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot - preDotState === 0 || // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - return ""; - } - return path.slice(startDot, end); - }, - format: function format(pathObject) { - if (pathObject === null || typeof pathObject !== "object") { - throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject); - } - return _format("/", pathObject); - }, - parse: function parse2(path) { - assertPath(path); - var ret = { root: "", dir: "", base: "", ext: "", name: "" }; - if (path.length === 0) return ret; - var code2 = path.charCodeAt(0); - var isAbsolute2 = code2 === 47; - var start; - if (isAbsolute2) { - ret.root = "/"; - start = 1; - } else { - start = 0; - } - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - var i = path.length - 1; - var preDotState = 0; - for (; i >= start; --i) { - code2 = path.charCodeAt(i); - if (code2 === 47) { - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - matchedSlash = false; - end = i + 1; - } - if (code2 === 46) { - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - preDotState = -1; - } - } - if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot - preDotState === 0 || // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - if (end !== -1) { - if (startPart === 0 && isAbsolute2) ret.base = ret.name = path.slice(1, end); - else ret.base = ret.name = path.slice(startPart, end); - } - } else { - if (startPart === 0 && isAbsolute2) { - ret.name = path.slice(1, startDot); - ret.base = path.slice(1, end); - } else { - ret.name = path.slice(startPart, startDot); - ret.base = path.slice(startPart, end); - } - ret.ext = path.slice(startDot, end); - } - if (startPart > 0) ret.dir = path.slice(0, startPart - 1); - else if (isAbsolute2) ret.dir = "/"; - return ret; - }, - sep: "/", - delimiter: ":", - win32: null, - posix: null -}; -posix.posix = posix; -var pathBrowserify = posix; -function encodePath(path) { - if (!path) { - return path; - } - return path.split("/").map(encodeURIComponent).join("/"); -} -const g$1 = (n2) => "/remote.php/" + n2, U$1 = (n2, e2) => { - var o2; - return ((o2 = void 0) != null ? o2 : w$1()) + g$1(n2); -}, u$1 = (n2, e2, o2) => { - const c2 = Object.assign({ - escape: true - }, {}), r2 = function(i, s2) { - return s2 = s2 || {}, i.replace( - /{([^{}]*)}/g, - function(l2, t2) { - const a2 = s2[t2]; - return c2.escape ? encodeURIComponent(typeof a2 == "string" || typeof a2 == "number" ? a2.toString() : l2) : typeof a2 == "string" || typeof a2 == "number" ? a2.toString() : l2; - } - ); - }; - return n2.charAt(0) !== "/" && (n2 = "/" + n2), r2(n2, {}); -}, _$1 = (n2, e2, o2) => { - var c2, r2, i; - const s2 = Object.assign({ - noRewrite: false - }, {}), l2 = (c2 = void 0) != null ? c2 : f$1(); - return ((i = (r2 = window == null ? void 0 : window.OC) == null ? void 0 : r2.config) == null ? void 0 : i.modRewriteWorking) === true && !s2.noRewrite ? l2 + u$1(n2) : l2 + "/index.php" + u$1(n2); -}, w$1 = () => window.location.protocol + "//" + window.location.host + f$1(); -function f$1() { - let n2 = window._oc_webroot; - if (typeof n2 > "u") { - n2 = location.pathname; - const e2 = n2.indexOf("/index.php/"); - if (e2 !== -1) - n2 = n2.slice(0, e2); - else { - const o2 = n2.indexOf("/", 1); - n2 = n2.slice(0, o2 > 0 ? o2 : void 0); - } - } - return n2; -} -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -function _classPrivateFieldInitSpec(obj, privateMap, value) { - _checkPrivateRedeclaration(obj, privateMap); - privateMap.set(obj, value); -} -function _checkPrivateRedeclaration(obj, privateCollection) { - if (privateCollection.has(obj)) { - throw new TypeError("Cannot initialize the same private elements twice on an object"); - } -} -function _classPrivateFieldGet(receiver, privateMap) { - var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); - return _classApplyDescriptorGet(receiver, descriptor); -} -function _classApplyDescriptorGet(receiver, descriptor) { - if (descriptor.get) { - return descriptor.get.call(receiver); - } - return descriptor.value; -} -function _classPrivateFieldSet(receiver, privateMap, value) { - var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); - _classApplyDescriptorSet(receiver, descriptor, value); - return value; -} -function _classExtractFieldDescriptor(receiver, privateMap, action2) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to " + action2 + " private field on non-instance"); - } - return privateMap.get(receiver); -} -function _classApplyDescriptorSet(receiver, descriptor, value) { - if (descriptor.set) { - descriptor.set.call(receiver, value); - } else { - if (!descriptor.writable) { - throw new TypeError("attempted to set read only private field"); - } - descriptor.value = value; - } -} -var toStringTag = typeof Symbol !== "undefined" ? Symbol.toStringTag : "@@toStringTag"; -var _internals = /* @__PURE__ */ new WeakMap(); -var _promise = /* @__PURE__ */ new WeakMap(); -class CancelablePromiseInternal { - constructor(_ref) { - var { - executor = () => { - }, - internals = defaultInternals(), - promise = new Promise((resolve3, reject2) => executor(resolve3, reject2, (onCancel) => { - internals.onCancelList.push(onCancel); - })) - } = _ref; - _classPrivateFieldInitSpec(this, _internals, { - writable: true, - value: void 0 - }); - _classPrivateFieldInitSpec(this, _promise, { - writable: true, - value: void 0 - }); - _defineProperty(this, toStringTag, "CancelablePromise"); - this.cancel = this.cancel.bind(this); - _classPrivateFieldSet(this, _internals, internals); - _classPrivateFieldSet(this, _promise, promise || new Promise((resolve3, reject2) => executor(resolve3, reject2, (onCancel) => { - internals.onCancelList.push(onCancel); - }))); - } - then(onfulfilled, onrejected) { - return makeCancelable(_classPrivateFieldGet(this, _promise).then(createCallback(onfulfilled, _classPrivateFieldGet(this, _internals)), createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals)); - } - catch(onrejected) { - return makeCancelable(_classPrivateFieldGet(this, _promise).catch(createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals)); - } - finally(onfinally, runWhenCanceled) { - if (runWhenCanceled) { - _classPrivateFieldGet(this, _internals).onCancelList.push(onfinally); - } - return makeCancelable(_classPrivateFieldGet(this, _promise).finally(createCallback(() => { - if (onfinally) { - if (runWhenCanceled) { - _classPrivateFieldGet(this, _internals).onCancelList = _classPrivateFieldGet(this, _internals).onCancelList.filter((callback) => callback !== onfinally); - } - return onfinally(); - } - }, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals)); - } - cancel() { - _classPrivateFieldGet(this, _internals).isCanceled = true; - var callbacks = _classPrivateFieldGet(this, _internals).onCancelList; - _classPrivateFieldGet(this, _internals).onCancelList = []; - for (var callback of callbacks) { - if (typeof callback === "function") { - try { - callback(); - } catch (err) { - console.error(err); - } - } - } - } - isCanceled() { - return _classPrivateFieldGet(this, _internals).isCanceled === true; - } -} -class CancelablePromise extends CancelablePromiseInternal { - constructor(executor) { - super({ - executor - }); - } -} -_defineProperty(CancelablePromise, "all", function all(iterable) { - return makeAllCancelable(iterable, Promise.all(iterable)); -}); -_defineProperty(CancelablePromise, "allSettled", function allSettled(iterable) { - return makeAllCancelable(iterable, Promise.allSettled(iterable)); -}); -_defineProperty(CancelablePromise, "any", function any(iterable) { - return makeAllCancelable(iterable, Promise.any(iterable)); -}); -_defineProperty(CancelablePromise, "race", function race(iterable) { - return makeAllCancelable(iterable, Promise.race(iterable)); -}); -_defineProperty(CancelablePromise, "resolve", function resolve2(value) { - return cancelable(Promise.resolve(value)); -}); -_defineProperty(CancelablePromise, "reject", function reject(reason) { - return cancelable(Promise.reject(reason)); -}); -_defineProperty(CancelablePromise, "isCancelable", isCancelablePromise); -function cancelable(promise) { - return makeCancelable(promise, defaultInternals()); -} -function isCancelablePromise(promise) { - return promise instanceof CancelablePromise || promise instanceof CancelablePromiseInternal; -} -function createCallback(onResult, internals) { - if (onResult) { - return (arg) => { - if (!internals.isCanceled) { - var result = onResult(arg); - if (isCancelablePromise(result)) { - internals.onCancelList.push(result.cancel); - } - return result; - } - return arg; - }; - } -} -function makeCancelable(promise, internals) { - return new CancelablePromiseInternal({ - internals, - promise - }); -} -function makeAllCancelable(iterable, promise) { - var internals = defaultInternals(); - internals.onCancelList.push(() => { - for (var resolvable of iterable) { - if (isCancelablePromise(resolvable)) { - resolvable.cancel(); - } - } - }); - return new CancelablePromiseInternal({ - internals, - promise - }); -} -function defaultInternals() { - return { - isCanceled: false, - onCancelList: [] - }; -} -const global$e = globalThis || void 0 || self; -var define_process_env_default$1 = {}; -/*! For license information please see index.js.LICENSE.txt */ -var t = { 2: (t2) => { - function e2(t3, e3, o2) { - t3 instanceof RegExp && (t3 = n2(t3, o2)), e3 instanceof RegExp && (e3 = n2(e3, o2)); - var i2 = r2(t3, e3, o2); - return i2 && { start: i2[0], end: i2[1], pre: o2.slice(0, i2[0]), body: o2.slice(i2[0] + t3.length, i2[1]), post: o2.slice(i2[1] + e3.length) }; - } - function n2(t3, e3) { - var n3 = e3.match(t3); - return n3 ? n3[0] : null; - } - function r2(t3, e3, n3) { - var r3, o2, i2, s2, a2, u2 = n3.indexOf(t3), c2 = n3.indexOf(e3, u2 + 1), l2 = u2; - if (u2 >= 0 && c2 > 0) { - for (r3 = [], i2 = n3.length; l2 >= 0 && !a2; ) l2 == u2 ? (r3.push(l2), u2 = n3.indexOf(t3, l2 + 1)) : 1 == r3.length ? a2 = [r3.pop(), c2] : ((o2 = r3.pop()) < i2 && (i2 = o2, s2 = c2), c2 = n3.indexOf(e3, l2 + 1)), l2 = u2 < c2 && u2 >= 0 ? u2 : c2; - r3.length && (a2 = [i2, s2]); - } - return a2; - } - t2.exports = e2, e2.range = r2; -}, 101: function(t2, e2, n2) { - var r2; - t2 = n2.nmd(t2), function(o2) { - var i2 = (t2 && t2.exports, "object" == typeof global$e && global$e); - i2.global !== i2 && i2.window; - var s2 = function(t3) { - this.message = t3; - }; - (s2.prototype = new Error()).name = "InvalidCharacterError"; - var a2 = function(t3) { - throw new s2(t3); - }, u2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c2 = /[\t\n\f\r ]/g, l2 = { encode: function(t3) { - t3 = String(t3), /[^\0-\xFF]/.test(t3) && a2("The string to be encoded contains characters outside of the Latin1 range."); - for (var e3, n3, r3, o3, i3 = t3.length % 3, s3 = "", c3 = -1, l3 = t3.length - i3; ++c3 < l3; ) e3 = t3.charCodeAt(c3) << 16, n3 = t3.charCodeAt(++c3) << 8, r3 = t3.charCodeAt(++c3), s3 += u2.charAt((o3 = e3 + n3 + r3) >> 18 & 63) + u2.charAt(o3 >> 12 & 63) + u2.charAt(o3 >> 6 & 63) + u2.charAt(63 & o3); - return 2 == i3 ? (e3 = t3.charCodeAt(c3) << 8, n3 = t3.charCodeAt(++c3), s3 += u2.charAt((o3 = e3 + n3) >> 10) + u2.charAt(o3 >> 4 & 63) + u2.charAt(o3 << 2 & 63) + "=") : 1 == i3 && (o3 = t3.charCodeAt(c3), s3 += u2.charAt(o3 >> 2) + u2.charAt(o3 << 4 & 63) + "=="), s3; - }, decode: function(t3) { - var e3 = (t3 = String(t3).replace(c2, "")).length; - e3 % 4 == 0 && (e3 = (t3 = t3.replace(/==?$/, "")).length), (e3 % 4 == 1 || /[^+a-zA-Z0-9/]/.test(t3)) && a2("Invalid character: the string to be decoded is not correctly encoded."); - for (var n3, r3, o3 = 0, i3 = "", s3 = -1; ++s3 < e3; ) r3 = u2.indexOf(t3.charAt(s3)), n3 = o3 % 4 ? 64 * n3 + r3 : r3, o3++ % 4 && (i3 += String.fromCharCode(255 & n3 >> (-2 * o3 & 6))); - return i3; - }, version: "1.0.0" }; - void 0 === (r2 = function() { - return l2; - }.call(e2, n2, e2, t2)) || (t2.exports = r2); - }(); -}, 172: (t2, e2) => { - e2.d = function(t3) { - if (!t3) return 0; - for (var e3 = (t3 = t3.toString()).length, n2 = t3.length; n2--; ) { - var r2 = t3.charCodeAt(n2); - 56320 <= r2 && r2 <= 57343 && n2--, 127 < r2 && r2 <= 2047 ? e3++ : 2047 < r2 && r2 <= 65535 && (e3 += 2); - } - return e3; - }; -}, 526: (t2) => { - var e2 = { utf8: { stringToBytes: function(t3) { - return e2.bin.stringToBytes(unescape(encodeURIComponent(t3))); - }, bytesToString: function(t3) { - return decodeURIComponent(escape(e2.bin.bytesToString(t3))); - } }, bin: { stringToBytes: function(t3) { - for (var e3 = [], n2 = 0; n2 < t3.length; n2++) e3.push(255 & t3.charCodeAt(n2)); - return e3; - }, bytesToString: function(t3) { - for (var e3 = [], n2 = 0; n2 < t3.length; n2++) e3.push(String.fromCharCode(t3[n2])); - return e3.join(""); - } } }; - t2.exports = e2; -}, 298: (t2) => { - var e2, n2; - e2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n2 = { rotl: function(t3, e3) { - return t3 << e3 | t3 >>> 32 - e3; - }, rotr: function(t3, e3) { - return t3 << 32 - e3 | t3 >>> e3; - }, endian: function(t3) { - if (t3.constructor == Number) return 16711935 & n2.rotl(t3, 8) | 4278255360 & n2.rotl(t3, 24); - for (var e3 = 0; e3 < t3.length; e3++) t3[e3] = n2.endian(t3[e3]); - return t3; - }, randomBytes: function(t3) { - for (var e3 = []; t3 > 0; t3--) e3.push(Math.floor(256 * Math.random())); - return e3; - }, bytesToWords: function(t3) { - for (var e3 = [], n3 = 0, r2 = 0; n3 < t3.length; n3++, r2 += 8) e3[r2 >>> 5] |= t3[n3] << 24 - r2 % 32; - return e3; - }, wordsToBytes: function(t3) { - for (var e3 = [], n3 = 0; n3 < 32 * t3.length; n3 += 8) e3.push(t3[n3 >>> 5] >>> 24 - n3 % 32 & 255); - return e3; - }, bytesToHex: function(t3) { - for (var e3 = [], n3 = 0; n3 < t3.length; n3++) e3.push((t3[n3] >>> 4).toString(16)), e3.push((15 & t3[n3]).toString(16)); - return e3.join(""); - }, hexToBytes: function(t3) { - for (var e3 = [], n3 = 0; n3 < t3.length; n3 += 2) e3.push(parseInt(t3.substr(n3, 2), 16)); - return e3; - }, bytesToBase64: function(t3) { - for (var n3 = [], r2 = 0; r2 < t3.length; r2 += 3) for (var o2 = t3[r2] << 16 | t3[r2 + 1] << 8 | t3[r2 + 2], i2 = 0; i2 < 4; i2++) 8 * r2 + 6 * i2 <= 8 * t3.length ? n3.push(e2.charAt(o2 >>> 6 * (3 - i2) & 63)) : n3.push("="); - return n3.join(""); - }, base64ToBytes: function(t3) { - t3 = t3.replace(/[^A-Z0-9+\/]/gi, ""); - for (var n3 = [], r2 = 0, o2 = 0; r2 < t3.length; o2 = ++r2 % 4) 0 != o2 && n3.push((e2.indexOf(t3.charAt(r2 - 1)) & Math.pow(2, -2 * o2 + 8) - 1) << 2 * o2 | e2.indexOf(t3.charAt(r2)) >>> 6 - 2 * o2); - return n3; - } }, t2.exports = n2; -}, 635: (t2, e2, n2) => { - const r2 = n2(31), o2 = n2(338), i2 = n2(221); - t2.exports = { XMLParser: o2, XMLValidator: r2, XMLBuilder: i2 }; -}, 705: (t2, e2) => { - const n2 = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", r2 = "[" + n2 + "][" + n2 + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*", o2 = new RegExp("^" + r2 + "$"); - e2.isExist = function(t3) { - return void 0 !== t3; - }, e2.isEmptyObject = function(t3) { - return 0 === Object.keys(t3).length; - }, e2.merge = function(t3, e3, n3) { - if (e3) { - const r3 = Object.keys(e3), o3 = r3.length; - for (let i2 = 0; i2 < o3; i2++) t3[r3[i2]] = "strict" === n3 ? [e3[r3[i2]]] : e3[r3[i2]]; - } - }, e2.getValue = function(t3) { - return e2.isExist(t3) ? t3 : ""; - }, e2.isName = function(t3) { - return !(null == o2.exec(t3)); - }, e2.getAllMatches = function(t3, e3) { - const n3 = []; - let r3 = e3.exec(t3); - for (; r3; ) { - const o3 = []; - o3.startIndex = e3.lastIndex - r3[0].length; - const i2 = r3.length; - for (let t4 = 0; t4 < i2; t4++) o3.push(r3[t4]); - n3.push(o3), r3 = e3.exec(t3); - } - return n3; - }, e2.nameRegexp = r2; -}, 31: (t2, e2, n2) => { - const r2 = n2(705), o2 = { allowBooleanAttributes: false, unpairedTags: [] }; - function i2(t3) { - return " " === t3 || " " === t3 || "\n" === t3 || "\r" === t3; - } - function s2(t3, e3) { - const n3 = e3; - for (; e3 < t3.length; e3++) if ("?" != t3[e3] && " " != t3[e3]) ; - else { - const r3 = t3.substr(n3, e3 - n3); - if (e3 > 5 && "xml" === r3) return d2("InvalidXml", "XML declaration allowed only at the start of the document.", m2(t3, e3)); - if ("?" == t3[e3] && ">" == t3[e3 + 1]) { - e3++; - break; - } - } - return e3; - } - function a2(t3, e3) { - if (t3.length > e3 + 5 && "-" === t3[e3 + 1] && "-" === t3[e3 + 2]) { - for (e3 += 3; e3 < t3.length; e3++) if ("-" === t3[e3] && "-" === t3[e3 + 1] && ">" === t3[e3 + 2]) { - e3 += 2; - break; - } - } else if (t3.length > e3 + 8 && "D" === t3[e3 + 1] && "O" === t3[e3 + 2] && "C" === t3[e3 + 3] && "T" === t3[e3 + 4] && "Y" === t3[e3 + 5] && "P" === t3[e3 + 6] && "E" === t3[e3 + 7]) { - let n3 = 1; - for (e3 += 8; e3 < t3.length; e3++) if ("<" === t3[e3]) n3++; - else if (">" === t3[e3] && (n3--, 0 === n3)) break; - } else if (t3.length > e3 + 9 && "[" === t3[e3 + 1] && "C" === t3[e3 + 2] && "D" === t3[e3 + 3] && "A" === t3[e3 + 4] && "T" === t3[e3 + 5] && "A" === t3[e3 + 6] && "[" === t3[e3 + 7]) { - for (e3 += 8; e3 < t3.length; e3++) if ("]" === t3[e3] && "]" === t3[e3 + 1] && ">" === t3[e3 + 2]) { - e3 += 2; - break; - } - } - return e3; - } - e2.validate = function(t3, e3) { - e3 = Object.assign({}, o2, e3); - const n3 = []; - let u3 = false, c3 = false; - "\uFEFF" === t3[0] && (t3 = t3.substr(1)); - for (let o3 = 0; o3 < t3.length; o3++) if ("<" === t3[o3] && "?" === t3[o3 + 1]) { - if (o3 += 2, o3 = s2(t3, o3), o3.err) return o3; - } else { - if ("<" !== t3[o3]) { - if (i2(t3[o3])) continue; - return d2("InvalidChar", "char '" + t3[o3] + "' is not expected.", m2(t3, o3)); - } - { - let g3 = o3; - if (o3++, "!" === t3[o3]) { - o3 = a2(t3, o3); - continue; - } - { - let y3 = false; - "/" === t3[o3] && (y3 = true, o3++); - let v2 = ""; - for (; o3 < t3.length && ">" !== t3[o3] && " " !== t3[o3] && " " !== t3[o3] && "\n" !== t3[o3] && "\r" !== t3[o3]; o3++) v2 += t3[o3]; - if (v2 = v2.trim(), "/" === v2[v2.length - 1] && (v2 = v2.substring(0, v2.length - 1), o3--), h3 = v2, !r2.isName(h3)) { - let e4; - return e4 = 0 === v2.trim().length ? "Invalid space after '<'." : "Tag '" + v2 + "' is an invalid name.", d2("InvalidTag", e4, m2(t3, o3)); - } - const b2 = l2(t3, o3); - if (false === b2) return d2("InvalidAttr", "Attributes for '" + v2 + "' have open quote.", m2(t3, o3)); - let w2 = b2.value; - if (o3 = b2.index, "/" === w2[w2.length - 1]) { - const n4 = o3 - w2.length; - w2 = w2.substring(0, w2.length - 1); - const r3 = p2(w2, e3); - if (true !== r3) return d2(r3.err.code, r3.err.msg, m2(t3, n4 + r3.err.line)); - u3 = true; - } else if (y3) { - if (!b2.tagClosed) return d2("InvalidTag", "Closing tag '" + v2 + "' doesn't have proper closing.", m2(t3, o3)); - if (w2.trim().length > 0) return d2("InvalidTag", "Closing tag '" + v2 + "' can't have attributes or invalid starting.", m2(t3, g3)); - if (0 === n3.length) return d2("InvalidTag", "Closing tag '" + v2 + "' has not been opened.", m2(t3, g3)); - { - const e4 = n3.pop(); - if (v2 !== e4.tagName) { - let n4 = m2(t3, e4.tagStartPos); - return d2("InvalidTag", "Expected closing tag '" + e4.tagName + "' (opened in line " + n4.line + ", col " + n4.col + ") instead of closing tag '" + v2 + "'.", m2(t3, g3)); - } - 0 == n3.length && (c3 = true); - } - } else { - const r3 = p2(w2, e3); - if (true !== r3) return d2(r3.err.code, r3.err.msg, m2(t3, o3 - w2.length + r3.err.line)); - if (true === c3) return d2("InvalidXml", "Multiple possible root nodes found.", m2(t3, o3)); - -1 !== e3.unpairedTags.indexOf(v2) || n3.push({ tagName: v2, tagStartPos: g3 }), u3 = true; - } - for (o3++; o3 < t3.length; o3++) if ("<" === t3[o3]) { - if ("!" === t3[o3 + 1]) { - o3++, o3 = a2(t3, o3); - continue; - } - if ("?" !== t3[o3 + 1]) break; - if (o3 = s2(t3, ++o3), o3.err) return o3; - } else if ("&" === t3[o3]) { - const e4 = f2(t3, o3); - if (-1 == e4) return d2("InvalidChar", "char '&' is not expected.", m2(t3, o3)); - o3 = e4; - } else if (true === c3 && !i2(t3[o3])) return d2("InvalidXml", "Extra text at the end", m2(t3, o3)); - "<" === t3[o3] && o3--; - } - } - } - var h3; - return u3 ? 1 == n3.length ? d2("InvalidTag", "Unclosed tag '" + n3[0].tagName + "'.", m2(t3, n3[0].tagStartPos)) : !(n3.length > 0) || d2("InvalidXml", "Invalid '" + JSON.stringify(n3.map((t4) => t4.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : d2("InvalidXml", "Start tag expected.", 1); - }; - const u2 = '"', c2 = "'"; - function l2(t3, e3) { - let n3 = "", r3 = "", o3 = false; - for (; e3 < t3.length; e3++) { - if (t3[e3] === u2 || t3[e3] === c2) "" === r3 ? r3 = t3[e3] : r3 !== t3[e3] || (r3 = ""); - else if (">" === t3[e3] && "" === r3) { - o3 = true; - break; - } - n3 += t3[e3]; - } - return "" === r3 && { value: n3, index: e3, tagClosed: o3 }; - } - const h2 = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g"); - function p2(t3, e3) { - const n3 = r2.getAllMatches(t3, h2), o3 = {}; - for (let t4 = 0; t4 < n3.length; t4++) { - if (0 === n3[t4][1].length) return d2("InvalidAttr", "Attribute '" + n3[t4][2] + "' has no space in starting.", y2(n3[t4])); - if (void 0 !== n3[t4][3] && void 0 === n3[t4][4]) return d2("InvalidAttr", "Attribute '" + n3[t4][2] + "' is without value.", y2(n3[t4])); - if (void 0 === n3[t4][3] && !e3.allowBooleanAttributes) return d2("InvalidAttr", "boolean attribute '" + n3[t4][2] + "' is not allowed.", y2(n3[t4])); - const r3 = n3[t4][2]; - if (!g2(r3)) return d2("InvalidAttr", "Attribute '" + r3 + "' is an invalid name.", y2(n3[t4])); - if (o3.hasOwnProperty(r3)) return d2("InvalidAttr", "Attribute '" + r3 + "' is repeated.", y2(n3[t4])); - o3[r3] = 1; - } - return true; - } - function f2(t3, e3) { - if (";" === t3[++e3]) return -1; - if ("#" === t3[e3]) return function(t4, e4) { - let n4 = /\d/; - for ("x" === t4[e4] && (e4++, n4 = /[\da-fA-F]/); e4 < t4.length; e4++) { - if (";" === t4[e4]) return e4; - if (!t4[e4].match(n4)) break; - } - return -1; - }(t3, ++e3); - let n3 = 0; - for (; e3 < t3.length; e3++, n3++) if (!(t3[e3].match(/\w/) && n3 < 20)) { - if (";" === t3[e3]) break; - return -1; - } - return e3; - } - function d2(t3, e3, n3) { - return { err: { code: t3, msg: e3, line: n3.line || n3, col: n3.col } }; - } - function g2(t3) { - return r2.isName(t3); - } - function m2(t3, e3) { - const n3 = t3.substring(0, e3).split(/\r?\n/); - return { line: n3.length, col: n3[n3.length - 1].length + 1 }; - } - function y2(t3) { - return t3.startIndex + t3[1].length; - } -}, 221: (t2, e2, n2) => { - const r2 = n2(87), o2 = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: " ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t3, e3) { - return e3; - }, attributeValueProcessor: function(t3, e3) { - return e3; - }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false }; - function i2(t3) { - this.options = Object.assign({}, o2, t3), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() { - return false; - } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = u2), this.processTextOrObjNode = s2, this.options.format ? (this.indentate = a2, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() { - return ""; - }, this.tagEndChar = ">", this.newLine = ""); - } - function s2(t3, e3, n3) { - const r3 = this.j2x(t3, n3 + 1); - return void 0 !== t3[this.options.textNodeName] && 1 === Object.keys(t3).length ? this.buildTextValNode(t3[this.options.textNodeName], e3, r3.attrStr, n3) : this.buildObjectNode(r3.val, e3, r3.attrStr, n3); - } - function a2(t3) { - return this.options.indentBy.repeat(t3); - } - function u2(t3) { - return !(!t3.startsWith(this.options.attributeNamePrefix) || t3 === this.options.textNodeName) && t3.substr(this.attrPrefixLen); - } - i2.prototype.build = function(t3) { - return this.options.preserveOrder ? r2(t3, this.options) : (Array.isArray(t3) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t3 = { [this.options.arrayNodeName]: t3 }), this.j2x(t3, 0).val); - }, i2.prototype.j2x = function(t3, e3) { - let n3 = "", r3 = ""; - for (let o3 in t3) if (Object.prototype.hasOwnProperty.call(t3, o3)) if (void 0 === t3[o3]) this.isAttribute(o3) && (r3 += ""); - else if (null === t3[o3]) this.isAttribute(o3) ? r3 += "" : "?" === o3[0] ? r3 += this.indentate(e3) + "<" + o3 + "?" + this.tagEndChar : r3 += this.indentate(e3) + "<" + o3 + "/" + this.tagEndChar; - else if (t3[o3] instanceof Date) r3 += this.buildTextValNode(t3[o3], o3, "", e3); - else if ("object" != typeof t3[o3]) { - const i3 = this.isAttribute(o3); - if (i3) n3 += this.buildAttrPairStr(i3, "" + t3[o3]); - else if (o3 === this.options.textNodeName) { - let e4 = this.options.tagValueProcessor(o3, "" + t3[o3]); - r3 += this.replaceEntitiesValue(e4); - } else r3 += this.buildTextValNode(t3[o3], o3, "", e3); - } else if (Array.isArray(t3[o3])) { - const n4 = t3[o3].length; - let i3 = "", s3 = ""; - for (let a3 = 0; a3 < n4; a3++) { - const n5 = t3[o3][a3]; - if (void 0 === n5) ; - else if (null === n5) "?" === o3[0] ? r3 += this.indentate(e3) + "<" + o3 + "?" + this.tagEndChar : r3 += this.indentate(e3) + "<" + o3 + "/" + this.tagEndChar; - else if ("object" == typeof n5) if (this.options.oneListGroup) { - const t4 = this.j2x(n5, e3 + 1); - i3 += t4.val, this.options.attributesGroupName && n5.hasOwnProperty(this.options.attributesGroupName) && (s3 += t4.attrStr); - } else i3 += this.processTextOrObjNode(n5, o3, e3); - else if (this.options.oneListGroup) { - let t4 = this.options.tagValueProcessor(o3, n5); - t4 = this.replaceEntitiesValue(t4), i3 += t4; - } else i3 += this.buildTextValNode(n5, o3, "", e3); - } - this.options.oneListGroup && (i3 = this.buildObjectNode(i3, o3, s3, e3)), r3 += i3; - } else if (this.options.attributesGroupName && o3 === this.options.attributesGroupName) { - const e4 = Object.keys(t3[o3]), r4 = e4.length; - for (let i3 = 0; i3 < r4; i3++) n3 += this.buildAttrPairStr(e4[i3], "" + t3[o3][e4[i3]]); - } else r3 += this.processTextOrObjNode(t3[o3], o3, e3); - return { attrStr: n3, val: r3 }; - }, i2.prototype.buildAttrPairStr = function(t3, e3) { - return e3 = this.options.attributeValueProcessor(t3, "" + e3), e3 = this.replaceEntitiesValue(e3), this.options.suppressBooleanAttributes && "true" === e3 ? " " + t3 : " " + t3 + '="' + e3 + '"'; - }, i2.prototype.buildObjectNode = function(t3, e3, n3, r3) { - if ("" === t3) return "?" === e3[0] ? this.indentate(r3) + "<" + e3 + n3 + "?" + this.tagEndChar : this.indentate(r3) + "<" + e3 + n3 + this.closeTag(e3) + this.tagEndChar; - { - let o3 = "` + this.newLine : this.indentate(r3) + "<" + e3 + n3 + i3 + this.tagEndChar + t3 + this.indentate(r3) + o3 : this.indentate(r3) + "<" + e3 + n3 + i3 + ">" + t3 + o3; - } - }, i2.prototype.closeTag = function(t3) { - let e3 = ""; - return -1 !== this.options.unpairedTags.indexOf(t3) ? this.options.suppressUnpairedNode || (e3 = "/") : e3 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine; - if (false !== this.options.commentPropName && e3 === this.options.commentPropName) return this.indentate(r3) + `` + this.newLine; - if ("?" === e3[0]) return this.indentate(r3) + "<" + e3 + n3 + "?" + this.tagEndChar; - { - let o3 = this.options.tagValueProcessor(e3, t3); - return o3 = this.replaceEntitiesValue(o3), "" === o3 ? this.indentate(r3) + "<" + e3 + n3 + this.closeTag(e3) + this.tagEndChar : this.indentate(r3) + "<" + e3 + n3 + ">" + o3 + " 0 && this.options.processEntities) for (let e3 = 0; e3 < this.options.entities.length; e3++) { - const n3 = this.options.entities[e3]; - t3 = t3.replace(n3.regex, n3.val); - } - return t3; - }, t2.exports = i2; -}, 87: (t2) => { - function e2(t3, s2, a2, u2) { - let c2 = "", l2 = false; - for (let h2 = 0; h2 < t3.length; h2++) { - const p2 = t3[h2], f2 = n2(p2); - if (void 0 === f2) continue; - let d2 = ""; - if (d2 = 0 === a2.length ? f2 : `${a2}.${f2}`, f2 === s2.textNodeName) { - let t4 = p2[f2]; - o2(d2, s2) || (t4 = s2.tagValueProcessor(f2, t4), t4 = i2(t4, s2)), l2 && (c2 += u2), c2 += t4, l2 = false; - continue; - } - if (f2 === s2.cdataPropName) { - l2 && (c2 += u2), c2 += ``, l2 = false; - continue; - } - if (f2 === s2.commentPropName) { - c2 += u2 + ``, l2 = true; - continue; - } - if ("?" === f2[0]) { - const t4 = r2(p2[":@"], s2), e3 = "?xml" === f2 ? "" : u2; - let n3 = p2[f2][0][s2.textNodeName]; - n3 = 0 !== n3.length ? " " + n3 : "", c2 += e3 + `<${f2}${n3}${t4}?>`, l2 = true; - continue; - } - let g2 = u2; - "" !== g2 && (g2 += s2.indentBy); - const m2 = u2 + `<${f2}${r2(p2[":@"], s2)}`, y2 = e2(p2[f2], s2, d2, g2); - -1 !== s2.unpairedTags.indexOf(f2) ? s2.suppressUnpairedNode ? c2 += m2 + ">" : c2 += m2 + "/>" : y2 && 0 !== y2.length || !s2.suppressEmptyNode ? y2 && y2.endsWith(">") ? c2 += m2 + `>${y2}${u2}` : (c2 += m2 + ">", y2 && "" !== u2 && (y2.includes("/>") || y2.includes("`) : c2 += m2 + "/>", l2 = true; - } - return c2; - } - function n2(t3) { - const e3 = Object.keys(t3); - for (let n3 = 0; n3 < e3.length; n3++) { - const r3 = e3[n3]; - if (t3.hasOwnProperty(r3) && ":@" !== r3) return r3; - } - } - function r2(t3, e3) { - let n3 = ""; - if (t3 && !e3.ignoreAttributes) for (let r3 in t3) { - if (!t3.hasOwnProperty(r3)) continue; - let o3 = e3.attributeValueProcessor(r3, t3[r3]); - o3 = i2(o3, e3), true === o3 && e3.suppressBooleanAttributes ? n3 += ` ${r3.substr(e3.attributeNamePrefix.length)}` : n3 += ` ${r3.substr(e3.attributeNamePrefix.length)}="${o3}"`; - } - return n3; - } - function o2(t3, e3) { - let n3 = (t3 = t3.substr(0, t3.length - e3.textNodeName.length - 1)).substr(t3.lastIndexOf(".") + 1); - for (let r3 in e3.stopNodes) if (e3.stopNodes[r3] === t3 || e3.stopNodes[r3] === "*." + n3) return true; - return false; - } - function i2(t3, e3) { - if (t3 && t3.length > 0 && e3.processEntities) for (let n3 = 0; n3 < e3.entities.length; n3++) { - const r3 = e3.entities[n3]; - t3 = t3.replace(r3.regex, r3.val); - } - return t3; - } - t2.exports = function(t3, n3) { - let r3 = ""; - return n3.format && n3.indentBy.length > 0 && (r3 = "\n"), e2(t3, n3, "", r3); - }; -}, 193: (t2, e2, n2) => { - const r2 = n2(705); - function o2(t3, e3) { - let n3 = ""; - for (; e3 < t3.length && "'" !== t3[e3] && '"' !== t3[e3]; e3++) n3 += t3[e3]; - if (n3 = n3.trim(), -1 !== n3.indexOf(" ")) throw new Error("External entites are not supported"); - const r3 = t3[e3++]; - let o3 = ""; - for (; e3 < t3.length && t3[e3] !== r3; e3++) o3 += t3[e3]; - return [n3, o3, e3]; - } - function i2(t3, e3) { - return "!" === t3[e3 + 1] && "-" === t3[e3 + 2] && "-" === t3[e3 + 3]; - } - function s2(t3, e3) { - return "!" === t3[e3 + 1] && "E" === t3[e3 + 2] && "N" === t3[e3 + 3] && "T" === t3[e3 + 4] && "I" === t3[e3 + 5] && "T" === t3[e3 + 6] && "Y" === t3[e3 + 7]; - } - function a2(t3, e3) { - return "!" === t3[e3 + 1] && "E" === t3[e3 + 2] && "L" === t3[e3 + 3] && "E" === t3[e3 + 4] && "M" === t3[e3 + 5] && "E" === t3[e3 + 6] && "N" === t3[e3 + 7] && "T" === t3[e3 + 8]; - } - function u2(t3, e3) { - return "!" === t3[e3 + 1] && "A" === t3[e3 + 2] && "T" === t3[e3 + 3] && "T" === t3[e3 + 4] && "L" === t3[e3 + 5] && "I" === t3[e3 + 6] && "S" === t3[e3 + 7] && "T" === t3[e3 + 8]; - } - function c2(t3, e3) { - return "!" === t3[e3 + 1] && "N" === t3[e3 + 2] && "O" === t3[e3 + 3] && "T" === t3[e3 + 4] && "A" === t3[e3 + 5] && "T" === t3[e3 + 6] && "I" === t3[e3 + 7] && "O" === t3[e3 + 8] && "N" === t3[e3 + 9]; - } - function l2(t3) { - if (r2.isName(t3)) return t3; - throw new Error(`Invalid entity name ${t3}`); - } - t2.exports = function(t3, e3) { - const n3 = {}; - if ("O" !== t3[e3 + 3] || "C" !== t3[e3 + 4] || "T" !== t3[e3 + 5] || "Y" !== t3[e3 + 6] || "P" !== t3[e3 + 7] || "E" !== t3[e3 + 8]) throw new Error("Invalid Tag instead of DOCTYPE"); - { - e3 += 9; - let r3 = 1, h2 = false, p2 = false, f2 = ""; - for (; e3 < t3.length; e3++) if ("<" !== t3[e3] || p2) if (">" === t3[e3]) { - if (p2 ? "-" === t3[e3 - 1] && "-" === t3[e3 - 2] && (p2 = false, r3--) : r3--, 0 === r3) break; - } else "[" === t3[e3] ? h2 = true : f2 += t3[e3]; - else { - if (h2 && s2(t3, e3)) e3 += 7, [entityName, val, e3] = o2(t3, e3 + 1), -1 === val.indexOf("&") && (n3[l2(entityName)] = { regx: RegExp(`&${entityName};`, "g"), val }); - else if (h2 && a2(t3, e3)) e3 += 8; - else if (h2 && u2(t3, e3)) e3 += 8; - else if (h2 && c2(t3, e3)) e3 += 9; - else { - if (!i2) throw new Error("Invalid DOCTYPE"); - p2 = true; - } - r3++, f2 = ""; - } - if (0 !== r3) throw new Error("Unclosed DOCTYPE"); - } - return { entities: n3, i: e3 }; - }; -}, 63: (t2, e2) => { - const n2 = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t3, e3) { - return e3; - }, attributeValueProcessor: function(t3, e3) { - return e3; - }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t3, e3, n3) { - return t3; - } }; - e2.buildOptions = function(t3) { - return Object.assign({}, n2, t3); - }, e2.defaultOptions = n2; -}, 299: (t2, e2, n2) => { - const r2 = n2(705), o2 = n2(365), i2 = n2(193), s2 = n2(494); - function a2(t3) { - const e3 = Object.keys(t3); - for (let n3 = 0; n3 < e3.length; n3++) { - const r3 = e3[n3]; - this.lastEntities[r3] = { regex: new RegExp("&" + r3 + ";", "g"), val: t3[r3] }; - } - } - function u2(t3, e3, n3, r3, o3, i3, s3) { - if (void 0 !== t3 && (this.options.trimValues && !r3 && (t3 = t3.trim()), t3.length > 0)) { - s3 || (t3 = this.replaceEntitiesValue(t3)); - const r4 = this.options.tagValueProcessor(e3, t3, n3, o3, i3); - return null == r4 ? t3 : typeof r4 != typeof t3 || r4 !== t3 ? r4 : this.options.trimValues || t3.trim() === t3 ? w2(t3, this.options.parseTagValue, this.options.numberParseOptions) : t3; - } - } - function c2(t3) { - if (this.options.removeNSPrefix) { - const e3 = t3.split(":"), n3 = "/" === t3.charAt(0) ? "/" : ""; - if ("xmlns" === e3[0]) return ""; - 2 === e3.length && (t3 = n3 + e3[1]); - } - return t3; - } - const l2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm"); - function h2(t3, e3, n3) { - if (!this.options.ignoreAttributes && "string" == typeof t3) { - const n4 = r2.getAllMatches(t3, l2), o3 = n4.length, i3 = {}; - for (let t4 = 0; t4 < o3; t4++) { - const r3 = this.resolveNameSpace(n4[t4][1]); - let o4 = n4[t4][4], s3 = this.options.attributeNamePrefix + r3; - if (r3.length) if (this.options.transformAttributeName && (s3 = this.options.transformAttributeName(s3)), "__proto__" === s3 && (s3 = "#__proto__"), void 0 !== o4) { - this.options.trimValues && (o4 = o4.trim()), o4 = this.replaceEntitiesValue(o4); - const t5 = this.options.attributeValueProcessor(r3, o4, e3); - i3[s3] = null == t5 ? o4 : typeof t5 != typeof o4 || t5 !== o4 ? t5 : w2(o4, this.options.parseAttributeValue, this.options.numberParseOptions); - } else this.options.allowBooleanAttributes && (i3[s3] = true); - } - if (!Object.keys(i3).length) return; - if (this.options.attributesGroupName) { - const t4 = {}; - return t4[this.options.attributesGroupName] = i3, t4; - } - return i3; - } - } - const p2 = function(t3) { - t3 = t3.replace(/\r\n?/g, "\n"); - const e3 = new o2("!xml"); - let n3 = e3, r3 = "", s3 = ""; - for (let a3 = 0; a3 < t3.length; a3++) if ("<" === t3[a3]) if ("/" === t3[a3 + 1]) { - const e4 = y2(t3, ">", a3, "Closing Tag is not closed."); - let o3 = t3.substring(a3 + 2, e4).trim(); - if (this.options.removeNSPrefix) { - const t4 = o3.indexOf(":"); - -1 !== t4 && (o3 = o3.substr(t4 + 1)); - } - this.options.transformTagName && (o3 = this.options.transformTagName(o3)), n3 && (r3 = this.saveTextToParentTag(r3, n3, s3)); - const i3 = s3.substring(s3.lastIndexOf(".") + 1); - if (o3 && -1 !== this.options.unpairedTags.indexOf(o3)) throw new Error(`Unpaired tag can not be used as closing tag: `); - let u3 = 0; - i3 && -1 !== this.options.unpairedTags.indexOf(i3) ? (u3 = s3.lastIndexOf(".", s3.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : u3 = s3.lastIndexOf("."), s3 = s3.substring(0, u3), n3 = this.tagsNodeStack.pop(), r3 = "", a3 = e4; - } else if ("?" === t3[a3 + 1]) { - let e4 = v2(t3, a3, false, "?>"); - if (!e4) throw new Error("Pi Tag is not closed."); - if (r3 = this.saveTextToParentTag(r3, n3, s3), this.options.ignoreDeclaration && "?xml" === e4.tagName || this.options.ignorePiTags) ; - else { - const t4 = new o2(e4.tagName); - t4.add(this.options.textNodeName, ""), e4.tagName !== e4.tagExp && e4.attrExpPresent && (t4[":@"] = this.buildAttributesMap(e4.tagExp, s3, e4.tagName)), this.addChild(n3, t4, s3); - } - a3 = e4.closeIndex + 1; - } else if ("!--" === t3.substr(a3 + 1, 3)) { - const e4 = y2(t3, "-->", a3 + 4, "Comment is not closed."); - if (this.options.commentPropName) { - const o3 = t3.substring(a3 + 4, e4 - 2); - r3 = this.saveTextToParentTag(r3, n3, s3), n3.add(this.options.commentPropName, [{ [this.options.textNodeName]: o3 }]); - } - a3 = e4; - } else if ("!D" === t3.substr(a3 + 1, 2)) { - const e4 = i2(t3, a3); - this.docTypeEntities = e4.entities, a3 = e4.i; - } else if ("![" === t3.substr(a3 + 1, 2)) { - const e4 = y2(t3, "]]>", a3, "CDATA is not closed.") - 2, o3 = t3.substring(a3 + 9, e4); - r3 = this.saveTextToParentTag(r3, n3, s3); - let i3 = this.parseTextData(o3, n3.tagname, s3, true, false, true, true); - null == i3 && (i3 = ""), this.options.cdataPropName ? n3.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o3 }]) : n3.add(this.options.textNodeName, i3), a3 = e4 + 2; - } else { - let i3 = v2(t3, a3, this.options.removeNSPrefix), u3 = i3.tagName; - const c3 = i3.rawTagName; - let l3 = i3.tagExp, h3 = i3.attrExpPresent, p3 = i3.closeIndex; - this.options.transformTagName && (u3 = this.options.transformTagName(u3)), n3 && r3 && "!xml" !== n3.tagname && (r3 = this.saveTextToParentTag(r3, n3, s3, false)); - const f3 = n3; - if (f3 && -1 !== this.options.unpairedTags.indexOf(f3.tagname) && (n3 = this.tagsNodeStack.pop(), s3 = s3.substring(0, s3.lastIndexOf("."))), u3 !== e3.tagname && (s3 += s3 ? "." + u3 : u3), this.isItStopNode(this.options.stopNodes, s3, u3)) { - let e4 = ""; - if (l3.length > 0 && l3.lastIndexOf("/") === l3.length - 1) "/" === u3[u3.length - 1] ? (u3 = u3.substr(0, u3.length - 1), s3 = s3.substr(0, s3.length - 1), l3 = u3) : l3 = l3.substr(0, l3.length - 1), a3 = i3.closeIndex; - else if (-1 !== this.options.unpairedTags.indexOf(u3)) a3 = i3.closeIndex; - else { - const n4 = this.readStopNodeData(t3, c3, p3 + 1); - if (!n4) throw new Error(`Unexpected end of ${c3}`); - a3 = n4.i, e4 = n4.tagContent; - } - const r4 = new o2(u3); - u3 !== l3 && h3 && (r4[":@"] = this.buildAttributesMap(l3, s3, u3)), e4 && (e4 = this.parseTextData(e4, u3, s3, true, h3, true, true)), s3 = s3.substr(0, s3.lastIndexOf(".")), r4.add(this.options.textNodeName, e4), this.addChild(n3, r4, s3); - } else { - if (l3.length > 0 && l3.lastIndexOf("/") === l3.length - 1) { - "/" === u3[u3.length - 1] ? (u3 = u3.substr(0, u3.length - 1), s3 = s3.substr(0, s3.length - 1), l3 = u3) : l3 = l3.substr(0, l3.length - 1), this.options.transformTagName && (u3 = this.options.transformTagName(u3)); - const t4 = new o2(u3); - u3 !== l3 && h3 && (t4[":@"] = this.buildAttributesMap(l3, s3, u3)), this.addChild(n3, t4, s3), s3 = s3.substr(0, s3.lastIndexOf(".")); - } else { - const t4 = new o2(u3); - this.tagsNodeStack.push(n3), u3 !== l3 && h3 && (t4[":@"] = this.buildAttributesMap(l3, s3, u3)), this.addChild(n3, t4, s3), n3 = t4; - } - r3 = "", a3 = p3; - } - } - else r3 += t3[a3]; - return e3.child; - }; - function f2(t3, e3, n3) { - const r3 = this.options.updateTag(e3.tagname, n3, e3[":@"]); - false === r3 || ("string" == typeof r3 ? (e3.tagname = r3, t3.addChild(e3)) : t3.addChild(e3)); - } - const d2 = function(t3) { - if (this.options.processEntities) { - for (let e3 in this.docTypeEntities) { - const n3 = this.docTypeEntities[e3]; - t3 = t3.replace(n3.regx, n3.val); - } - for (let e3 in this.lastEntities) { - const n3 = this.lastEntities[e3]; - t3 = t3.replace(n3.regex, n3.val); - } - if (this.options.htmlEntities) for (let e3 in this.htmlEntities) { - const n3 = this.htmlEntities[e3]; - t3 = t3.replace(n3.regex, n3.val); - } - t3 = t3.replace(this.ampEntity.regex, this.ampEntity.val); - } - return t3; - }; - function g2(t3, e3, n3, r3) { - return t3 && (void 0 === r3 && (r3 = 0 === Object.keys(e3.child).length), void 0 !== (t3 = this.parseTextData(t3, e3.tagname, n3, false, !!e3[":@"] && 0 !== Object.keys(e3[":@"]).length, r3)) && "" !== t3 && e3.add(this.options.textNodeName, t3), t3 = ""), t3; - } - function m2(t3, e3, n3) { - const r3 = "*." + n3; - for (const n4 in t3) { - const o3 = t3[n4]; - if (r3 === o3 || e3 === o3) return true; - } - return false; - } - function y2(t3, e3, n3, r3) { - const o3 = t3.indexOf(e3, n3); - if (-1 === o3) throw new Error(r3); - return o3 + e3.length - 1; - } - function v2(t3, e3, n3) { - const r3 = function(t4, e4) { - let n4, r4 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ">", o4 = ""; - for (let i4 = e4; i4 < t4.length; i4++) { - let e5 = t4[i4]; - if (n4) e5 === n4 && (n4 = ""); - else if ('"' === e5 || "'" === e5) n4 = e5; - else if (e5 === r4[0]) { - if (!r4[1]) return { data: o4, index: i4 }; - if (t4[i4 + 1] === r4[1]) return { data: o4, index: i4 }; - } else " " === e5 && (e5 = " "); - o4 += e5; - } - }(t3, e3 + 1, arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : ">"); - if (!r3) return; - let o3 = r3.data; - const i3 = r3.index, s3 = o3.search(/\s/); - let a3 = o3, u3 = true; - -1 !== s3 && (a3 = o3.substring(0, s3), o3 = o3.substring(s3 + 1).trimStart()); - const c3 = a3; - if (n3) { - const t4 = a3.indexOf(":"); - -1 !== t4 && (a3 = a3.substr(t4 + 1), u3 = a3 !== r3.data.substr(t4 + 1)); - } - return { tagName: a3, tagExp: o3, closeIndex: i3, attrExpPresent: u3, rawTagName: c3 }; - } - function b2(t3, e3, n3) { - const r3 = n3; - let o3 = 1; - for (; n3 < t3.length; n3++) if ("<" === t3[n3]) if ("/" === t3[n3 + 1]) { - const i3 = y2(t3, ">", n3, `${e3} is not closed`); - if (t3.substring(n3 + 2, i3).trim() === e3 && (o3--, 0 === o3)) return { tagContent: t3.substring(r3, n3), i: i3 }; - n3 = i3; - } else if ("?" === t3[n3 + 1]) n3 = y2(t3, "?>", n3 + 1, "StopNode is not closed."); - else if ("!--" === t3.substr(n3 + 1, 3)) n3 = y2(t3, "-->", n3 + 3, "StopNode is not closed."); - else if ("![" === t3.substr(n3 + 1, 2)) n3 = y2(t3, "]]>", n3, "StopNode is not closed.") - 2; - else { - const r4 = v2(t3, n3, ">"); - r4 && ((r4 && r4.tagName) === e3 && "/" !== r4.tagExp[r4.tagExp.length - 1] && o3++, n3 = r4.closeIndex); - } - } - function w2(t3, e3, n3) { - if (e3 && "string" == typeof t3) { - const e4 = t3.trim(); - return "true" === e4 || "false" !== e4 && s2(t3, n3); - } - return r2.isExist(t3) ? t3 : ""; - } - t2.exports = class { - constructor(t3) { - this.options = t3, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "¢" }, pound: { regex: /&(pound|#163);/g, val: "£" }, yen: { regex: /&(yen|#165);/g, val: "¥" }, euro: { regex: /&(euro|#8364);/g, val: "€" }, copyright: { regex: /&(copy|#169);/g, val: "©" }, reg: { regex: /&(reg|#174);/g, val: "®" }, inr: { regex: /&(inr|#8377);/g, val: "₹" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t4, e3) => String.fromCharCode(Number.parseInt(e3, 10)) }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t4, e3) => String.fromCharCode(Number.parseInt(e3, 16)) } }, this.addExternalEntities = a2, this.parseXml = p2, this.parseTextData = u2, this.resolveNameSpace = c2, this.buildAttributesMap = h2, this.isItStopNode = m2, this.replaceEntitiesValue = d2, this.readStopNodeData = b2, this.saveTextToParentTag = g2, this.addChild = f2; - } - }; -}, 338: (t2, e2, n2) => { - const { buildOptions: r2 } = n2(63), o2 = n2(299), { prettify: i2 } = n2(728), s2 = n2(31); - t2.exports = class { - constructor(t3) { - this.externalEntities = {}, this.options = r2(t3); - } - parse(t3, e3) { - if ("string" == typeof t3) ; - else { - if (!t3.toString) throw new Error("XML data is accepted in String or Bytes[] form."); - t3 = t3.toString(); - } - if (e3) { - true === e3 && (e3 = {}); - const n4 = s2.validate(t3, e3); - if (true !== n4) throw Error(`${n4.err.msg}:${n4.err.line}:${n4.err.col}`); - } - const n3 = new o2(this.options); - n3.addExternalEntities(this.externalEntities); - const r3 = n3.parseXml(t3); - return this.options.preserveOrder || void 0 === r3 ? r3 : i2(r3, this.options); - } - addEntity(t3, e3) { - if (-1 !== e3.indexOf("&")) throw new Error("Entity value can't have '&'"); - if (-1 !== t3.indexOf("&") || -1 !== t3.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '"); - if ("&" === e3) throw new Error("An entity with value '&' is not permitted"); - this.externalEntities[t3] = e3; - } - }; -}, 728: (t2, e2) => { - function n2(t3, e3, s2) { - let a2; - const u2 = {}; - for (let c2 = 0; c2 < t3.length; c2++) { - const l2 = t3[c2], h2 = r2(l2); - let p2 = ""; - if (p2 = void 0 === s2 ? h2 : s2 + "." + h2, h2 === e3.textNodeName) void 0 === a2 ? a2 = l2[h2] : a2 += "" + l2[h2]; - else { - if (void 0 === h2) continue; - if (l2[h2]) { - let t4 = n2(l2[h2], e3, p2); - const r3 = i2(t4, e3); - l2[":@"] ? o2(t4, l2[":@"], p2, e3) : 1 !== Object.keys(t4).length || void 0 === t4[e3.textNodeName] || e3.alwaysCreateTextNode ? 0 === Object.keys(t4).length && (e3.alwaysCreateTextNode ? t4[e3.textNodeName] = "" : t4 = "") : t4 = t4[e3.textNodeName], void 0 !== u2[h2] && u2.hasOwnProperty(h2) ? (Array.isArray(u2[h2]) || (u2[h2] = [u2[h2]]), u2[h2].push(t4)) : e3.isArray(h2, p2, r3) ? u2[h2] = [t4] : u2[h2] = t4; - } - } - } - return "string" == typeof a2 ? a2.length > 0 && (u2[e3.textNodeName] = a2) : void 0 !== a2 && (u2[e3.textNodeName] = a2), u2; - } - function r2(t3) { - const e3 = Object.keys(t3); - for (let t4 = 0; t4 < e3.length; t4++) { - const n3 = e3[t4]; - if (":@" !== n3) return n3; - } - } - function o2(t3, e3, n3, r3) { - if (e3) { - const o3 = Object.keys(e3), i3 = o3.length; - for (let s2 = 0; s2 < i3; s2++) { - const i4 = o3[s2]; - r3.isArray(i4, n3 + "." + i4, true, true) ? t3[i4] = [e3[i4]] : t3[i4] = e3[i4]; - } - } - } - function i2(t3, e3) { - const { textNodeName: n3 } = e3, r3 = Object.keys(t3).length; - return 0 === r3 || !(1 !== r3 || !t3[n3] && "boolean" != typeof t3[n3] && 0 !== t3[n3]); - } - e2.prettify = function(t3, e3) { - return n2(t3, e3); - }; -}, 365: (t2) => { - t2.exports = class { - constructor(t3) { - this.tagname = t3, this.child = [], this[":@"] = {}; - } - add(t3, e2) { - "__proto__" === t3 && (t3 = "#__proto__"), this.child.push({ [t3]: e2 }); - } - addChild(t3) { - "__proto__" === t3.tagname && (t3.tagname = "#__proto__"), t3[":@"] && Object.keys(t3[":@"]).length > 0 ? this.child.push({ [t3.tagname]: t3.child, ":@": t3[":@"] }) : this.child.push({ [t3.tagname]: t3.child }); - } - }; -}, 135: (t2) => { - function e2(t3) { - return !!t3.constructor && "function" == typeof t3.constructor.isBuffer && t3.constructor.isBuffer(t3); - } - t2.exports = function(t3) { - return null != t3 && (e2(t3) || function(t4) { - return "function" == typeof t4.readFloatLE && "function" == typeof t4.slice && e2(t4.slice(0, 0)); - }(t3) || !!t3._isBuffer); - }; -}, 542: (t2, e2, n2) => { - !function() { - var e3 = n2(298), r2 = n2(526).utf8, o2 = n2(135), i2 = n2(526).bin, s2 = function(t3, n3) { - t3.constructor == String ? t3 = n3 && "binary" === n3.encoding ? i2.stringToBytes(t3) : r2.stringToBytes(t3) : o2(t3) ? t3 = Array.prototype.slice.call(t3, 0) : Array.isArray(t3) || t3.constructor === Uint8Array || (t3 = t3.toString()); - for (var a2 = e3.bytesToWords(t3), u2 = 8 * t3.length, c2 = 1732584193, l2 = -271733879, h2 = -1732584194, p2 = 271733878, f2 = 0; f2 < a2.length; f2++) a2[f2] = 16711935 & (a2[f2] << 8 | a2[f2] >>> 24) | 4278255360 & (a2[f2] << 24 | a2[f2] >>> 8); - a2[u2 >>> 5] |= 128 << u2 % 32, a2[14 + (u2 + 64 >>> 9 << 4)] = u2; - var d2 = s2._ff, g2 = s2._gg, m2 = s2._hh, y2 = s2._ii; - for (f2 = 0; f2 < a2.length; f2 += 16) { - var v2 = c2, b2 = l2, w2 = h2, x2 = p2; - c2 = d2(c2, l2, h2, p2, a2[f2 + 0], 7, -680876936), p2 = d2(p2, c2, l2, h2, a2[f2 + 1], 12, -389564586), h2 = d2(h2, p2, c2, l2, a2[f2 + 2], 17, 606105819), l2 = d2(l2, h2, p2, c2, a2[f2 + 3], 22, -1044525330), c2 = d2(c2, l2, h2, p2, a2[f2 + 4], 7, -176418897), p2 = d2(p2, c2, l2, h2, a2[f2 + 5], 12, 1200080426), h2 = d2(h2, p2, c2, l2, a2[f2 + 6], 17, -1473231341), l2 = d2(l2, h2, p2, c2, a2[f2 + 7], 22, -45705983), c2 = d2(c2, l2, h2, p2, a2[f2 + 8], 7, 1770035416), p2 = d2(p2, c2, l2, h2, a2[f2 + 9], 12, -1958414417), h2 = d2(h2, p2, c2, l2, a2[f2 + 10], 17, -42063), l2 = d2(l2, h2, p2, c2, a2[f2 + 11], 22, -1990404162), c2 = d2(c2, l2, h2, p2, a2[f2 + 12], 7, 1804603682), p2 = d2(p2, c2, l2, h2, a2[f2 + 13], 12, -40341101), h2 = d2(h2, p2, c2, l2, a2[f2 + 14], 17, -1502002290), c2 = g2(c2, l2 = d2(l2, h2, p2, c2, a2[f2 + 15], 22, 1236535329), h2, p2, a2[f2 + 1], 5, -165796510), p2 = g2(p2, c2, l2, h2, a2[f2 + 6], 9, -1069501632), h2 = g2(h2, p2, c2, l2, a2[f2 + 11], 14, 643717713), l2 = g2(l2, h2, p2, c2, a2[f2 + 0], 20, -373897302), c2 = g2(c2, l2, h2, p2, a2[f2 + 5], 5, -701558691), p2 = g2(p2, c2, l2, h2, a2[f2 + 10], 9, 38016083), h2 = g2(h2, p2, c2, l2, a2[f2 + 15], 14, -660478335), l2 = g2(l2, h2, p2, c2, a2[f2 + 4], 20, -405537848), c2 = g2(c2, l2, h2, p2, a2[f2 + 9], 5, 568446438), p2 = g2(p2, c2, l2, h2, a2[f2 + 14], 9, -1019803690), h2 = g2(h2, p2, c2, l2, a2[f2 + 3], 14, -187363961), l2 = g2(l2, h2, p2, c2, a2[f2 + 8], 20, 1163531501), c2 = g2(c2, l2, h2, p2, a2[f2 + 13], 5, -1444681467), p2 = g2(p2, c2, l2, h2, a2[f2 + 2], 9, -51403784), h2 = g2(h2, p2, c2, l2, a2[f2 + 7], 14, 1735328473), c2 = m2(c2, l2 = g2(l2, h2, p2, c2, a2[f2 + 12], 20, -1926607734), h2, p2, a2[f2 + 5], 4, -378558), p2 = m2(p2, c2, l2, h2, a2[f2 + 8], 11, -2022574463), h2 = m2(h2, p2, c2, l2, a2[f2 + 11], 16, 1839030562), l2 = m2(l2, h2, p2, c2, a2[f2 + 14], 23, -35309556), c2 = m2(c2, l2, h2, p2, a2[f2 + 1], 4, -1530992060), p2 = m2(p2, c2, l2, h2, a2[f2 + 4], 11, 1272893353), h2 = m2(h2, p2, c2, l2, a2[f2 + 7], 16, -155497632), l2 = m2(l2, h2, p2, c2, a2[f2 + 10], 23, -1094730640), c2 = m2(c2, l2, h2, p2, a2[f2 + 13], 4, 681279174), p2 = m2(p2, c2, l2, h2, a2[f2 + 0], 11, -358537222), h2 = m2(h2, p2, c2, l2, a2[f2 + 3], 16, -722521979), l2 = m2(l2, h2, p2, c2, a2[f2 + 6], 23, 76029189), c2 = m2(c2, l2, h2, p2, a2[f2 + 9], 4, -640364487), p2 = m2(p2, c2, l2, h2, a2[f2 + 12], 11, -421815835), h2 = m2(h2, p2, c2, l2, a2[f2 + 15], 16, 530742520), c2 = y2(c2, l2 = m2(l2, h2, p2, c2, a2[f2 + 2], 23, -995338651), h2, p2, a2[f2 + 0], 6, -198630844), p2 = y2(p2, c2, l2, h2, a2[f2 + 7], 10, 1126891415), h2 = y2(h2, p2, c2, l2, a2[f2 + 14], 15, -1416354905), l2 = y2(l2, h2, p2, c2, a2[f2 + 5], 21, -57434055), c2 = y2(c2, l2, h2, p2, a2[f2 + 12], 6, 1700485571), p2 = y2(p2, c2, l2, h2, a2[f2 + 3], 10, -1894986606), h2 = y2(h2, p2, c2, l2, a2[f2 + 10], 15, -1051523), l2 = y2(l2, h2, p2, c2, a2[f2 + 1], 21, -2054922799), c2 = y2(c2, l2, h2, p2, a2[f2 + 8], 6, 1873313359), p2 = y2(p2, c2, l2, h2, a2[f2 + 15], 10, -30611744), h2 = y2(h2, p2, c2, l2, a2[f2 + 6], 15, -1560198380), l2 = y2(l2, h2, p2, c2, a2[f2 + 13], 21, 1309151649), c2 = y2(c2, l2, h2, p2, a2[f2 + 4], 6, -145523070), p2 = y2(p2, c2, l2, h2, a2[f2 + 11], 10, -1120210379), h2 = y2(h2, p2, c2, l2, a2[f2 + 2], 15, 718787259), l2 = y2(l2, h2, p2, c2, a2[f2 + 9], 21, -343485551), c2 = c2 + v2 >>> 0, l2 = l2 + b2 >>> 0, h2 = h2 + w2 >>> 0, p2 = p2 + x2 >>> 0; - } - return e3.endian([c2, l2, h2, p2]); - }; - s2._ff = function(t3, e4, n3, r3, o3, i3, s3) { - var a2 = t3 + (e4 & n3 | ~e4 & r3) + (o3 >>> 0) + s3; - return (a2 << i3 | a2 >>> 32 - i3) + e4; - }, s2._gg = function(t3, e4, n3, r3, o3, i3, s3) { - var a2 = t3 + (e4 & r3 | n3 & ~r3) + (o3 >>> 0) + s3; - return (a2 << i3 | a2 >>> 32 - i3) + e4; - }, s2._hh = function(t3, e4, n3, r3, o3, i3, s3) { - var a2 = t3 + (e4 ^ n3 ^ r3) + (o3 >>> 0) + s3; - return (a2 << i3 | a2 >>> 32 - i3) + e4; - }, s2._ii = function(t3, e4, n3, r3, o3, i3, s3) { - var a2 = t3 + (n3 ^ (e4 | ~r3)) + (o3 >>> 0) + s3; - return (a2 << i3 | a2 >>> 32 - i3) + e4; - }, s2._blocksize = 16, s2._digestsize = 16, t2.exports = function(t3, n3) { - if (null == t3) throw new Error("Illegal argument " + t3); - var r3 = e3.wordsToBytes(s2(t3, n3)); - return n3 && n3.asBytes ? r3 : n3 && n3.asString ? i2.bytesToString(r3) : e3.bytesToHex(r3); - }; - }(); -}, 285: (t2, e2, n2) => { - var r2 = n2(2); - t2.exports = function(t3) { - return t3 ? ("{}" === t3.substr(0, 2) && (t3 = "\\{\\}" + t3.substr(2)), m2(function(t4) { - return t4.split("\\\\").join(o2).split("\\{").join(i2).split("\\}").join(s2).split("\\,").join(a2).split("\\.").join(u2); - }(t3), true).map(l2)) : []; - }; - var o2 = "\0SLASH" + Math.random() + "\0", i2 = "\0OPEN" + Math.random() + "\0", s2 = "\0CLOSE" + Math.random() + "\0", a2 = "\0COMMA" + Math.random() + "\0", u2 = "\0PERIOD" + Math.random() + "\0"; - function c2(t3) { - return parseInt(t3, 10) == t3 ? parseInt(t3, 10) : t3.charCodeAt(0); - } - function l2(t3) { - return t3.split(o2).join("\\").split(i2).join("{").split(s2).join("}").split(a2).join(",").split(u2).join("."); - } - function h2(t3) { - if (!t3) return [""]; - var e3 = [], n3 = r2("{", "}", t3); - if (!n3) return t3.split(","); - var o3 = n3.pre, i3 = n3.body, s3 = n3.post, a3 = o3.split(","); - a3[a3.length - 1] += "{" + i3 + "}"; - var u3 = h2(s3); - return s3.length && (a3[a3.length - 1] += u3.shift(), a3.push.apply(a3, u3)), e3.push.apply(e3, a3), e3; - } - function p2(t3) { - return "{" + t3 + "}"; - } - function f2(t3) { - return /^-?0\d/.test(t3); - } - function d2(t3, e3) { - return t3 <= e3; - } - function g2(t3, e3) { - return t3 >= e3; - } - function m2(t3, e3) { - var n3 = [], o3 = r2("{", "}", t3); - if (!o3) return [t3]; - var i3 = o3.pre, a3 = o3.post.length ? m2(o3.post, false) : [""]; - if (/\$$/.test(o3.pre)) for (var u3 = 0; u3 < a3.length; u3++) { - var l3 = i3 + "{" + o3.body + "}" + a3[u3]; - n3.push(l3); - } - else { - var y2, v2, b2 = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o3.body), w2 = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o3.body), x2 = b2 || w2, N2 = o3.body.indexOf(",") >= 0; - if (!x2 && !N2) return o3.post.match(/,.*\}/) ? m2(t3 = o3.pre + "{" + o3.body + s2 + o3.post) : [t3]; - if (x2) y2 = o3.body.split(/\.\./); - else if (1 === (y2 = h2(o3.body)).length && 1 === (y2 = m2(y2[0], false).map(p2)).length) return a3.map(function(t4) { - return o3.pre + y2[0] + t4; - }); - if (x2) { - var P2 = c2(y2[0]), A2 = c2(y2[1]), O2 = Math.max(y2[0].length, y2[1].length), E2 = 3 == y2.length ? Math.abs(c2(y2[2])) : 1, T2 = d2; - A2 < P2 && (E2 *= -1, T2 = g2); - var j2 = y2.some(f2); - v2 = []; - for (var S2 = P2; T2(S2, A2); S2 += E2) { - var $2; - if (w2) "\\" === ($2 = String.fromCharCode(S2)) && ($2 = ""); - else if ($2 = String(S2), j2) { - var C2 = O2 - $2.length; - if (C2 > 0) { - var I2 = new Array(C2 + 1).join("0"); - $2 = S2 < 0 ? "-" + I2 + $2.slice(1) : I2 + $2; - } - } - v2.push($2); - } - } else { - v2 = []; - for (var k2 = 0; k2 < y2.length; k2++) v2.push.apply(v2, m2(y2[k2], false)); - } - for (k2 = 0; k2 < v2.length; k2++) for (u3 = 0; u3 < a3.length; u3++) l3 = i3 + v2[k2] + a3[u3], (!e3 || x2 || l3) && n3.push(l3); - } - return n3; - } -}, 829: (t2) => { - function e2(t3) { - return e2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, e2(t3); - } - function n2(t3) { - var e3 = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0; - return n2 = function(t4) { - if (null === t4 || (n3 = t4, -1 === Function.toString.call(n3).indexOf("[native code]"))) return t4; - var n3; - if ("function" != typeof t4) throw new TypeError("Super expression must either be null or a function"); - if (void 0 !== e3) { - if (e3.has(t4)) return e3.get(t4); - e3.set(t4, s3); - } - function s3() { - return r2(t4, arguments, i2(this).constructor); - } - return s3.prototype = Object.create(t4.prototype, { constructor: { value: s3, enumerable: false, writable: true, configurable: true } }), o2(s3, t4); - }, n2(t3); - } - function r2(t3, e3, n3) { - return r2 = function() { - if ("undefined" == typeof Reflect || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if ("function" == typeof Proxy) return true; - try { - return Date.prototype.toString.call(Reflect.construct(Date, [], function() { - })), true; - } catch (t4) { - return false; - } - }() ? Reflect.construct : function(t4, e4, n4) { - var r3 = [null]; - r3.push.apply(r3, e4); - var i3 = new (Function.bind.apply(t4, r3))(); - return n4 && o2(i3, n4.prototype), i3; - }, r2.apply(null, arguments); - } - function o2(t3, e3) { - return o2 = Object.setPrototypeOf || function(t4, e4) { - return t4.__proto__ = e4, t4; - }, o2(t3, e3); - } - function i2(t3) { - return i2 = Object.setPrototypeOf ? Object.getPrototypeOf : function(t4) { - return t4.__proto__ || Object.getPrototypeOf(t4); - }, i2(t3); - } - var s2 = function(t3) { - function n3(t4) { - var r3; - return function(t5, e3) { - if (!(t5 instanceof e3)) throw new TypeError("Cannot call a class as a function"); - }(this, n3), (r3 = function(t5, n4) { - return !n4 || "object" !== e2(n4) && "function" != typeof n4 ? function(t6) { - if (void 0 === t6) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - return t6; - }(t5) : n4; - }(this, i2(n3).call(this, t4))).name = "ObjectPrototypeMutationError", r3; - } - return function(t4, e3) { - if ("function" != typeof e3 && null !== e3) throw new TypeError("Super expression must either be null or a function"); - t4.prototype = Object.create(e3 && e3.prototype, { constructor: { value: t4, writable: true, configurable: true } }), e3 && o2(t4, e3); - }(n3, t3), n3; - }(n2(Error)); - function a2(t3, n3) { - for (var r3 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() { - }, o3 = n3.split("."), i3 = o3.length, s3 = function(e3) { - var n4 = o3[e3]; - if (!t3) return { v: void 0 }; - if ("+" === n4) { - if (Array.isArray(t3)) return { v: t3.map(function(n5, i5) { - var s4 = o3.slice(e3 + 1); - return s4.length > 0 ? a2(n5, s4.join("."), r3) : r3(t3, i5, o3, e3); - }) }; - var i4 = o3.slice(0, e3).join("."); - throw new Error("Object at wildcard (".concat(i4, ") is not an array")); - } - t3 = r3(t3, n4, o3, e3); - }, u3 = 0; u3 < i3; u3++) { - var c2 = s3(u3); - if ("object" === e2(c2)) return c2.v; - } - return t3; - } - function u2(t3, e3) { - return t3.length === e3 + 1; - } - t2.exports = { set: function(t3, n3, r3) { - if ("object" != e2(t3) || null === t3) return t3; - if (void 0 === n3) return t3; - if ("number" == typeof n3) return t3[n3] = r3, t3[n3]; - try { - return a2(t3, n3, function(t4, e3, n4, o3) { - if (t4 === Reflect.getPrototypeOf({})) throw new s2("Attempting to mutate Object.prototype"); - if (!t4[e3]) { - var i3 = Number.isInteger(Number(n4[o3 + 1])), a3 = "+" === n4[o3 + 1]; - t4[e3] = i3 || a3 ? [] : {}; - } - return u2(n4, o3) && (t4[e3] = r3), t4[e3]; - }); - } catch (e3) { - if (e3 instanceof s2) throw e3; - return t3; - } - }, get: function(t3, n3) { - if ("object" != e2(t3) || null === t3) return t3; - if (void 0 === n3) return t3; - if ("number" == typeof n3) return t3[n3]; - try { - return a2(t3, n3, function(t4, e3) { - return t4[e3]; - }); - } catch (e3) { - return t3; - } - }, has: function(t3, n3) { - var r3 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - if ("object" != e2(t3) || null === t3) return false; - if (void 0 === n3) return false; - if ("number" == typeof n3) return n3 in t3; - try { - var o3 = false; - return a2(t3, n3, function(t4, e3, n4, i3) { - if (!u2(n4, i3)) return t4 && t4[e3]; - o3 = r3.own ? t4.hasOwnProperty(e3) : e3 in t4; - }), o3; - } catch (t4) { - return false; - } - }, hasOwn: function(t3, e3, n3) { - return this.has(t3, e3, n3 || { own: true }); - }, isIn: function(t3, n3, r3) { - var o3 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; - if ("object" != e2(t3) || null === t3) return false; - if (void 0 === n3) return false; - try { - var i3 = false, s3 = false; - return a2(t3, n3, function(t4, n4, o4, a3) { - return i3 = i3 || t4 === r3 || !!t4 && t4[n4] === r3, s3 = u2(o4, a3) && "object" === e2(t4) && n4 in t4, t4 && t4[n4]; - }), o3.validPath ? i3 && s3 : i3; - } catch (t4) { - return false; - } - }, ObjectPrototypeMutationError: s2 }; -}, 47: (t2, e2, n2) => { - var r2 = n2(410), o2 = function(t3) { - return "string" == typeof t3; - }; - function i2(t3, e3) { - for (var n3 = [], r3 = 0; r3 < t3.length; r3++) { - var o3 = t3[r3]; - o3 && "." !== o3 && (".." === o3 ? n3.length && ".." !== n3[n3.length - 1] ? n3.pop() : e3 && n3.push("..") : n3.push(o3)); - } - return n3; - } - var s2 = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/, a2 = {}; - function u2(t3) { - return s2.exec(t3).slice(1); - } - a2.resolve = function() { - for (var t3 = "", e3 = false, n3 = arguments.length - 1; n3 >= -1 && !e3; n3--) { - var r3 = n3 >= 0 ? arguments[n3] : process$1$1.cwd(); - if (!o2(r3)) throw new TypeError("Arguments to path.resolve must be strings"); - r3 && (t3 = r3 + "/" + t3, e3 = "/" === r3.charAt(0)); - } - return (e3 ? "/" : "") + (t3 = i2(t3.split("/"), !e3).join("/")) || "."; - }, a2.normalize = function(t3) { - var e3 = a2.isAbsolute(t3), n3 = "/" === t3.substr(-1); - return (t3 = i2(t3.split("/"), !e3).join("/")) || e3 || (t3 = "."), t3 && n3 && (t3 += "/"), (e3 ? "/" : "") + t3; - }, a2.isAbsolute = function(t3) { - return "/" === t3.charAt(0); - }, a2.join = function() { - for (var t3 = "", e3 = 0; e3 < arguments.length; e3++) { - var n3 = arguments[e3]; - if (!o2(n3)) throw new TypeError("Arguments to path.join must be strings"); - n3 && (t3 += t3 ? "/" + n3 : n3); - } - return a2.normalize(t3); - }, a2.relative = function(t3, e3) { - function n3(t4) { - for (var e4 = 0; e4 < t4.length && "" === t4[e4]; e4++) ; - for (var n4 = t4.length - 1; n4 >= 0 && "" === t4[n4]; n4--) ; - return e4 > n4 ? [] : t4.slice(e4, n4 + 1); - } - t3 = a2.resolve(t3).substr(1), e3 = a2.resolve(e3).substr(1); - for (var r3 = n3(t3.split("/")), o3 = n3(e3.split("/")), i3 = Math.min(r3.length, o3.length), s3 = i3, u3 = 0; u3 < i3; u3++) if (r3[u3] !== o3[u3]) { - s3 = u3; - break; - } - var c2 = []; - for (u3 = s3; u3 < r3.length; u3++) c2.push(".."); - return (c2 = c2.concat(o3.slice(s3))).join("/"); - }, a2._makeLong = function(t3) { - return t3; - }, a2.dirname = function(t3) { - var e3 = u2(t3), n3 = e3[0], r3 = e3[1]; - return n3 || r3 ? (r3 && (r3 = r3.substr(0, r3.length - 1)), n3 + r3) : "."; - }, a2.basename = function(t3, e3) { - var n3 = u2(t3)[2]; - return e3 && n3.substr(-1 * e3.length) === e3 && (n3 = n3.substr(0, n3.length - e3.length)), n3; - }, a2.extname = function(t3) { - return u2(t3)[3]; - }, a2.format = function(t3) { - if (!r2.isObject(t3)) throw new TypeError("Parameter 'pathObject' must be an object, not " + typeof t3); - var e3 = t3.root || ""; - if (!o2(e3)) throw new TypeError("'pathObject.root' must be a string or undefined, not " + typeof t3.root); - return (t3.dir ? t3.dir + a2.sep : "") + (t3.base || ""); - }, a2.parse = function(t3) { - if (!o2(t3)) throw new TypeError("Parameter 'pathString' must be a string, not " + typeof t3); - var e3 = u2(t3); - if (!e3 || 4 !== e3.length) throw new TypeError("Invalid path '" + t3 + "'"); - return e3[1] = e3[1] || "", e3[2] = e3[2] || "", e3[3] = e3[3] || "", { root: e3[0], dir: e3[0] + e3[1].slice(0, e3[1].length - 1), base: e3[2], ext: e3[3], name: e3[2].slice(0, e3[2].length - e3[3].length) }; - }, a2.sep = "/", a2.delimiter = ":", t2.exports = a2; -}, 647: (t2, e2) => { - var n2 = Object.prototype.hasOwnProperty; - function r2(t3) { - try { - return decodeURIComponent(t3.replace(/\+/g, " ")); - } catch (t4) { - return null; - } - } - function o2(t3) { - try { - return encodeURIComponent(t3); - } catch (t4) { - return null; - } - } - e2.stringify = function(t3, e3) { - e3 = e3 || ""; - var r3, i2, s2 = []; - for (i2 in "string" != typeof e3 && (e3 = "?"), t3) if (n2.call(t3, i2)) { - if ((r3 = t3[i2]) || null != r3 && !isNaN(r3) || (r3 = ""), i2 = o2(i2), r3 = o2(r3), null === i2 || null === r3) continue; - s2.push(i2 + "=" + r3); - } - return s2.length ? e3 + s2.join("&") : ""; - }, e2.parse = function(t3) { - for (var e3, n3 = /([^=?#&]+)=?([^&]*)/g, o3 = {}; e3 = n3.exec(t3); ) { - var i2 = r2(e3[1]), s2 = r2(e3[2]); - null === i2 || null === s2 || i2 in o3 || (o3[i2] = s2); - } - return o3; - }; -}, 670: (t2) => { - t2.exports = function(t3, e2) { - if (e2 = e2.split(":")[0], !(t3 = +t3)) return false; - switch (e2) { - case "http": - case "ws": - return 80 !== t3; - case "https": - case "wss": - return 443 !== t3; - case "ftp": - return 21 !== t3; - case "gopher": - return 70 !== t3; - case "file": - return false; - } - return 0 !== t3; - }; -}, 494: (t2) => { - const e2 = /^[-+]?0x[a-fA-F0-9]+$/, n2 = /^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/; - !Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt), !Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat); - const r2 = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true }; - t2.exports = function(t3) { - let o2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - if (o2 = Object.assign({}, r2, o2), !t3 || "string" != typeof t3) return t3; - let i2 = t3.trim(); - if (void 0 !== o2.skipLike && o2.skipLike.test(i2)) return t3; - if (o2.hex && e2.test(i2)) return Number.parseInt(i2, 16); - { - const e3 = n2.exec(i2); - if (e3) { - const n3 = e3[1], r3 = e3[2]; - let a2 = (s2 = e3[3]) && -1 !== s2.indexOf(".") ? ("." === (s2 = s2.replace(/0+$/, "")) ? s2 = "0" : "." === s2[0] ? s2 = "0" + s2 : "." === s2[s2.length - 1] && (s2 = s2.substr(0, s2.length - 1)), s2) : s2; - const u2 = e3[4] || e3[6]; - if (!o2.leadingZeros && r3.length > 0 && n3 && "." !== i2[2]) return t3; - if (!o2.leadingZeros && r3.length > 0 && !n3 && "." !== i2[1]) return t3; - { - const e4 = Number(i2), s3 = "" + e4; - return -1 !== s3.search(/[eE]/) || u2 ? o2.eNotation ? e4 : t3 : -1 !== i2.indexOf(".") ? "0" === s3 && "" === a2 || s3 === a2 || n3 && s3 === "-" + a2 ? e4 : t3 : r3 ? a2 === s3 || n3 + a2 === s3 ? e4 : t3 : i2 === s3 || i2 === n3 + s3 ? e4 : t3; - } - } - return t3; - } - var s2; - }; -}, 737: (t2, e2, n2) => { - var r2 = n2(670), o2 = n2(647), i2 = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/, s2 = /[\n\r\t]/g, a2 = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//, u2 = /:\d+$/, c2 = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i, l2 = /^[a-zA-Z]:/; - function h2(t3) { - return (t3 || "").toString().replace(i2, ""); - } - var p2 = [["#", "hash"], ["?", "query"], function(t3, e3) { - return g2(e3.protocol) ? t3.replace(/\\/g, "/") : t3; - }, ["/", "pathname"], ["@", "auth", 1], [NaN, "host", void 0, 1, 1], [/:(\d*)$/, "port", void 0, 1], [NaN, "hostname", void 0, 1, 1]], f2 = { hash: 1, query: 1 }; - function d2(t3) { - var e3, n3 = ("undefined" != typeof window ? window : "undefined" != typeof global$e ? global$e : "undefined" != typeof self ? self : {}).location || {}, r3 = {}, o3 = typeof (t3 = t3 || n3); - if ("blob:" === t3.protocol) r3 = new y2(unescape(t3.pathname), {}); - else if ("string" === o3) for (e3 in r3 = new y2(t3, {}), f2) delete r3[e3]; - else if ("object" === o3) { - for (e3 in t3) e3 in f2 || (r3[e3] = t3[e3]); - void 0 === r3.slashes && (r3.slashes = a2.test(t3.href)); - } - return r3; - } - function g2(t3) { - return "file:" === t3 || "ftp:" === t3 || "http:" === t3 || "https:" === t3 || "ws:" === t3 || "wss:" === t3; - } - function m2(t3, e3) { - t3 = (t3 = h2(t3)).replace(s2, ""), e3 = e3 || {}; - var n3, r3 = c2.exec(t3), o3 = r3[1] ? r3[1].toLowerCase() : "", i3 = !!r3[2], a3 = !!r3[3], u3 = 0; - return i3 ? a3 ? (n3 = r3[2] + r3[3] + r3[4], u3 = r3[2].length + r3[3].length) : (n3 = r3[2] + r3[4], u3 = r3[2].length) : a3 ? (n3 = r3[3] + r3[4], u3 = r3[3].length) : n3 = r3[4], "file:" === o3 ? u3 >= 2 && (n3 = n3.slice(2)) : g2(o3) ? n3 = r3[4] : o3 ? i3 && (n3 = n3.slice(2)) : u3 >= 2 && g2(e3.protocol) && (n3 = r3[4]), { protocol: o3, slashes: i3 || g2(o3), slashesCount: u3, rest: n3 }; - } - function y2(t3, e3, n3) { - if (t3 = (t3 = h2(t3)).replace(s2, ""), !(this instanceof y2)) return new y2(t3, e3, n3); - var i3, a3, u3, c3, f3, v2, b2 = p2.slice(), w2 = typeof e3, x2 = this, N2 = 0; - for ("object" !== w2 && "string" !== w2 && (n3 = e3, e3 = null), n3 && "function" != typeof n3 && (n3 = o2.parse), i3 = !(a3 = m2(t3 || "", e3 = d2(e3))).protocol && !a3.slashes, x2.slashes = a3.slashes || i3 && e3.slashes, x2.protocol = a3.protocol || e3.protocol || "", t3 = a3.rest, ("file:" === a3.protocol && (2 !== a3.slashesCount || l2.test(t3)) || !a3.slashes && (a3.protocol || a3.slashesCount < 2 || !g2(x2.protocol))) && (b2[3] = [/(.*)/, "pathname"]); N2 < b2.length; N2++) "function" != typeof (c3 = b2[N2]) ? (u3 = c3[0], v2 = c3[1], u3 != u3 ? x2[v2] = t3 : "string" == typeof u3 ? ~(f3 = "@" === u3 ? t3.lastIndexOf(u3) : t3.indexOf(u3)) && ("number" == typeof c3[2] ? (x2[v2] = t3.slice(0, f3), t3 = t3.slice(f3 + c3[2])) : (x2[v2] = t3.slice(f3), t3 = t3.slice(0, f3))) : (f3 = u3.exec(t3)) && (x2[v2] = f3[1], t3 = t3.slice(0, f3.index)), x2[v2] = x2[v2] || i3 && c3[3] && e3[v2] || "", c3[4] && (x2[v2] = x2[v2].toLowerCase())) : t3 = c3(t3, x2); - n3 && (x2.query = n3(x2.query)), i3 && e3.slashes && "/" !== x2.pathname.charAt(0) && ("" !== x2.pathname || "" !== e3.pathname) && (x2.pathname = function(t4, e4) { - if ("" === t4) return e4; - for (var n4 = (e4 || "/").split("/").slice(0, -1).concat(t4.split("/")), r3 = n4.length, o3 = n4[r3 - 1], i4 = false, s3 = 0; r3--; ) "." === n4[r3] ? n4.splice(r3, 1) : ".." === n4[r3] ? (n4.splice(r3, 1), s3++) : s3 && (0 === r3 && (i4 = true), n4.splice(r3, 1), s3--); - return i4 && n4.unshift(""), "." !== o3 && ".." !== o3 || n4.push(""), n4.join("/"); - }(x2.pathname, e3.pathname)), "/" !== x2.pathname.charAt(0) && g2(x2.protocol) && (x2.pathname = "/" + x2.pathname), r2(x2.port, x2.protocol) || (x2.host = x2.hostname, x2.port = ""), x2.username = x2.password = "", x2.auth && (~(f3 = x2.auth.indexOf(":")) ? (x2.username = x2.auth.slice(0, f3), x2.username = encodeURIComponent(decodeURIComponent(x2.username)), x2.password = x2.auth.slice(f3 + 1), x2.password = encodeURIComponent(decodeURIComponent(x2.password))) : x2.username = encodeURIComponent(decodeURIComponent(x2.auth)), x2.auth = x2.password ? x2.username + ":" + x2.password : x2.username), x2.origin = "file:" !== x2.protocol && g2(x2.protocol) && x2.host ? x2.protocol + "//" + x2.host : "null", x2.href = x2.toString(); - } - y2.prototype = { set: function(t3, e3, n3) { - var i3 = this; - switch (t3) { - case "query": - "string" == typeof e3 && e3.length && (e3 = (n3 || o2.parse)(e3)), i3[t3] = e3; - break; - case "port": - i3[t3] = e3, r2(e3, i3.protocol) ? e3 && (i3.host = i3.hostname + ":" + e3) : (i3.host = i3.hostname, i3[t3] = ""); - break; - case "hostname": - i3[t3] = e3, i3.port && (e3 += ":" + i3.port), i3.host = e3; - break; - case "host": - i3[t3] = e3, u2.test(e3) ? (e3 = e3.split(":"), i3.port = e3.pop(), i3.hostname = e3.join(":")) : (i3.hostname = e3, i3.port = ""); - break; - case "protocol": - i3.protocol = e3.toLowerCase(), i3.slashes = !n3; - break; - case "pathname": - case "hash": - if (e3) { - var s3 = "pathname" === t3 ? "/" : "#"; - i3[t3] = e3.charAt(0) !== s3 ? s3 + e3 : e3; - } else i3[t3] = e3; - break; - case "username": - case "password": - i3[t3] = encodeURIComponent(e3); - break; - case "auth": - var a3 = e3.indexOf(":"); - ~a3 ? (i3.username = e3.slice(0, a3), i3.username = encodeURIComponent(decodeURIComponent(i3.username)), i3.password = e3.slice(a3 + 1), i3.password = encodeURIComponent(decodeURIComponent(i3.password))) : i3.username = encodeURIComponent(decodeURIComponent(e3)); - } - for (var c3 = 0; c3 < p2.length; c3++) { - var l3 = p2[c3]; - l3[4] && (i3[l3[1]] = i3[l3[1]].toLowerCase()); - } - return i3.auth = i3.password ? i3.username + ":" + i3.password : i3.username, i3.origin = "file:" !== i3.protocol && g2(i3.protocol) && i3.host ? i3.protocol + "//" + i3.host : "null", i3.href = i3.toString(), i3; - }, toString: function(t3) { - t3 && "function" == typeof t3 || (t3 = o2.stringify); - var e3, n3 = this, r3 = n3.host, i3 = n3.protocol; - i3 && ":" !== i3.charAt(i3.length - 1) && (i3 += ":"); - var s3 = i3 + (n3.protocol && n3.slashes || g2(n3.protocol) ? "//" : ""); - return n3.username ? (s3 += n3.username, n3.password && (s3 += ":" + n3.password), s3 += "@") : n3.password ? (s3 += ":" + n3.password, s3 += "@") : "file:" !== n3.protocol && g2(n3.protocol) && !r3 && "/" !== n3.pathname && (s3 += "@"), (":" === r3[r3.length - 1] || u2.test(n3.hostname) && !n3.port) && (r3 += ":"), s3 += r3 + n3.pathname, (e3 = "object" == typeof n3.query ? t3(n3.query) : n3.query) && (s3 += "?" !== e3.charAt(0) ? "?" + e3 : e3), n3.hash && (s3 += n3.hash), s3; - } }, y2.extractProtocol = m2, y2.location = d2, y2.trimLeft = h2, y2.qs = o2, t2.exports = y2; -}, 410: () => { -}, 388: () => { -}, 805: () => { -}, 345: () => { -}, 800: () => { -} }, e = {}; -function n(r2) { - var o2 = e[r2]; - if (void 0 !== o2) return o2.exports; - var i2 = e[r2] = { id: r2, loaded: false, exports: {} }; - return t[r2].call(i2.exports, i2, i2.exports, n), i2.loaded = true, i2.exports; -} -n.n = (t2) => { - var e2 = t2 && t2.__esModule ? () => t2.default : () => t2; - return n.d(e2, { a: e2 }), e2; -}, n.d = (t2, e2) => { - for (var r2 in e2) n.o(e2, r2) && !n.o(t2, r2) && Object.defineProperty(t2, r2, { enumerable: true, get: e2[r2] }); -}, n.o = (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), n.nmd = (t2) => (t2.paths = [], t2.children || (t2.children = []), t2); -var r = {}; -n.d(r, { hT: () => C, O4: () => I, Kd: () => S, YK: () => $$1, UU: () => en, Gu: () => F, ky: () => oe, h4: () => ne, ch: () => re, hq: () => Xt, i5: () => ie }); -var o = n(737), i$1 = n.n(o); -function s(t2) { - if (!a(t2)) throw new Error("Parameter was not an error"); -} -function a(t2) { - return !!t2 && "object" == typeof t2 && "[object Error]" === (e2 = t2, Object.prototype.toString.call(e2)) || t2 instanceof Error; - var e2; -} -class u extends Error { - constructor(t2, e2) { - const n2 = [...arguments], { options: r2, shortMessage: o2 } = function(t3) { - let e3, n3 = ""; - if (0 === t3.length) e3 = {}; - else if (a(t3[0])) e3 = { cause: t3[0] }, n3 = t3.slice(1).join(" ") || ""; - else if (t3[0] && "object" == typeof t3[0]) e3 = Object.assign({}, t3[0]), n3 = t3.slice(1).join(" ") || ""; - else { - if ("string" != typeof t3[0]) throw new Error("Invalid arguments passed to Layerr"); - e3 = {}, n3 = n3 = t3.join(" ") || ""; - } - return { options: e3, shortMessage: n3 }; - }(n2); - let i2 = o2; - if (r2.cause && (i2 = `${i2}: ${r2.cause.message}`), super(i2), this.message = i2, r2.name && "string" == typeof r2.name ? this.name = r2.name : this.name = "Layerr", r2.cause && Object.defineProperty(this, "_cause", { value: r2.cause }), Object.defineProperty(this, "_info", { value: {} }), r2.info && "object" == typeof r2.info && Object.assign(this._info, r2.info), Error.captureStackTrace) { - const t3 = r2.constructorOpt || this.constructor; - Error.captureStackTrace(this, t3); - } - } - static cause(t2) { - return s(t2), t2._cause && a(t2._cause) ? t2._cause : null; - } - static fullStack(t2) { - s(t2); - const e2 = u.cause(t2); - return e2 ? `${t2.stack} -caused by: ${u.fullStack(e2)}` : t2.stack ?? ""; - } - static info(t2) { - s(t2); - const e2 = {}, n2 = u.cause(t2); - return n2 && Object.assign(e2, u.info(n2)), t2._info && Object.assign(e2, t2._info), e2; - } - toString() { - let t2 = this.name || this.constructor.name || this.constructor.prototype.name; - return this.message && (t2 = `${t2}: ${this.message}`), t2; - } -} -var c = n(47), l = n.n(c); -const h = "__PATH_SEPARATOR_POSIX__", p = "__PATH_SEPARATOR_WINDOWS__"; -function f(t2) { - try { - const e2 = t2.replace(/\//g, h).replace(/\\\\/g, p); - return encodeURIComponent(e2).split(p).join("\\\\").split(h).join("/"); - } catch (t3) { - throw new u(t3, "Failed encoding path"); - } -} -function d(t2) { - return t2.startsWith("/") ? t2 : "/" + t2; -} -function g(t2) { - let e2 = t2; - return "/" !== e2[0] && (e2 = "/" + e2), /^.+\/$/.test(e2) && (e2 = e2.substr(0, e2.length - 1)), e2; -} -function m(t2) { - let e2 = new (i$1())(t2).pathname; - return e2.length <= 0 && (e2 = "/"), g(e2); -} -function y() { - for (var t2 = arguments.length, e2 = new Array(t2), n2 = 0; n2 < t2; n2++) e2[n2] = arguments[n2]; - return function() { - return function(t3) { - var e3 = []; - if (0 === t3.length) return ""; - if ("string" != typeof t3[0]) throw new TypeError("Url must be a string. Received " + t3[0]); - if (t3[0].match(/^[^/:]+:\/*$/) && t3.length > 1) { - var n3 = t3.shift(); - t3[0] = n3 + t3[0]; - } - t3[0].match(/^file:\/\/\//) ? t3[0] = t3[0].replace(/^([^/:]+):\/*/, "$1:///") : t3[0] = t3[0].replace(/^([^/:]+):\/*/, "$1://"); - for (var r2 = 0; r2 < t3.length; r2++) { - var o2 = t3[r2]; - if ("string" != typeof o2) throw new TypeError("Url must be a string. Received " + o2); - "" !== o2 && (r2 > 0 && (o2 = o2.replace(/^[\/]+/, "")), o2 = r2 < t3.length - 1 ? o2.replace(/[\/]+$/, "") : o2.replace(/[\/]+$/, "/"), e3.push(o2)); - } - var i2 = e3.join("/"), s2 = (i2 = i2.replace(/\/(\?|&|#[^!])/g, "$1")).split("?"); - return s2.shift() + (s2.length > 0 ? "?" : "") + s2.join("&"); - }("object" == typeof arguments[0] ? arguments[0] : [].slice.call(arguments)); - }(e2.reduce((t3, e3, n3) => ((0 === n3 || "/" !== e3 || "/" === e3 && "/" !== t3[t3.length - 1]) && t3.push(e3), t3), [])); -} -var v = n(542), b = n.n(v); -const w = "abcdef0123456789"; -function x(t2, e2) { - const n2 = t2.url.replace("//", ""), r2 = -1 == n2.indexOf("/") ? "/" : n2.slice(n2.indexOf("/")), o2 = t2.method ? t2.method.toUpperCase() : "GET", i2 = !!/(^|,)\s*auth\s*($|,)/.test(e2.qop) && "auth", s2 = `00000000${e2.nc}`.slice(-8), a2 = function(t3, e3, n3, r3, o3, i3, s3) { - const a3 = s3 || b()(`${e3}:${n3}:${r3}`); - return t3 && "md5-sess" === t3.toLowerCase() ? b()(`${a3}:${o3}:${i3}`) : a3; - }(e2.algorithm, e2.username, e2.realm, e2.password, e2.nonce, e2.cnonce, e2.ha1), u2 = b()(`${o2}:${r2}`), c2 = i2 ? b()(`${a2}:${e2.nonce}:${s2}:${e2.cnonce}:${i2}:${u2}`) : b()(`${a2}:${e2.nonce}:${u2}`), l2 = { username: e2.username, realm: e2.realm, nonce: e2.nonce, uri: r2, qop: i2, response: c2, nc: s2, cnonce: e2.cnonce, algorithm: e2.algorithm, opaque: e2.opaque }, h2 = []; - for (const t3 in l2) l2[t3] && ("qop" === t3 || "nc" === t3 || "algorithm" === t3 ? h2.push(`${t3}=${l2[t3]}`) : h2.push(`${t3}="${l2[t3]}"`)); - return `Digest ${h2.join(", ")}`; -} -function N(t2) { - return "digest" === (t2.headers && t2.headers.get("www-authenticate") || "").split(/\s/)[0].toLowerCase(); -} -var P = n(101), A = n.n(P); -function O(t2) { - return A().decode(t2); -} -function E(t2, e2) { - var n2; - return `Basic ${n2 = `${t2}:${e2}`, A().encode(n2)}`; -} -const T = "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : "undefined" != typeof window ? window : globalThis, j = T.fetch.bind(T), S = T.Request, $$1 = T.Response; -let C = function(t2) { - return t2.Auto = "auto", t2.Digest = "digest", t2.None = "none", t2.Password = "password", t2.Token = "token", t2; -}({}), I = function(t2) { - return t2.DataTypeNoLength = "data-type-no-length", t2.InvalidAuthType = "invalid-auth-type", t2.InvalidOutputFormat = "invalid-output-format", t2.LinkUnsupportedAuthType = "link-unsupported-auth", t2.InvalidUpdateRange = "invalid-update-range", t2.NotSupported = "not-supported", t2; -}({}); -function k(t2, e2, n2, r2, o2) { - switch (t2.authType) { - case C.Auto: - e2 && n2 && (t2.headers.Authorization = E(e2, n2)); - break; - case C.Digest: - t2.digest = /* @__PURE__ */ function(t3, e3, n3) { - return { username: t3, password: e3, ha1: n3, nc: 0, algorithm: "md5", hasDigestAuth: false }; - }(e2, n2, o2); - break; - case C.None: - break; - case C.Password: - t2.headers.Authorization = E(e2, n2); - break; - case C.Token: - t2.headers.Authorization = `${(i2 = r2).token_type} ${i2.access_token}`; - break; - default: - throw new u({ info: { code: I.InvalidAuthType } }, `Invalid auth type: ${t2.authType}`); - } - var i2; -} -n(345), n(800); -const R = "@@HOTPATCHER", L = () => { -}; -function _(t2) { - return { original: t2, methods: [t2], final: false }; -} -class M { - constructor() { - this._configuration = { registry: {}, getEmptyAction: "null" }, this.__type__ = R; - } - get configuration() { - return this._configuration; - } - get getEmptyAction() { - return this.configuration.getEmptyAction; - } - set getEmptyAction(t2) { - this.configuration.getEmptyAction = t2; - } - control(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; - if (!t2 || t2.__type__ !== R) throw new Error("Failed taking control of target HotPatcher instance: Invalid type or object"); - return Object.keys(t2.configuration.registry).forEach((n2) => { - this.configuration.registry.hasOwnProperty(n2) ? e2 && (this.configuration.registry[n2] = Object.assign({}, t2.configuration.registry[n2])) : this.configuration.registry[n2] = Object.assign({}, t2.configuration.registry[n2]); - }), t2._configuration = this.configuration, this; - } - execute(t2) { - const e2 = this.get(t2) || L; - for (var n2 = arguments.length, r2 = new Array(n2 > 1 ? n2 - 1 : 0), o2 = 1; o2 < n2; o2++) r2[o2 - 1] = arguments[o2]; - return e2(...r2); - } - get(t2) { - const e2 = this.configuration.registry[t2]; - if (!e2) switch (this.getEmptyAction) { - case "null": - return null; - case "throw": - throw new Error(`Failed handling method request: No method provided for override: ${t2}`); - default: - throw new Error(`Failed handling request which resulted in an empty method: Invalid empty-action specified: ${this.getEmptyAction}`); - } - return function() { - for (var t3 = arguments.length, e3 = new Array(t3), n2 = 0; n2 < t3; n2++) e3[n2] = arguments[n2]; - if (0 === e3.length) throw new Error("Failed creating sequence: No functions provided"); - return function() { - for (var t4 = arguments.length, n3 = new Array(t4), r2 = 0; r2 < t4; r2++) n3[r2] = arguments[r2]; - let o2 = n3; - const i2 = this; - for (; e3.length > 0; ) o2 = [e3.shift().apply(i2, o2)]; - return o2[0]; - }; - }(...e2.methods); - } - isPatched(t2) { - return !!this.configuration.registry[t2]; - } - patch(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const { chain: r2 = false } = n2; - if (this.configuration.registry[t2] && this.configuration.registry[t2].final) throw new Error(`Failed patching '${t2}': Method marked as being final`); - if ("function" != typeof e2) throw new Error(`Failed patching '${t2}': Provided method is not a function`); - if (r2) this.configuration.registry[t2] ? this.configuration.registry[t2].methods.push(e2) : this.configuration.registry[t2] = _(e2); - else if (this.isPatched(t2)) { - const { original: n3 } = this.configuration.registry[t2]; - this.configuration.registry[t2] = Object.assign(_(e2), { original: n3 }); - } else this.configuration.registry[t2] = _(e2); - return this; - } - patchInline(t2, e2) { - this.isPatched(t2) || this.patch(t2, e2); - for (var n2 = arguments.length, r2 = new Array(n2 > 2 ? n2 - 2 : 0), o2 = 2; o2 < n2; o2++) r2[o2 - 2] = arguments[o2]; - return this.execute(t2, ...r2); - } - plugin(t2) { - for (var e2 = arguments.length, n2 = new Array(e2 > 1 ? e2 - 1 : 0), r2 = 1; r2 < e2; r2++) n2[r2 - 1] = arguments[r2]; - return n2.forEach((e3) => { - this.patch(t2, e3, { chain: true }); - }), this; - } - restore(t2) { - if (!this.isPatched(t2)) throw new Error(`Failed restoring method: No method present for key: ${t2}`); - if ("function" != typeof this.configuration.registry[t2].original) throw new Error(`Failed restoring method: Original method not found or of invalid type for key: ${t2}`); - return this.configuration.registry[t2].methods = [this.configuration.registry[t2].original], this; - } - setFinal(t2) { - if (!this.configuration.registry.hasOwnProperty(t2)) throw new Error(`Failed marking '${t2}' as final: No method found for key`); - return this.configuration.registry[t2].final = true, this; - } -} -let U = null; -function F() { - return U || (U = new M()), U; -} -function D(t2) { - return function(t3) { - if ("object" != typeof t3 || null === t3 || "[object Object]" != Object.prototype.toString.call(t3)) return false; - if (null === Object.getPrototypeOf(t3)) return true; - let e2 = t3; - for (; null !== Object.getPrototypeOf(e2); ) e2 = Object.getPrototypeOf(e2); - return Object.getPrototypeOf(t3) === e2; - }(t2) ? Object.assign({}, t2) : Object.setPrototypeOf(Object.assign({}, t2), Object.getPrototypeOf(t2)); -} -function B() { - for (var t2 = arguments.length, e2 = new Array(t2), n2 = 0; n2 < t2; n2++) e2[n2] = arguments[n2]; - let r2 = null, o2 = [...e2]; - for (; o2.length > 0; ) { - const t3 = o2.shift(); - r2 = r2 ? W(r2, t3) : D(t3); - } - return r2; -} -function W(t2, e2) { - const n2 = D(t2); - return Object.keys(e2).forEach((t3) => { - n2.hasOwnProperty(t3) ? Array.isArray(e2[t3]) ? n2[t3] = Array.isArray(n2[t3]) ? [...n2[t3], ...e2[t3]] : [...e2[t3]] : "object" == typeof e2[t3] && e2[t3] ? n2[t3] = "object" == typeof n2[t3] && n2[t3] ? W(n2[t3], e2[t3]) : D(e2[t3]) : n2[t3] = e2[t3] : n2[t3] = e2[t3]; - }), n2; -} -function V(t2) { - const e2 = {}; - for (const n2 of t2.keys()) e2[n2] = t2.get(n2); - return e2; -} -function z() { - for (var t2 = arguments.length, e2 = new Array(t2), n2 = 0; n2 < t2; n2++) e2[n2] = arguments[n2]; - if (0 === e2.length) return {}; - const r2 = {}; - return e2.reduce((t3, e3) => (Object.keys(e3).forEach((n3) => { - const o2 = n3.toLowerCase(); - r2.hasOwnProperty(o2) ? t3[r2[o2]] = e3[n3] : (r2[o2] = n3, t3[n3] = e3[n3]); - }), t3), {}); -} -n(805); -const G = "function" == typeof ArrayBuffer, { toString: q } = Object.prototype; -function H(t2) { - return G && (t2 instanceof ArrayBuffer || "[object ArrayBuffer]" === q.call(t2)); -} -function X(t2) { - return null != t2 && null != t2.constructor && "function" == typeof t2.constructor.isBuffer && t2.constructor.isBuffer(t2); -} -function Z(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -} -function Y(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const K = Z(function(t2) { - const e2 = t2._digest; - return delete t2._digest, e2.hasDigestAuth && (t2 = B(t2, { headers: { Authorization: x(t2, e2) } })), Y(et(t2), function(n2) { - let r2 = false; - return o2 = function(t3) { - return r2 ? t3 : n2; - }, (i2 = function() { - if (401 == n2.status) return e2.hasDigestAuth = function(t3, e3) { - if (!N(t3)) return false; - const n3 = /([a-z0-9_-]+)=(?:"([^"]+)"|([a-z0-9_-]+))/gi; - for (; ; ) { - const r3 = t3.headers && t3.headers.get("www-authenticate") || "", o3 = n3.exec(r3); - if (!o3) break; - e3[o3[1]] = o3[2] || o3[3]; - } - return e3.nc += 1, e3.cnonce = function() { - let t4 = ""; - for (let e4 = 0; e4 < 32; ++e4) t4 = `${t4}${w[Math.floor(16 * Math.random())]}`; - return t4; - }(), true; - }(n2, e2), function() { - if (e2.hasDigestAuth) return Y(et(t2 = B(t2, { headers: { Authorization: x(t2, e2) } })), function(t3) { - return 401 == t3.status ? e2.hasDigestAuth = false : e2.nc++, r2 = true, t3; - }); - }(); - e2.nc++; - }()) && i2.then ? i2.then(o2) : o2(i2); - var o2, i2; - }); -}), J = Z(function(t2, e2) { - return Y(et(t2), function(n2) { - return n2.ok ? (e2.authType = C.Password, n2) : 401 == n2.status && N(n2) ? (e2.authType = C.Digest, k(e2, e2.username, e2.password, void 0, void 0), t2._digest = e2.digest, K(t2)) : n2; - }); -}), Q = Z(function(t2, e2) { - return e2.authType === C.Auto ? J(t2, e2) : t2._digest ? K(t2) : et(t2); -}); -function tt(t2, e2, n2) { - const r2 = D(t2); - return r2.headers = z(e2.headers, r2.headers || {}, n2.headers || {}), void 0 !== n2.data && (r2.data = n2.data), n2.signal && (r2.signal = n2.signal), e2.httpAgent && (r2.httpAgent = e2.httpAgent), e2.httpsAgent && (r2.httpsAgent = e2.httpsAgent), e2.digest && (r2._digest = e2.digest), "boolean" == typeof e2.withCredentials && (r2.withCredentials = e2.withCredentials), r2; -} -function et(t2) { - const e2 = F(); - return e2.patchInline("request", (t3) => e2.patchInline("fetch", j, t3.url, function(t4) { - let e3 = {}; - const n2 = { method: t4.method }; - if (t4.headers && (e3 = z(e3, t4.headers)), void 0 !== t4.data) { - const [r2, o2] = function(t5) { - if ("string" == typeof t5) return [t5, {}]; - if (X(t5)) return [t5, {}]; - if (H(t5)) return [t5, {}]; - if (t5 && "object" == typeof t5) return [JSON.stringify(t5), { "content-type": "application/json" }]; - throw new Error("Unable to convert request body: Unexpected body type: " + typeof t5); - }(t4.data); - n2.body = r2, e3 = z(e3, o2); - } - return t4.signal && (n2.signal = t4.signal), t4.withCredentials && (n2.credentials = "include"), n2.headers = e3, n2; - }(t3)), t2); -} -var nt = n(285); -const rt = (t2) => { - if ("string" != typeof t2) throw new TypeError("invalid pattern"); - if (t2.length > 65536) throw new TypeError("pattern is too long"); -}, ot = { "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true], "[:alpha:]": ["\\p{L}\\p{Nl}", true], "[:ascii:]": ["\\x00-\\x7f", false], "[:blank:]": ["\\p{Zs}\\t", true], "[:cntrl:]": ["\\p{Cc}", true], "[:digit:]": ["\\p{Nd}", true], "[:graph:]": ["\\p{Z}\\p{C}", true, true], "[:lower:]": ["\\p{Ll}", true], "[:print:]": ["\\p{C}", true], "[:punct:]": ["\\p{P}", true], "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true], "[:upper:]": ["\\p{Lu}", true], "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true], "[:xdigit:]": ["A-Fa-f0-9", false] }, it = (t2) => t2.replace(/[[\]\\-]/g, "\\$&"), st = (t2) => t2.join(""), at = (t2, e2) => { - const n2 = e2; - if ("[" !== t2.charAt(n2)) throw new Error("not in a brace expression"); - const r2 = [], o2 = []; - let i2 = n2 + 1, s2 = false, a2 = false, u2 = false, c2 = false, l2 = n2, h2 = ""; - t: for (; i2 < t2.length; ) { - const e3 = t2.charAt(i2); - if ("!" !== e3 && "^" !== e3 || i2 !== n2 + 1) { - if ("]" === e3 && s2 && !u2) { - l2 = i2 + 1; - break; - } - if (s2 = true, "\\" !== e3 || u2) { - if ("[" === e3 && !u2) { - for (const [e4, [s3, u3, c3]] of Object.entries(ot)) if (t2.startsWith(e4, i2)) { - if (h2) return ["$.", false, t2.length - n2, true]; - i2 += e4.length, c3 ? o2.push(s3) : r2.push(s3), a2 = a2 || u3; - continue t; - } - } - u2 = false, h2 ? (e3 > h2 ? r2.push(it(h2) + "-" + it(e3)) : e3 === h2 && r2.push(it(e3)), h2 = "", i2++) : t2.startsWith("-]", i2 + 1) ? (r2.push(it(e3 + "-")), i2 += 2) : t2.startsWith("-", i2 + 1) ? (h2 = e3, i2 += 2) : (r2.push(it(e3)), i2++); - } else u2 = true, i2++; - } else c2 = true, i2++; - } - if (l2 < i2) return ["", false, 0, false]; - if (!r2.length && !o2.length) return ["$.", false, t2.length - n2, true]; - if (0 === o2.length && 1 === r2.length && /^\\?.$/.test(r2[0]) && !c2) { - return [(p2 = 2 === r2[0].length ? r2[0].slice(-1) : r2[0], p2.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")), false, l2 - n2, false]; - } - var p2; - const f2 = "[" + (c2 ? "^" : "") + st(r2) + "]", d2 = "[" + (c2 ? "" : "^") + st(o2) + "]"; - return [r2.length && o2.length ? "(" + f2 + "|" + d2 + ")" : r2.length ? f2 : d2, a2, l2 - n2, true]; -}, ut = function(t2) { - let { windowsPathsNoEscape: e2 = false } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2 ? t2.replace(/\[([^\/\\])\]/g, "$1") : t2.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1"); -}, ct = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]), lt = (t2) => ct.has(t2), ht = "(?!\\.)", pt = /* @__PURE__ */ new Set(["[", "."]), ft = /* @__PURE__ */ new Set(["..", "."]), dt = new Set("().*{}+?[]^$\\!"), gt = "[^/]", mt = gt + "*?", yt = gt + "+?"; -class vt { - type; - #t; - #e; - #n = false; - #r = []; - #o; - #i; - #s; - #a = false; - #u; - #c; - #l = false; - constructor(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - this.type = t2, t2 && (this.#e = true), this.#o = e2, this.#t = this.#o ? this.#o.#t : this, this.#u = this.#t === this ? n2 : this.#t.#u, this.#s = this.#t === this ? [] : this.#t.#s, "!" !== t2 || this.#t.#a || this.#s.push(this), this.#i = this.#o ? this.#o.#r.length : 0; - } - get hasMagic() { - if (void 0 !== this.#e) return this.#e; - for (const t2 of this.#r) if ("string" != typeof t2 && (t2.type || t2.hasMagic)) return this.#e = true; - return this.#e; - } - toString() { - return void 0 !== this.#c ? this.#c : this.type ? this.#c = this.type + "(" + this.#r.map((t2) => String(t2)).join("|") + ")" : this.#c = this.#r.map((t2) => String(t2)).join(""); - } - #h() { - if (this !== this.#t) throw new Error("should only call on root"); - if (this.#a) return this; - let t2; - for (this.toString(), this.#a = true; t2 = this.#s.pop(); ) { - if ("!" !== t2.type) continue; - let e2 = t2, n2 = e2.#o; - for (; n2; ) { - for (let r2 = e2.#i + 1; !n2.type && r2 < n2.#r.length; r2++) for (const e3 of t2.#r) { - if ("string" == typeof e3) throw new Error("string part in extglob AST??"); - e3.copyIn(n2.#r[r2]); - } - e2 = n2, n2 = e2.#o; - } - } - return this; - } - push() { - for (var t2 = arguments.length, e2 = new Array(t2), n2 = 0; n2 < t2; n2++) e2[n2] = arguments[n2]; - for (const t3 of e2) if ("" !== t3) { - if ("string" != typeof t3 && !(t3 instanceof vt && t3.#o === this)) throw new Error("invalid part: " + t3); - this.#r.push(t3); - } - } - toJSON() { - const t2 = null === this.type ? this.#r.slice().map((t3) => "string" == typeof t3 ? t3 : t3.toJSON()) : [this.type, ...this.#r.map((t3) => t3.toJSON())]; - return this.isStart() && !this.type && t2.unshift([]), this.isEnd() && (this === this.#t || this.#t.#a && "!" === this.#o?.type) && t2.push({}), t2; - } - isStart() { - if (this.#t === this) return true; - if (!this.#o?.isStart()) return false; - if (0 === this.#i) return true; - const t2 = this.#o; - for (let e2 = 0; e2 < this.#i; e2++) { - const n2 = t2.#r[e2]; - if (!(n2 instanceof vt && "!" === n2.type)) return false; - } - return true; - } - isEnd() { - if (this.#t === this) return true; - if ("!" === this.#o?.type) return true; - if (!this.#o?.isEnd()) return false; - if (!this.type) return this.#o?.isEnd(); - const t2 = this.#o ? this.#o.#r.length : 0; - return this.#i === t2 - 1; - } - copyIn(t2) { - "string" == typeof t2 ? this.push(t2) : this.push(t2.clone(this)); - } - clone(t2) { - const e2 = new vt(this.type, t2); - for (const t3 of this.#r) e2.copyIn(t3); - return e2; - } - static #p(t2, e2, n2, r2) { - let o2 = false, i2 = false, s2 = -1, a2 = false; - if (null === e2.type) { - let u3 = n2, c3 = ""; - for (; u3 < t2.length; ) { - const n3 = t2.charAt(u3++); - if (o2 || "\\" === n3) o2 = !o2, c3 += n3; - else if (i2) u3 === s2 + 1 ? "^" !== n3 && "!" !== n3 || (a2 = true) : "]" !== n3 || u3 === s2 + 2 && a2 || (i2 = false), c3 += n3; - else if ("[" !== n3) if (r2.noext || !lt(n3) || "(" !== t2.charAt(u3)) c3 += n3; - else { - e2.push(c3), c3 = ""; - const o3 = new vt(n3, e2); - u3 = vt.#p(t2, o3, u3, r2), e2.push(o3); - } - else i2 = true, s2 = u3, a2 = false, c3 += n3; - } - return e2.push(c3), u3; - } - let u2 = n2 + 1, c2 = new vt(null, e2); - const l2 = []; - let h2 = ""; - for (; u2 < t2.length; ) { - const n3 = t2.charAt(u2++); - if (o2 || "\\" === n3) o2 = !o2, h2 += n3; - else if (i2) u2 === s2 + 1 ? "^" !== n3 && "!" !== n3 || (a2 = true) : "]" !== n3 || u2 === s2 + 2 && a2 || (i2 = false), h2 += n3; - else if ("[" !== n3) if (lt(n3) && "(" === t2.charAt(u2)) { - c2.push(h2), h2 = ""; - const e3 = new vt(n3, c2); - c2.push(e3), u2 = vt.#p(t2, e3, u2, r2); - } else if ("|" !== n3) { - if (")" === n3) return "" === h2 && 0 === e2.#r.length && (e2.#l = true), c2.push(h2), h2 = "", e2.push(...l2, c2), u2; - h2 += n3; - } else c2.push(h2), h2 = "", l2.push(c2), c2 = new vt(null, e2); - else i2 = true, s2 = u2, a2 = false, h2 += n3; - } - return e2.type = null, e2.#e = void 0, e2.#r = [t2.substring(n2 - 1)], u2; - } - static fromGlob(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - const n2 = new vt(null, void 0, e2); - return vt.#p(t2, n2, 0, e2), n2; - } - toMMPattern() { - if (this !== this.#t) return this.#t.toMMPattern(); - const t2 = this.toString(), [e2, n2, r2, o2] = this.toRegExpSource(); - if (!(r2 || this.#e || this.#u.nocase && !this.#u.nocaseMagicOnly && t2.toUpperCase() !== t2.toLowerCase())) return n2; - const i2 = (this.#u.nocase ? "i" : "") + (o2 ? "u" : ""); - return Object.assign(new RegExp(`^${e2}$`, i2), { _src: e2, _glob: t2 }); - } - get options() { - return this.#u; - } - toRegExpSource(t2) { - const e2 = t2 ?? !!this.#u.dot; - if (this.#t === this && this.#h(), !this.type) { - const n3 = this.isStart() && this.isEnd(), r3 = this.#r.map((e3) => { - const [r4, o4, i4, s3] = "string" == typeof e3 ? vt.#f(e3, this.#e, n3) : e3.toRegExpSource(t2); - return this.#e = this.#e || i4, this.#n = this.#n || s3, r4; - }).join(""); - let o3 = ""; - if (this.isStart() && "string" == typeof this.#r[0] && (1 !== this.#r.length || !ft.has(this.#r[0]))) { - const n4 = pt, i4 = e2 && n4.has(r3.charAt(0)) || r3.startsWith("\\.") && n4.has(r3.charAt(2)) || r3.startsWith("\\.\\.") && n4.has(r3.charAt(4)), s3 = !e2 && !t2 && n4.has(r3.charAt(0)); - o3 = i4 ? "(?!(?:^|/)\\.\\.?(?:$|/))" : s3 ? ht : ""; - } - let i3 = ""; - return this.isEnd() && this.#t.#a && "!" === this.#o?.type && (i3 = "(?:$|\\/)"), [o3 + r3 + i3, ut(r3), this.#e = !!this.#e, this.#n]; - } - const n2 = "*" === this.type || "+" === this.type, r2 = "!" === this.type ? "(?:(?!(?:" : "(?:"; - let o2 = this.#d(e2); - if (this.isStart() && this.isEnd() && !o2 && "!" !== this.type) { - const t3 = this.toString(); - return this.#r = [t3], this.type = null, this.#e = void 0, [t3, ut(this.toString()), false, false]; - } - let i2 = !n2 || t2 || e2 ? "" : this.#d(true); - i2 === o2 && (i2 = ""), i2 && (o2 = `(?:${o2})(?:${i2})*?`); - let s2 = ""; - return s2 = "!" === this.type && this.#l ? (this.isStart() && !e2 ? ht : "") + yt : r2 + o2 + ("!" === this.type ? "))" + (!this.isStart() || e2 || t2 ? "" : ht) + mt + ")" : "@" === this.type ? ")" : "?" === this.type ? ")?" : "+" === this.type && i2 ? ")" : "*" === this.type && i2 ? ")?" : `)${this.type}`), [s2, ut(o2), this.#e = !!this.#e, this.#n]; - } - #d(t2) { - return this.#r.map((e2) => { - if ("string" == typeof e2) throw new Error("string type in extglob ast??"); - const [n2, r2, o2, i2] = e2.toRegExpSource(t2); - return this.#n = this.#n || i2, n2; - }).filter((t3) => !(this.isStart() && this.isEnd() && !t3)).join("|"); - } - static #f(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], r2 = false, o2 = "", i2 = false; - for (let s2 = 0; s2 < t2.length; s2++) { - const a2 = t2.charAt(s2); - if (r2) r2 = false, o2 += (dt.has(a2) ? "\\" : "") + a2; - else if ("\\" !== a2) { - if ("[" === a2) { - const [n3, r3, a3, u2] = at(t2, s2); - if (a3) { - o2 += n3, i2 = i2 || r3, s2 += a3 - 1, e2 = e2 || u2; - continue; - } - } - "*" !== a2 ? "?" !== a2 ? o2 += a2.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") : (o2 += gt, e2 = true) : (o2 += n2 && "*" === t2 ? yt : mt, e2 = true); - } else s2 === t2.length - 1 ? o2 += "\\\\" : r2 = true; - } - return [o2, ut(t2), !!e2, i2]; - } -} -const bt = function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - return rt(e2), !(!n2.nocomment && "#" === e2.charAt(0)) && new Gt(e2, n2).match(t2); -}, wt = /^\*+([^+@!?\*\[\(]*)$/, xt = (t2) => (e2) => !e2.startsWith(".") && e2.endsWith(t2), Nt = (t2) => (e2) => e2.endsWith(t2), Pt = (t2) => (t2 = t2.toLowerCase(), (e2) => !e2.startsWith(".") && e2.toLowerCase().endsWith(t2)), At = (t2) => (t2 = t2.toLowerCase(), (e2) => e2.toLowerCase().endsWith(t2)), Ot = /^\*+\.\*+$/, Et = (t2) => !t2.startsWith(".") && t2.includes("."), Tt = (t2) => "." !== t2 && ".." !== t2 && t2.includes("."), jt = /^\.\*+$/, St = (t2) => "." !== t2 && ".." !== t2 && t2.startsWith("."), $t = /^\*+$/, Ct = (t2) => 0 !== t2.length && !t2.startsWith("."), It = (t2) => 0 !== t2.length && "." !== t2 && ".." !== t2, kt = /^\?+([^+@!?\*\[\(]*)?$/, Rt = (t2) => { - let [e2, n2 = ""] = t2; - const r2 = Ut([e2]); - return n2 ? (n2 = n2.toLowerCase(), (t3) => r2(t3) && t3.toLowerCase().endsWith(n2)) : r2; -}, Lt = (t2) => { - let [e2, n2 = ""] = t2; - const r2 = Ft([e2]); - return n2 ? (n2 = n2.toLowerCase(), (t3) => r2(t3) && t3.toLowerCase().endsWith(n2)) : r2; -}, _t = (t2) => { - let [e2, n2 = ""] = t2; - const r2 = Ft([e2]); - return n2 ? (t3) => r2(t3) && t3.endsWith(n2) : r2; -}, Mt = (t2) => { - let [e2, n2 = ""] = t2; - const r2 = Ut([e2]); - return n2 ? (t3) => r2(t3) && t3.endsWith(n2) : r2; -}, Ut = (t2) => { - let [e2] = t2; - const n2 = e2.length; - return (t3) => t3.length === n2 && !t3.startsWith("."); -}, Ft = (t2) => { - let [e2] = t2; - const n2 = e2.length; - return (t3) => t3.length === n2 && "." !== t3 && ".." !== t3; -}, Dt = "object" == typeof process$1$1 && process$1$1 ? "object" == typeof define_process_env_default$1 && define_process_env_default$1 && define_process_env_default$1.__MINIMATCH_TESTING_PLATFORM__ || process$1$1.platform : "posix"; -bt.sep = "win32" === Dt ? "\\" : "/"; -const Bt = Symbol("globstar **"); -bt.GLOBSTAR = Bt, bt.filter = function(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return (n2) => bt(n2, t2, e2); -}; -const Wt = function(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return Object.assign({}, t2, e2); -}; -bt.defaults = (t2) => { - if (!t2 || "object" != typeof t2 || !Object.keys(t2).length) return bt; - const e2 = bt; - return Object.assign(function(n2, r2) { - return e2(n2, r2, Wt(t2, arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {})); - }, { Minimatch: class extends e2.Minimatch { - constructor(e3) { - super(e3, Wt(t2, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {})); - } - static defaults(n2) { - return e2.defaults(Wt(t2, n2)).Minimatch; - } - }, AST: class extends e2.AST { - constructor(e3, n2) { - super(e3, n2, Wt(t2, arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {})); - } - static fromGlob(n2) { - let r2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2.AST.fromGlob(n2, Wt(t2, r2)); - } - }, unescape: function(n2) { - let r2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2.unescape(n2, Wt(t2, r2)); - }, escape: function(n2) { - let r2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2.escape(n2, Wt(t2, r2)); - }, filter: function(n2) { - let r2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2.filter(n2, Wt(t2, r2)); - }, defaults: (n2) => e2.defaults(Wt(t2, n2)), makeRe: function(n2) { - let r2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2.makeRe(n2, Wt(t2, r2)); - }, braceExpand: function(n2) { - let r2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2.braceExpand(n2, Wt(t2, r2)); - }, match: function(n2, r2) { - let o2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - return e2.match(n2, r2, Wt(t2, o2)); - }, sep: e2.sep, GLOBSTAR: Bt }); -}; -const Vt = function(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return rt(t2), e2.nobrace || !/\{(?:(?!\{).)*\}/.test(t2) ? [t2] : nt(t2); -}; -bt.braceExpand = Vt, bt.makeRe = function(t2) { - return new Gt(t2, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}).makeRe(); -}, bt.match = function(t2, e2) { - const n2 = new Gt(e2, arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}); - return t2 = t2.filter((t3) => n2.match(t3)), n2.options.nonull && !t2.length && t2.push(e2), t2; -}; -const zt = /[?*]|[+@!]\(.*?\)|\[|\]/; -class Gt { - options; - set; - pattern; - windowsPathsNoEscape; - nonegate; - negate; - comment; - empty; - preserveMultipleSlashes; - partial; - globSet; - globParts; - nocase; - isWindows; - platform; - windowsNoMagicRoot; - regexp; - constructor(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - rt(t2), e2 = e2 || {}, this.options = e2, this.pattern = t2, this.platform = e2.platform || Dt, this.isWindows = "win32" === this.platform, this.windowsPathsNoEscape = !!e2.windowsPathsNoEscape || false === e2.allowWindowsEscape, this.windowsPathsNoEscape && (this.pattern = this.pattern.replace(/\\/g, "/")), this.preserveMultipleSlashes = !!e2.preserveMultipleSlashes, this.regexp = null, this.negate = false, this.nonegate = !!e2.nonegate, this.comment = false, this.empty = false, this.partial = !!e2.partial, this.nocase = !!this.options.nocase, this.windowsNoMagicRoot = void 0 !== e2.windowsNoMagicRoot ? e2.windowsNoMagicRoot : !(!this.isWindows || !this.nocase), this.globSet = [], this.globParts = [], this.set = [], this.make(); - } - hasMagic() { - if (this.options.magicalBraces && this.set.length > 1) return true; - for (const t2 of this.set) for (const e2 of t2) if ("string" != typeof e2) return true; - return false; - } - debug() { - } - make() { - const t2 = this.pattern, e2 = this.options; - if (!e2.nocomment && "#" === t2.charAt(0)) return void (this.comment = true); - if (!t2) return void (this.empty = true); - this.parseNegate(), this.globSet = [...new Set(this.braceExpand())], e2.debug && (this.debug = function() { - return console.error(...arguments); - }), this.debug(this.pattern, this.globSet); - const n2 = this.globSet.map((t3) => this.slashSplit(t3)); - this.globParts = this.preprocess(n2), this.debug(this.pattern, this.globParts); - let r2 = this.globParts.map((t3, e3, n3) => { - if (this.isWindows && this.windowsNoMagicRoot) { - const e4 = !("" !== t3[0] || "" !== t3[1] || "?" !== t3[2] && zt.test(t3[2]) || zt.test(t3[3])), n4 = /^[a-z]:/i.test(t3[0]); - if (e4) return [...t3.slice(0, 4), ...t3.slice(4).map((t4) => this.parse(t4))]; - if (n4) return [t3[0], ...t3.slice(1).map((t4) => this.parse(t4))]; - } - return t3.map((t4) => this.parse(t4)); - }); - if (this.debug(this.pattern, r2), this.set = r2.filter((t3) => -1 === t3.indexOf(false)), this.isWindows) for (let t3 = 0; t3 < this.set.length; t3++) { - const e3 = this.set[t3]; - "" === e3[0] && "" === e3[1] && "?" === this.globParts[t3][2] && "string" == typeof e3[3] && /^[a-z]:$/i.test(e3[3]) && (e3[2] = "?"); - } - this.debug(this.pattern, this.set); - } - preprocess(t2) { - if (this.options.noglobstar) for (let e3 = 0; e3 < t2.length; e3++) for (let n2 = 0; n2 < t2[e3].length; n2++) "**" === t2[e3][n2] && (t2[e3][n2] = "*"); - const { optimizationLevel: e2 = 1 } = this.options; - return e2 >= 2 ? (t2 = this.firstPhasePreProcess(t2), t2 = this.secondPhasePreProcess(t2)) : t2 = e2 >= 1 ? this.levelOneOptimize(t2) : this.adjascentGlobstarOptimize(t2), t2; - } - adjascentGlobstarOptimize(t2) { - return t2.map((t3) => { - let e2 = -1; - for (; -1 !== (e2 = t3.indexOf("**", e2 + 1)); ) { - let n2 = e2; - for (; "**" === t3[n2 + 1]; ) n2++; - n2 !== e2 && t3.splice(e2, n2 - e2); - } - return t3; - }); - } - levelOneOptimize(t2) { - return t2.map((t3) => 0 === (t3 = t3.reduce((t4, e2) => { - const n2 = t4[t4.length - 1]; - return "**" === e2 && "**" === n2 ? t4 : ".." === e2 && n2 && ".." !== n2 && "." !== n2 && "**" !== n2 ? (t4.pop(), t4) : (t4.push(e2), t4); - }, [])).length ? [""] : t3); - } - levelTwoFileOptimize(t2) { - Array.isArray(t2) || (t2 = this.slashSplit(t2)); - let e2 = false; - do { - if (e2 = false, !this.preserveMultipleSlashes) { - for (let n3 = 1; n3 < t2.length - 1; n3++) { - const r2 = t2[n3]; - 1 === n3 && "" === r2 && "" === t2[0] || "." !== r2 && "" !== r2 || (e2 = true, t2.splice(n3, 1), n3--); - } - "." !== t2[0] || 2 !== t2.length || "." !== t2[1] && "" !== t2[1] || (e2 = true, t2.pop()); - } - let n2 = 0; - for (; -1 !== (n2 = t2.indexOf("..", n2 + 1)); ) { - const r2 = t2[n2 - 1]; - r2 && "." !== r2 && ".." !== r2 && "**" !== r2 && (e2 = true, t2.splice(n2 - 1, 2), n2 -= 2); - } - } while (e2); - return 0 === t2.length ? [""] : t2; - } - firstPhasePreProcess(t2) { - let e2 = false; - do { - e2 = false; - for (let n2 of t2) { - let r2 = -1; - for (; -1 !== (r2 = n2.indexOf("**", r2 + 1)); ) { - let o3 = r2; - for (; "**" === n2[o3 + 1]; ) o3++; - o3 > r2 && n2.splice(r2 + 1, o3 - r2); - let i2 = n2[r2 + 1]; - const s2 = n2[r2 + 2], a2 = n2[r2 + 3]; - if (".." !== i2) continue; - if (!s2 || "." === s2 || ".." === s2 || !a2 || "." === a2 || ".." === a2) continue; - e2 = true, n2.splice(r2, 1); - const u2 = n2.slice(0); - u2[r2] = "**", t2.push(u2), r2--; - } - if (!this.preserveMultipleSlashes) { - for (let t3 = 1; t3 < n2.length - 1; t3++) { - const r3 = n2[t3]; - 1 === t3 && "" === r3 && "" === n2[0] || "." !== r3 && "" !== r3 || (e2 = true, n2.splice(t3, 1), t3--); - } - "." !== n2[0] || 2 !== n2.length || "." !== n2[1] && "" !== n2[1] || (e2 = true, n2.pop()); - } - let o2 = 0; - for (; -1 !== (o2 = n2.indexOf("..", o2 + 1)); ) { - const t3 = n2[o2 - 1]; - if (t3 && "." !== t3 && ".." !== t3 && "**" !== t3) { - e2 = true; - const t4 = 1 === o2 && "**" === n2[o2 + 1] ? ["."] : []; - n2.splice(o2 - 1, 2, ...t4), 0 === n2.length && n2.push(""), o2 -= 2; - } - } - } - } while (e2); - return t2; - } - secondPhasePreProcess(t2) { - for (let e2 = 0; e2 < t2.length - 1; e2++) for (let n2 = e2 + 1; n2 < t2.length; n2++) { - const r2 = this.partsMatch(t2[e2], t2[n2], !this.preserveMultipleSlashes); - if (r2) { - t2[e2] = [], t2[n2] = r2; - break; - } - } - return t2.filter((t3) => t3.length); - } - partsMatch(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], r2 = 0, o2 = 0, i2 = [], s2 = ""; - for (; r2 < t2.length && o2 < e2.length; ) if (t2[r2] === e2[o2]) i2.push("b" === s2 ? e2[o2] : t2[r2]), r2++, o2++; - else if (n2 && "**" === t2[r2] && e2[o2] === t2[r2 + 1]) i2.push(t2[r2]), r2++; - else if (n2 && "**" === e2[o2] && t2[r2] === e2[o2 + 1]) i2.push(e2[o2]), o2++; - else if ("*" !== t2[r2] || !e2[o2] || !this.options.dot && e2[o2].startsWith(".") || "**" === e2[o2]) { - if ("*" !== e2[o2] || !t2[r2] || !this.options.dot && t2[r2].startsWith(".") || "**" === t2[r2]) return false; - if ("a" === s2) return false; - s2 = "b", i2.push(e2[o2]), r2++, o2++; - } else { - if ("b" === s2) return false; - s2 = "a", i2.push(t2[r2]), r2++, o2++; - } - return t2.length === e2.length && i2; - } - parseNegate() { - if (this.nonegate) return; - const t2 = this.pattern; - let e2 = false, n2 = 0; - for (let r2 = 0; r2 < t2.length && "!" === t2.charAt(r2); r2++) e2 = !e2, n2++; - n2 && (this.pattern = t2.slice(n2)), this.negate = e2; - } - matchOne(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; - const r2 = this.options; - if (this.isWindows) { - const n3 = "string" == typeof t2[0] && /^[a-z]:$/i.test(t2[0]), r3 = !n3 && "" === t2[0] && "" === t2[1] && "?" === t2[2] && /^[a-z]:$/i.test(t2[3]), o3 = "string" == typeof e2[0] && /^[a-z]:$/i.test(e2[0]), i3 = r3 ? 3 : n3 ? 0 : void 0, s3 = !o3 && "" === e2[0] && "" === e2[1] && "?" === e2[2] && "string" == typeof e2[3] && /^[a-z]:$/i.test(e2[3]) ? 3 : o3 ? 0 : void 0; - if ("number" == typeof i3 && "number" == typeof s3) { - const [n4, r4] = [t2[i3], e2[s3]]; - n4.toLowerCase() === r4.toLowerCase() && (e2[s3] = n4, s3 > i3 ? e2 = e2.slice(s3) : i3 > s3 && (t2 = t2.slice(i3))); - } - } - const { optimizationLevel: o2 = 1 } = this.options; - o2 >= 2 && (t2 = this.levelTwoFileOptimize(t2)), this.debug("matchOne", this, { file: t2, pattern: e2 }), this.debug("matchOne", t2.length, e2.length); - for (var i2 = 0, s2 = 0, a2 = t2.length, u2 = e2.length; i2 < a2 && s2 < u2; i2++, s2++) { - this.debug("matchOne loop"); - var c2 = e2[s2], l2 = t2[i2]; - if (this.debug(e2, c2, l2), false === c2) return false; - if (c2 === Bt) { - this.debug("GLOBSTAR", [e2, c2, l2]); - var h2 = i2, p2 = s2 + 1; - if (p2 === u2) { - for (this.debug("** at the end"); i2 < a2; i2++) if ("." === t2[i2] || ".." === t2[i2] || !r2.dot && "." === t2[i2].charAt(0)) return false; - return true; - } - for (; h2 < a2; ) { - var f2 = t2[h2]; - if (this.debug("\nglobstar while", t2, h2, e2, p2, f2), this.matchOne(t2.slice(h2), e2.slice(p2), n2)) return this.debug("globstar found match!", h2, a2, f2), true; - if ("." === f2 || ".." === f2 || !r2.dot && "." === f2.charAt(0)) { - this.debug("dot detected!", t2, h2, e2, p2); - break; - } - this.debug("globstar swallow a segment, and continue"), h2++; - } - return !(!n2 || (this.debug("\n>>> no match, partial?", t2, h2, e2, p2), h2 !== a2)); - } - let o3; - if ("string" == typeof c2 ? (o3 = l2 === c2, this.debug("string match", c2, l2, o3)) : (o3 = c2.test(l2), this.debug("pattern match", c2, l2, o3)), !o3) return false; - } - if (i2 === a2 && s2 === u2) return true; - if (i2 === a2) return n2; - if (s2 === u2) return i2 === a2 - 1 && "" === t2[i2]; - throw new Error("wtf?"); - } - braceExpand() { - return Vt(this.pattern, this.options); - } - parse(t2) { - rt(t2); - const e2 = this.options; - if ("**" === t2) return Bt; - if ("" === t2) return ""; - let n2, r2 = null; - (n2 = t2.match($t)) ? r2 = e2.dot ? It : Ct : (n2 = t2.match(wt)) ? r2 = (e2.nocase ? e2.dot ? At : Pt : e2.dot ? Nt : xt)(n2[1]) : (n2 = t2.match(kt)) ? r2 = (e2.nocase ? e2.dot ? Lt : Rt : e2.dot ? _t : Mt)(n2) : (n2 = t2.match(Ot)) ? r2 = e2.dot ? Tt : Et : (n2 = t2.match(jt)) && (r2 = St); - const o2 = vt.fromGlob(t2, this.options).toMMPattern(); - return r2 && "object" == typeof o2 && Reflect.defineProperty(o2, "test", { value: r2 }), o2; - } - makeRe() { - if (this.regexp || false === this.regexp) return this.regexp; - const t2 = this.set; - if (!t2.length) return this.regexp = false, this.regexp; - const e2 = this.options, n2 = e2.noglobstar ? "[^/]*?" : e2.dot ? "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?" : "(?:(?!(?:\\/|^)\\.).)*?", r2 = new Set(e2.nocase ? ["i"] : []); - let o2 = t2.map((t3) => { - const e3 = t3.map((t4) => { - if (t4 instanceof RegExp) for (const e4 of t4.flags.split("")) r2.add(e4); - return "string" == typeof t4 ? t4.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") : t4 === Bt ? Bt : t4._src; - }); - return e3.forEach((t4, r3) => { - const o3 = e3[r3 + 1], i3 = e3[r3 - 1]; - t4 === Bt && i3 !== Bt && (void 0 === i3 ? void 0 !== o3 && o3 !== Bt ? e3[r3 + 1] = "(?:\\/|" + n2 + "\\/)?" + o3 : e3[r3] = n2 : void 0 === o3 ? e3[r3 - 1] = i3 + "(?:\\/|" + n2 + ")?" : o3 !== Bt && (e3[r3 - 1] = i3 + "(?:\\/|\\/" + n2 + "\\/)" + o3, e3[r3 + 1] = Bt)); - }), e3.filter((t4) => t4 !== Bt).join("/"); - }).join("|"); - const [i2, s2] = t2.length > 1 ? ["(?:", ")"] : ["", ""]; - o2 = "^" + i2 + o2 + s2 + "$", this.negate && (o2 = "^(?!" + o2 + ").+$"); - try { - this.regexp = new RegExp(o2, [...r2].join("")); - } catch (t3) { - this.regexp = false; - } - return this.regexp; - } - slashSplit(t2) { - return this.preserveMultipleSlashes ? t2.split("/") : this.isWindows && /^\/\/[^\/]+/.test(t2) ? ["", ...t2.split(/\/+/)] : t2.split(/\/+/); - } - match(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.partial; - if (this.debug("match", t2, this.pattern), this.comment) return false; - if (this.empty) return "" === t2; - if ("/" === t2 && e2) return true; - const n2 = this.options; - this.isWindows && (t2 = t2.split("\\").join("/")); - const r2 = this.slashSplit(t2); - this.debug(this.pattern, "split", r2); - const o2 = this.set; - this.debug(this.pattern, "set", o2); - let i2 = r2[r2.length - 1]; - if (!i2) for (let t3 = r2.length - 2; !i2 && t3 >= 0; t3--) i2 = r2[t3]; - for (let t3 = 0; t3 < o2.length; t3++) { - const s2 = o2[t3]; - let a2 = r2; - if (n2.matchBase && 1 === s2.length && (a2 = [i2]), this.matchOne(a2, s2, e2)) return !!n2.flipNegate || !this.negate; - } - return !n2.flipNegate && this.negate; - } - static defaults(t2) { - return bt.defaults(t2).Minimatch; - } -} -function qt(t2) { - const e2 = new Error(`${arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""}Invalid response: ${t2.status} ${t2.statusText}`); - return e2.status = t2.status, e2.response = t2, e2; -} -function Ht(t2, e2) { - const { status: n2 } = e2; - if (401 === n2 && t2.digest) return e2; - if (n2 >= 400) throw qt(e2); - return e2; -} -function Xt(t2, e2) { - return arguments.length > 2 && void 0 !== arguments[2] && arguments[2] ? { data: e2, headers: t2.headers ? V(t2.headers) : {}, status: t2.status, statusText: t2.statusText } : e2; -} -bt.AST = vt, bt.Minimatch = Gt, bt.escape = function(t2) { - let { windowsPathsNoEscape: e2 = false } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - return e2 ? t2.replace(/[?*()[\]]/g, "[$&]") : t2.replace(/[?*()[\]\\]/g, "\\$&"); -}, bt.unescape = ut; -const Zt = (Yt = function(t2, e2, n2) { - let r2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; - const o2 = tt({ url: y(t2.remoteURL, f(e2)), method: "COPY", headers: { Destination: y(t2.remoteURL, f(n2)), Overwrite: false === r2.overwrite ? "F" : "T", Depth: r2.shallow ? "0" : "infinity" } }, t2, r2); - return s2 = function(e3) { - Ht(t2, e3); - }, (i2 = Q(o2, t2)) && i2.then || (i2 = Promise.resolve(i2)), s2 ? i2.then(s2) : i2; - var i2, s2; -}, function() { - for (var t2 = [], e2 = 0; e2 < arguments.length; e2++) t2[e2] = arguments[e2]; - try { - return Promise.resolve(Yt.apply(this, t2)); - } catch (t3) { - return Promise.reject(t3); - } -}); -var Yt, Kt = n(635), Jt = n(829), Qt = n.n(Jt), te = function(t2) { - return t2.Array = "array", t2.Object = "object", t2.Original = "original", t2; -}(te || {}); -function ee(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : te.Original; - const r2 = Qt().get(t2, e2); - return "array" === n2 && false === Array.isArray(r2) ? [r2] : "object" === n2 && Array.isArray(r2) ? r2[0] : r2; -} -function ne(t2) { - return new Promise((e2) => { - e2(function(t3) { - const { multistatus: e3 } = t3; - if ("" === e3) return { multistatus: { response: [] } }; - if (!e3) throw new Error("Invalid response: No root multistatus found"); - const n2 = { multistatus: Array.isArray(e3) ? e3[0] : e3 }; - return Qt().set(n2, "multistatus.response", ee(n2, "multistatus.response", te.Array)), Qt().set(n2, "multistatus.response", Qt().get(n2, "multistatus.response").map((t4) => function(t5) { - const e4 = Object.assign({}, t5); - return e4.status ? Qt().set(e4, "status", ee(e4, "status", te.Object)) : (Qt().set(e4, "propstat", ee(e4, "propstat", te.Object)), Qt().set(e4, "propstat.prop", ee(e4, "propstat.prop", te.Object))), e4; - }(t4))), n2; - }(new Kt.XMLParser({ removeNSPrefix: true, numberParseOptions: { hex: true, leadingZeros: false } }).parse(t2))); - }); -} -function re(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; - const { getlastmodified: r2 = null, getcontentlength: o2 = "0", resourcetype: i2 = null, getcontenttype: s2 = null, getetag: a2 = null } = t2, u2 = i2 && "object" == typeof i2 && void 0 !== i2.collection ? "directory" : "file", c2 = { filename: e2, basename: l().basename(e2), lastmod: r2, size: parseInt(o2, 10), type: u2, etag: "string" == typeof a2 ? a2.replace(/"/g, "") : null }; - return "file" === u2 && (c2.mime = s2 && "string" == typeof s2 ? s2.split(";")[0] : ""), n2 && (void 0 !== t2.displayname && (t2.displayname = String(t2.displayname)), c2.props = t2), c2; -} -function oe(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], r2 = null; - try { - t2.multistatus.response[0].propstat && (r2 = t2.multistatus.response[0]); - } catch (t3) { - } - if (!r2) throw new Error("Failed getting item stat: bad response"); - const { propstat: { prop: o2, status: i2 } } = r2, [s2, a2, u2] = i2.split(" ", 3), c2 = parseInt(a2, 10); - if (c2 >= 400) { - const t3 = new Error(`Invalid response: ${c2} ${u2}`); - throw t3.status = c2, t3; - } - return re(o2, g(e2), n2); -} -function ie(t2) { - switch (String(t2)) { - case "-3": - return "unlimited"; - case "-2": - case "-1": - return "unknown"; - default: - return parseInt(String(t2), 10); - } -} -function se(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const ae = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const { details: r2 = false } = n2, o2 = tt({ url: y(t2.remoteURL, f(e2)), method: "PROPFIND", headers: { Accept: "text/plain,application/xml", Depth: "0" } }, t2, n2); - return se(Q(o2, t2), function(n3) { - return Ht(t2, n3), se(n3.text(), function(t3) { - return se(ne(t3), function(t4) { - const o3 = oe(t4, e2, r2); - return Xt(n3, o3, r2); - }); - }); - }); -}); -function ue(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const ce = le(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = function(t3) { - if (!t3 || "/" === t3) return []; - let e3 = t3; - const n3 = []; - do { - n3.push(e3), e3 = l().dirname(e3); - } while (e3 && "/" !== e3); - return n3; - }(g(e2)); - r2.sort((t3, e3) => t3.length > e3.length ? 1 : e3.length > t3.length ? -1 : 0); - let o2 = false; - return function(t3, e3, n3) { - if ("function" == typeof t3[fe]) { - let l2 = function(t4) { - try { - for (; !(r3 = s2.next()).done; ) if ((t4 = e3(r3.value)) && t4.then) { - if (!me(t4)) return void t4.then(l2, i2 || (i2 = de.bind(null, o3 = new ge(), 2))); - t4 = t4.v; - } - o3 ? de(o3, 1, t4) : o3 = t4; - } catch (t5) { - de(o3 || (o3 = new ge()), 2, t5); - } - }; - var r3, o3, i2, s2 = t3[fe](); - if (l2(), s2.return) { - var a2 = function(t4) { - try { - r3.done || s2.return(); - } catch (t5) { - } - return t4; - }; - if (o3 && o3.then) return o3.then(a2, function(t4) { - throw a2(t4); - }); - a2(); - } - return o3; - } - if (!("length" in t3)) throw new TypeError("Object is not iterable"); - for (var u2 = [], c2 = 0; c2 < t3.length; c2++) u2.push(t3[c2]); - return function(t4, e4, n4) { - var r4, o4, i3 = -1; - return function s3(a3) { - try { - for (; ++i3 < t4.length && (!n4 || !n4()); ) if ((a3 = e4(i3)) && a3.then) { - if (!me(a3)) return void a3.then(s3, o4 || (o4 = de.bind(null, r4 = new ge(), 2))); - a3 = a3.v; - } - r4 ? de(r4, 1, a3) : r4 = a3; - } catch (t5) { - de(r4 || (r4 = new ge()), 2, t5); - } - }(), r4; - }(u2, function(t4) { - return e3(u2[t4]); - }, n3); - }(r2, function(r3) { - return i2 = function() { - return function(n3, o3) { - try { - var i3 = ue(ae(t2, r3), function(t3) { - if ("directory" !== t3.type) throw new Error(`Path includes a file: ${e2}`); - }); - } catch (t3) { - return o3(t3); - } - return i3 && i3.then ? i3.then(void 0, o3) : i3; - }(0, function(e3) { - const i3 = e3; - return function() { - if (404 === i3.status) return o2 = true, pe(ye(t2, r3, { ...n2, recursive: false })); - throw e3; - }(); - }); - }, (s2 = function() { - if (o2) return pe(ye(t2, r3, { ...n2, recursive: false })); - }()) && s2.then ? s2.then(i2) : i2(); - var i2, s2; - }, function() { - return false; - }); -}); -function le(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -} -function he() { -} -function pe(t2, e2) { - return t2 && t2.then ? t2.then(he) : Promise.resolve(); -} -const fe = "undefined" != typeof Symbol ? Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator")) : "@@iterator"; -function de(t2, e2, n2) { - if (!t2.s) { - if (n2 instanceof ge) { - if (!n2.s) return void (n2.o = de.bind(null, t2, e2)); - 1 & e2 && (e2 = n2.s), n2 = n2.v; - } - if (n2 && n2.then) return void n2.then(de.bind(null, t2, e2), de.bind(null, t2, 2)); - t2.s = e2, t2.v = n2; - const r2 = t2.o; - r2 && r2(t2); - } -} -const ge = function() { - function t2() { - } - return t2.prototype.then = function(e2, n2) { - const r2 = new t2(), o2 = this.s; - if (o2) { - const t3 = 1 & o2 ? e2 : n2; - if (t3) { - try { - de(r2, 1, t3(this.v)); - } catch (t4) { - de(r2, 2, t4); - } - return r2; - } - return this; - } - return this.o = function(t3) { - try { - const o3 = t3.v; - 1 & t3.s ? de(r2, 1, e2 ? e2(o3) : o3) : n2 ? de(r2, 1, n2(o3)) : de(r2, 2, o3); - } catch (t4) { - de(r2, 2, t4); - } - }, r2; - }, t2; -}(); -function me(t2) { - return t2 instanceof ge && 1 & t2.s; -} -const ye = le(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - if (true === n2.recursive) return ce(t2, e2, n2); - const r2 = tt({ url: y(t2.remoteURL, (o2 = f(e2), o2.endsWith("/") ? o2 : o2 + "/")), method: "MKCOL" }, t2, n2); - var o2; - return ue(Q(r2, t2), function(e3) { - Ht(t2, e3); - }); -}); -var ve = n(388), be = n.n(ve); -const we = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = {}; - if ("object" == typeof n2.range && "number" == typeof n2.range.start) { - let t3 = `bytes=${n2.range.start}-`; - "number" == typeof n2.range.end && (t3 = `${t3}${n2.range.end}`), r2.Range = t3; - } - const o2 = tt({ url: y(t2.remoteURL, f(e2)), method: "GET", headers: r2 }, t2, n2); - return s2 = function(e3) { - if (Ht(t2, e3), r2.Range && 206 !== e3.status) { - const t3 = new Error(`Invalid response code for partial request: ${e3.status}`); - throw t3.status = e3.status, t3; - } - return n2.callback && setTimeout(() => { - n2.callback(e3); - }, 0), e3.body; - }, (i2 = Q(o2, t2)) && i2.then || (i2 = Promise.resolve(i2)), s2 ? i2.then(s2) : i2; - var i2, s2; -}), xe = () => { -}, Ne = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2, n2) { - n2.url || (n2.url = y(t2.remoteURL, f(e2))); - const r2 = tt(n2, t2, {}); - return i2 = function(e3) { - return Ht(t2, e3), e3; - }, (o2 = Q(r2, t2)) && o2.then || (o2 = Promise.resolve(o2)), i2 ? o2.then(i2) : o2; - var o2, i2; -}), Pe = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = tt({ url: y(t2.remoteURL, f(e2)), method: "DELETE" }, t2, n2); - return i2 = function(e3) { - Ht(t2, e3); - }, (o2 = Q(r2, t2)) && o2.then || (o2 = Promise.resolve(o2)), i2 ? o2.then(i2) : o2; - var o2, i2; -}), Ae = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - return function(r2, o2) { - try { - var i2 = (s2 = ae(t2, e2, n2), a2 = function() { - return true; - }, u2 ? a2 ? a2(s2) : s2 : (s2 && s2.then || (s2 = Promise.resolve(s2)), a2 ? s2.then(a2) : s2)); - } catch (t3) { - return o2(t3); - } - var s2, a2, u2; - return i2 && i2.then ? i2.then(void 0, o2) : i2; - }(0, function(t3) { - if (404 === t3.status) return false; - throw t3; - }); -}); -function Oe(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const Ee = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = tt({ url: y(t2.remoteURL, f(e2), "/"), method: "PROPFIND", headers: { Accept: "text/plain,application/xml", Depth: n2.deep ? "infinity" : "1" } }, t2, n2); - return Oe(Q(r2, t2), function(r3) { - return Ht(t2, r3), Oe(r3.text(), function(o2) { - if (!o2) throw new Error("Failed parsing directory contents: Empty response"); - return Oe(ne(o2), function(o3) { - const i2 = d(e2); - let s2 = function(t3, e3, n3) { - let r4 = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], o4 = arguments.length > 4 && void 0 !== arguments[4] && arguments[4]; - const i3 = l().join(e3, "/"), { multistatus: { response: s3 } } = t3, a2 = s3.map((t4) => { - const e4 = function(t5) { - try { - return t5.replace(/^https?:\/\/[^\/]+/, ""); - } catch (t6) { - throw new u(t6, "Failed normalising HREF"); - } - }(t4.href), { propstat: { prop: n4 } } = t4; - return re(n4, "/" === i3 ? decodeURIComponent(g(e4)) : g(l().relative(decodeURIComponent(i3), decodeURIComponent(e4))), r4); - }); - return o4 ? a2 : a2.filter((t4) => t4.basename && ("file" === t4.type || t4.filename !== n3.replace(/\/$/, ""))); - }(o3, d(t2.remoteBasePath || t2.remotePath), i2, n2.details, n2.includeSelf); - return n2.glob && (s2 = function(t3, e3) { - return t3.filter((t4) => bt(t4.filename, e3, { matchBase: true })); - }(s2, n2.glob)), Xt(r3, s2, n2.details); - }); - }); - }); -}); -function Te(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -} -const je = Te(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = tt({ url: y(t2.remoteURL, f(e2)), method: "GET", headers: { Accept: "text/plain" }, transformResponse: [Ie] }, t2, n2); - return Se(Q(r2, t2), function(e3) { - return Ht(t2, e3), Se(e3.text(), function(t3) { - return Xt(e3, t3, n2.details); - }); - }); -}); -function Se(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const $e = Te(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = tt({ url: y(t2.remoteURL, f(e2)), method: "GET" }, t2, n2); - return Se(Q(r2, t2), function(e3) { - let r3; - return Ht(t2, e3), function(t3, e4) { - var n3 = t3(); - return n3 && n3.then ? n3.then(e4) : e4(); - }(function() { - return Se(e3.arrayBuffer(), function(t3) { - r3 = t3; - }); - }, function() { - return Xt(e3, r3, n2.details); - }); - }); -}), Ce = Te(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const { format: r2 = "binary" } = n2; - if ("binary" !== r2 && "text" !== r2) throw new u({ info: { code: I.InvalidOutputFormat } }, `Invalid output format: ${r2}`); - return "text" === r2 ? je(t2, e2, n2) : $e(t2, e2, n2); -}), Ie = (t2) => t2; -function ke(t2) { - return new Kt.XMLBuilder({ attributeNamePrefix: "@_", format: true, ignoreAttributes: false, suppressEmptyNode: true }).build(Re({ lockinfo: { "@_xmlns:d": "DAV:", lockscope: { exclusive: {} }, locktype: { write: {} }, owner: { href: t2 } } }, "d")); -} -function Re(t2, e2) { - const n2 = { ...t2 }; - for (const t3 in n2) n2.hasOwnProperty(t3) && (n2[t3] && "object" == typeof n2[t3] && -1 === t3.indexOf(":") ? (n2[`${e2}:${t3}`] = Re(n2[t3], e2), delete n2[t3]) : false === /^@_/.test(t3) && (n2[`${e2}:${t3}`] = n2[t3], delete n2[t3])); - return n2; -} -function Le(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -function _e(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -} -const Me = _e(function(t2, e2, n2) { - let r2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; - const o2 = tt({ url: y(t2.remoteURL, f(e2)), method: "UNLOCK", headers: { "Lock-Token": n2 } }, t2, r2); - return Le(Q(o2, t2), function(e3) { - if (Ht(t2, e3), 204 !== e3.status && 200 !== e3.status) throw qt(e3); - }); -}), Ue = _e(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const { refreshToken: r2, timeout: o2 = Fe } = n2, i2 = { Accept: "text/plain,application/xml", Timeout: o2 }; - r2 && (i2.If = r2); - const s2 = tt({ url: y(t2.remoteURL, f(e2)), method: "LOCK", headers: i2, data: ke(t2.contactHref) }, t2, n2); - return Le(Q(s2, t2), function(e3) { - return Ht(t2, e3), Le(e3.text(), function(t3) { - const n3 = (i3 = t3, new Kt.XMLParser({ removeNSPrefix: true, parseAttributeValue: true, parseTagValue: true }).parse(i3)), r3 = Qt().get(n3, "prop.lockdiscovery.activelock.locktoken.href"), o3 = Qt().get(n3, "prop.lockdiscovery.activelock.timeout"); - var i3; - if (!r3) throw qt(e3, "No lock token received: "); - return { token: r3, serverTimeout: o3 }; - }); - }); -}), Fe = "Infinite, Second-4100000000"; -function De(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const Be = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - const n2 = e2.path || "/", r2 = tt({ url: y(t2.remoteURL, n2), method: "PROPFIND", headers: { Accept: "text/plain,application/xml", Depth: "0" } }, t2, e2); - return De(Q(r2, t2), function(n3) { - return Ht(t2, n3), De(n3.text(), function(t3) { - return De(ne(t3), function(t4) { - const r3 = function(t5) { - try { - const [e3] = t5.multistatus.response, { propstat: { prop: { "quota-used-bytes": n4, "quota-available-bytes": r4 } } } = e3; - return void 0 !== n4 && void 0 !== r4 ? { used: parseInt(String(n4), 10), available: ie(r4) } : null; - } catch (t6) { - } - return null; - }(t4); - return Xt(n3, r3, e2.details); - }); - }); - }); -}); -function We(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const Ve = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const { details: r2 = false } = n2, o2 = tt({ url: y(t2.remoteURL, f(e2)), method: "SEARCH", headers: { Accept: "text/plain,application/xml", "Content-Type": t2.headers["Content-Type"] || "application/xml; charset=utf-8" } }, t2, n2); - return We(Q(o2, t2), function(n3) { - return Ht(t2, n3), We(n3.text(), function(t3) { - return We(ne(t3), function(t4) { - const o3 = function(t5, e3, n4) { - const r3 = { truncated: false, results: [] }; - return r3.truncated = t5.multistatus.response.some((t6) => "507" === (t6.status || t6.propstat?.status).split(" ", 3)?.[1] && t6.href.replace(/\/$/, "").endsWith(f(e3).replace(/\/$/, ""))), t5.multistatus.response.forEach((t6) => { - if (void 0 === t6.propstat) return; - const e4 = t6.href.split("/").map(decodeURIComponent).join("/"); - r3.results.push(re(t6.propstat.prop, e4, n4)); - }), r3; - }(t4, e2, r2); - return Xt(n3, o3, r2); - }); - }); - }); -}), ze = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2, n2) { - let r2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; - const o2 = tt({ url: y(t2.remoteURL, f(e2)), method: "MOVE", headers: { Destination: y(t2.remoteURL, f(n2)), Overwrite: false === r2.overwrite ? "F" : "T" } }, t2, r2); - return s2 = function(e3) { - Ht(t2, e3); - }, (i2 = Q(o2, t2)) && i2.then || (i2 = Promise.resolve(i2)), s2 ? i2.then(s2) : i2; - var i2, s2; -}); -var Ge = n(172); -const qe = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2, n2) { - let r2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}; - const { contentLength: o2 = true, overwrite: i2 = true } = r2, s2 = { "Content-Type": "application/octet-stream" }; - false === o2 || (s2["Content-Length"] = "number" == typeof o2 ? `${o2}` : `${function(t3) { - if (H(t3)) return t3.byteLength; - if (X(t3)) return t3.length; - if ("string" == typeof t3) return (0, Ge.d)(t3); - throw new u({ info: { code: I.DataTypeNoLength } }, "Cannot calculate data length: Invalid type"); - }(n2)}`), i2 || (s2["If-None-Match"] = "*"); - const a2 = tt({ url: y(t2.remoteURL, f(e2)), method: "PUT", headers: s2, data: n2 }, t2, r2); - return l2 = function(e3) { - try { - Ht(t2, e3); - } catch (t3) { - const e4 = t3; - if (412 !== e4.status || i2) throw e4; - return false; - } - return true; - }, (c2 = Q(a2, t2)) && c2.then || (c2 = Promise.resolve(c2)), l2 ? c2.then(l2) : c2; - var c2, l2; -}), He = /* @__PURE__ */ function(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -}(function(t2, e2) { - let n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r2 = tt({ url: y(t2.remoteURL, f(e2)), method: "OPTIONS" }, t2, n2); - return i2 = function(e3) { - try { - Ht(t2, e3); - } catch (t3) { - throw t3; - } - return { compliance: (e3.headers.get("DAV") ?? "").split(",").map((t3) => t3.trim()), server: e3.headers.get("Server") ?? "" }; - }, (o2 = Q(r2, t2)) && o2.then || (o2 = Promise.resolve(o2)), i2 ? o2.then(i2) : o2; - var o2, i2; -}); -function Xe(t2, e2, n2) { - return t2 && t2.then || (t2 = Promise.resolve(t2)), e2 ? t2.then(e2) : t2; -} -const Ze = Je(function(t2, e2, n2, r2, o2) { - let i2 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {}; - if (n2 > r2 || n2 < 0) throw new u({ info: { code: I.InvalidUpdateRange } }, `Invalid update range ${n2} for partial update`); - const s2 = { "Content-Type": "application/octet-stream", "Content-Length": "" + (r2 - n2 + 1), "Content-Range": `bytes ${n2}-${r2}/*` }, a2 = tt({ url: y(t2.remoteURL, f(e2)), method: "PUT", headers: s2, data: o2 }, t2, i2); - return Xe(Q(a2, t2), function(e3) { - Ht(t2, e3); - }); -}); -function Ye(t2, e2) { - var n2 = t2(); - return n2 && n2.then ? n2.then(e2) : e2(n2); -} -const Ke = Je(function(t2, e2, n2, r2, o2) { - let i2 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {}; - if (n2 > r2 || n2 < 0) throw new u({ info: { code: I.InvalidUpdateRange } }, `Invalid update range ${n2} for partial update`); - const s2 = { "Content-Type": "application/x-sabredav-partialupdate", "Content-Length": "" + (r2 - n2 + 1), "X-Update-Range": `bytes=${n2}-${r2}` }, a2 = tt({ url: y(t2.remoteURL, f(e2)), method: "PATCH", headers: s2, data: o2 }, t2, i2); - return Xe(Q(a2, t2), function(e3) { - Ht(t2, e3); - }); -}); -function Je(t2) { - return function() { - for (var e2 = [], n2 = 0; n2 < arguments.length; n2++) e2[n2] = arguments[n2]; - try { - return Promise.resolve(t2.apply(this, e2)); - } catch (t3) { - return Promise.reject(t3); - } - }; -} -const Qe = Je(function(t2, e2, n2, r2, o2) { - let i2 = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {}; - return Xe(He(t2, e2, i2), function(s2) { - let a2 = false; - return Ye(function() { - if (s2.compliance.includes("sabredav-partialupdate")) return Xe(Ke(t2, e2, n2, r2, o2, i2), function(t3) { - return a2 = true, t3; - }); - }, function(c2) { - let l2 = false; - return a2 ? c2 : Ye(function() { - if (s2.server.includes("Apache") && s2.compliance.includes("")) return Xe(Ze(t2, e2, n2, r2, o2, i2), function(t3) { - return l2 = true, t3; - }); - }, function(t3) { - if (l2) return t3; - throw new u({ info: { code: I.NotSupported } }, "Not supported"); - }); - }); - }); -}), tn = "https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md"; -function en(t2) { - let e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; - const { authType: n2 = null, remoteBasePath: r2, contactHref: o2 = tn, ha1: i2, headers: s2 = {}, httpAgent: a2, httpsAgent: c2, password: l2, token: h2, username: p2, withCredentials: d2 } = e2; - let g2 = n2; - g2 || (g2 = p2 || l2 ? C.Password : C.None); - const v2 = { authType: g2, remoteBasePath: r2, contactHref: o2, ha1: i2, headers: Object.assign({}, s2), httpAgent: a2, httpsAgent: c2, password: l2, remotePath: m(t2), remoteURL: t2, token: h2, username: p2, withCredentials: d2 }; - return k(v2, p2, l2, h2, i2), { copyFile: (t3, e3, n3) => Zt(v2, t3, e3, n3), createDirectory: (t3, e3) => ye(v2, t3, e3), createReadStream: (t3, e3) => function(t4, e4) { - let n3 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; - const r3 = new (be()).PassThrough(); - return we(t4, e4, n3).then((t5) => { - t5.pipe(r3); - }).catch((t5) => { - r3.emit("error", t5); - }), r3; - }(v2, t3, e3), createWriteStream: (t3, e3, n3) => function(t4, e4) { - let n4 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, r3 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : xe; - const o3 = new (be()).PassThrough(), i3 = {}; - false === n4.overwrite && (i3["If-None-Match"] = "*"); - const s3 = tt({ url: y(t4.remoteURL, f(e4)), method: "PUT", headers: i3, data: o3, maxRedirects: 0 }, t4, n4); - return Q(s3, t4).then((e5) => Ht(t4, e5)).then((t5) => { - setTimeout(() => { - r3(t5); - }, 0); - }).catch((t5) => { - o3.emit("error", t5); - }), o3; - }(v2, t3, e3, n3), customRequest: (t3, e3) => Ne(v2, t3, e3), deleteFile: (t3, e3) => Pe(v2, t3, e3), exists: (t3, e3) => Ae(v2, t3, e3), getDirectoryContents: (t3, e3) => Ee(v2, t3, e3), getFileContents: (t3, e3) => Ce(v2, t3, e3), getFileDownloadLink: (t3) => function(t4, e3) { - let n3 = y(t4.remoteURL, f(e3)); - const r3 = /^https:/i.test(n3) ? "https" : "http"; - switch (t4.authType) { - case C.None: - break; - case C.Password: { - const e4 = O(t4.headers.Authorization.replace(/^Basic /i, "").trim()); - n3 = n3.replace(/^https?:\/\//, `${r3}://${e4}@`); - break; - } - default: - throw new u({ info: { code: I.LinkUnsupportedAuthType } }, `Unsupported auth type for file link: ${t4.authType}`); - } - return n3; - }(v2, t3), getFileUploadLink: (t3) => function(t4, e3) { - let n3 = `${y(t4.remoteURL, f(e3))}?Content-Type=application/octet-stream`; - const r3 = /^https:/i.test(n3) ? "https" : "http"; - switch (t4.authType) { - case C.None: - break; - case C.Password: { - const e4 = O(t4.headers.Authorization.replace(/^Basic /i, "").trim()); - n3 = n3.replace(/^https?:\/\//, `${r3}://${e4}@`); - break; - } - default: - throw new u({ info: { code: I.LinkUnsupportedAuthType } }, `Unsupported auth type for file link: ${t4.authType}`); - } - return n3; - }(v2, t3), getHeaders: () => Object.assign({}, v2.headers), getQuota: (t3) => Be(v2, t3), lock: (t3, e3) => Ue(v2, t3, e3), moveFile: (t3, e3, n3) => ze(v2, t3, e3, n3), putFileContents: (t3, e3, n3) => qe(v2, t3, e3, n3), partialUpdateFileContents: (t3, e3, n3, r3, o3) => Qe(v2, t3, e3, n3, r3, o3), getDAVCompliance: (t3) => He(v2, t3), search: (t3, e3) => Ve(v2, t3, e3), setHeaders: (t3) => { - v2.headers = Object.assign({}, t3); - }, stat: (t3, e3) => ae(v2, t3, e3), unlock: (t3, e3, n3) => Me(v2, t3, e3, n3) }; -} -r.hT; -r.O4; -r.Kd; -r.YK; -r.UU; -r.Gu; -r.ky; -r.h4; -r.ch; -r.hq; -r.i5; -function loadState(app, key, fallback) { - const elem = document.querySelector(`#initial-state-${app}-${key}`); - if (elem === null) { - { - return fallback; - } - } - try { - return JSON.parse(atob(elem.value)); - } catch (e2) { - throw new Error(`Could not parse initial state ${key} of ${app}`); - } -} -function isPublicShare() { - return loadState("files_sharing", "isPublic", null) ?? document.querySelector( - 'input#isPublic[type="hidden"][name="isPublic"][value="1"]' - ) !== null; -} -function getSharingToken() { - return loadState("files_sharing", "sharingToken", null) ?? document.querySelector('input#sharingToken[type="hidden"]')?.value ?? null; -} -/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */ -const { - entries, - setPrototypeOf, - isFrozen, - getPrototypeOf: getPrototypeOf$1, - getOwnPropertyDescriptor: getOwnPropertyDescriptor$2 -} = Object; -let { - freeze, - seal, - create: create$1 -} = Object; -let { - apply: apply$2, - construct -} = typeof Reflect !== "undefined" && Reflect; -if (!freeze) { - freeze = function freeze2(x2) { - return x2; - }; -} -if (!seal) { - seal = function seal2(x2) { - return x2; - }; -} -if (!apply$2) { - apply$2 = function apply2(fun, thisValue, args) { - return fun.apply(thisValue, args); - }; -} -if (!construct) { - construct = function construct2(Func, args) { - return new Func(...args); - }; -} -const arrayForEach = unapply(Array.prototype.forEach); -const arrayPop = unapply(Array.prototype.pop); -const arrayPush = unapply(Array.prototype.push); -const stringToLowerCase = unapply(String.prototype.toLowerCase); -const stringToString = unapply(String.prototype.toString); -const stringMatch = unapply(String.prototype.match); -const stringReplace = unapply(String.prototype.replace); -const stringIndexOf$1 = unapply(String.prototype.indexOf); -const stringTrim = unapply(String.prototype.trim); -const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty); -const regExpTest = unapply(RegExp.prototype.test); -const typeErrorCreate = unconstruct(TypeError); -function unapply(func) { - return function(thisArg) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - return apply$2(func, thisArg, args); - }; -} -function unconstruct(func) { - return function() { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - return construct(func, args); - }; -} -function addToSet(set2, array) { - let transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase; - if (setPrototypeOf) { - setPrototypeOf(set2, null); - } - let l2 = array.length; - while (l2--) { - let element = array[l2]; - if (typeof element === "string") { - const lcElement = transformCaseFunc(element); - if (lcElement !== element) { - if (!isFrozen(array)) { - array[l2] = lcElement; - } - element = lcElement; - } - } - set2[element] = true; - } - return set2; -} -function cleanArray(array) { - for (let index = 0; index < array.length; index++) { - const isPropertyExist = objectHasOwnProperty(array, index); - if (!isPropertyExist) { - array[index] = null; - } - } - return array; -} -function clone(object) { - const newObject = create$1(null); - for (const [property, value] of entries(object)) { - const isPropertyExist = objectHasOwnProperty(object, property); - if (isPropertyExist) { - if (Array.isArray(value)) { - newObject[property] = cleanArray(value); - } else if (value && typeof value === "object" && value.constructor === Object) { - newObject[property] = clone(value); - } else { - newObject[property] = value; - } - } - } - return newObject; -} -function lookupGetter(object, prop) { - while (object !== null) { - const desc = getOwnPropertyDescriptor$2(object, prop); - if (desc) { - if (desc.get) { - return unapply(desc.get); - } - if (typeof desc.value === "function") { - return unapply(desc.value); - } - } - object = getPrototypeOf$1(object); - } - function fallbackValue() { - return null; - } - return fallbackValue; -} -const html$1$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]); -const svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]); -const svgFilters = freeze(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]); -const svgDisallowed = freeze(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]); -const mathMl$1 = freeze(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]); -const mathMlDisallowed = freeze(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]); -const text = freeze(["#text"]); -const html$2 = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]); -const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]); -const mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]); -const xml = freeze(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]); -const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); -const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm); -const TMPLIT_EXPR = seal(/\${[\w\W]*}/gm); -const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); -const ARIA_ATTR = seal(/^aria-[\-\w]+$/); -const IS_ALLOWED_URI = seal( - /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i - // eslint-disable-line no-useless-escape -); -const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); -const ATTR_WHITESPACE = seal( - /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g - // eslint-disable-line no-control-regex -); -const DOCTYPE_NAME = seal(/^html$/i); -const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i); -var EXPRESSIONS = /* @__PURE__ */ Object.freeze({ - __proto__: null, - MUSTACHE_EXPR, - ERB_EXPR, - TMPLIT_EXPR, - DATA_ATTR, - ARIA_ATTR, - IS_ALLOWED_URI, - IS_SCRIPT_OR_DATA, - ATTR_WHITESPACE, - DOCTYPE_NAME, - CUSTOM_ELEMENT -}); -const NODE_TYPE = { - element: 1, - attribute: 2, - text: 3, - cdataSection: 4, - entityReference: 5, - // Deprecated - entityNode: 6, - // Deprecated - progressingInstruction: 7, - comment: 8, - document: 9, - documentType: 10, - documentFragment: 11, - notation: 12 - // Deprecated -}; -const getGlobal = function getGlobal2() { - return typeof window === "undefined" ? null : window; -}; -const _createTrustedTypesPolicy = function _createTrustedTypesPolicy2(trustedTypes, purifyHostElement) { - if (typeof trustedTypes !== "object" || typeof trustedTypes.createPolicy !== "function") { - return null; - } - let suffix = null; - const ATTR_NAME = "data-tt-policy-suffix"; - if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) { - suffix = purifyHostElement.getAttribute(ATTR_NAME); - } - const policyName = "dompurify" + (suffix ? "#" + suffix : ""); - try { - return trustedTypes.createPolicy(policyName, { - createHTML(html2) { - return html2; - }, - createScriptURL(scriptUrl) { - return scriptUrl; - } - }); - } catch (_2) { - console.warn("TrustedTypes policy " + policyName + " could not be created."); - return null; - } -}; -function createDOMPurify() { - let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal(); - const DOMPurify = (root) => createDOMPurify(root); - DOMPurify.version = "3.1.6"; - DOMPurify.removed = []; - if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document) { - DOMPurify.isSupported = false; - return DOMPurify; - } - let { - document: document2 - } = window2; - const originalDocument = document2; - const currentScript = originalDocument.currentScript; - const { - DocumentFragment, - HTMLTemplateElement, - Node: Node2, - Element, - NodeFilter, - NamedNodeMap = window2.NamedNodeMap || window2.MozNamedAttrMap, - HTMLFormElement, - DOMParser, - trustedTypes - } = window2; - const ElementPrototype = Element.prototype; - const cloneNode = lookupGetter(ElementPrototype, "cloneNode"); - const remove = lookupGetter(ElementPrototype, "remove"); - const getNextSibling = lookupGetter(ElementPrototype, "nextSibling"); - const getChildNodes = lookupGetter(ElementPrototype, "childNodes"); - const getParentNode = lookupGetter(ElementPrototype, "parentNode"); - if (typeof HTMLTemplateElement === "function") { - const template = document2.createElement("template"); - if (template.content && template.content.ownerDocument) { - document2 = template.content.ownerDocument; - } - } - let trustedTypesPolicy; - let emptyHTML = ""; - const { - implementation, - createNodeIterator, - createDocumentFragment, - getElementsByTagName - } = document2; - const { - importNode - } = originalDocument; - let hooks = {}; - DOMPurify.isSupported = typeof entries === "function" && typeof getParentNode === "function" && implementation && implementation.createHTMLDocument !== void 0; - const { - MUSTACHE_EXPR: MUSTACHE_EXPR2, - ERB_EXPR: ERB_EXPR2, - TMPLIT_EXPR: TMPLIT_EXPR2, - DATA_ATTR: DATA_ATTR2, - ARIA_ATTR: ARIA_ATTR2, - IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA2, - ATTR_WHITESPACE: ATTR_WHITESPACE2, - CUSTOM_ELEMENT: CUSTOM_ELEMENT2 - } = EXPRESSIONS; - let { - IS_ALLOWED_URI: IS_ALLOWED_URI$1 - } = EXPRESSIONS; - let ALLOWED_TAGS = null; - const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]); - let ALLOWED_ATTR = null; - const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html$2, ...svg, ...mathMl, ...xml]); - let CUSTOM_ELEMENT_HANDLING = Object.seal(create$1(null, { - tagNameCheck: { - writable: true, - configurable: false, - enumerable: true, - value: null - }, - attributeNameCheck: { - writable: true, - configurable: false, - enumerable: true, - value: null - }, - allowCustomizedBuiltInElements: { - writable: true, - configurable: false, - enumerable: true, - value: false - } - })); - let FORBID_TAGS = null; - let FORBID_ATTR = null; - let ALLOW_ARIA_ATTR = true; - let ALLOW_DATA_ATTR = true; - let ALLOW_UNKNOWN_PROTOCOLS = false; - let ALLOW_SELF_CLOSE_IN_ATTR = true; - let SAFE_FOR_TEMPLATES = false; - let SAFE_FOR_XML = true; - let WHOLE_DOCUMENT = false; - let SET_CONFIG = false; - let FORCE_BODY = false; - let RETURN_DOM = false; - let RETURN_DOM_FRAGMENT = false; - let RETURN_TRUSTED_TYPE = false; - let SANITIZE_DOM = true; - let SANITIZE_NAMED_PROPS = false; - const SANITIZE_NAMED_PROPS_PREFIX = "user-content-"; - let KEEP_CONTENT = true; - let IN_PLACE = false; - let USE_PROFILES = {}; - let FORBID_CONTENTS = null; - const DEFAULT_FORBID_CONTENTS = addToSet({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]); - let DATA_URI_TAGS = null; - const DEFAULT_DATA_URI_TAGS = addToSet({}, ["audio", "video", "img", "source", "image", "track"]); - let URI_SAFE_ATTRIBUTES = null; - const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]); - const MATHML_NAMESPACE = "http://www.w3.org/1998/Math/MathML"; - const SVG_NAMESPACE = "http://www.w3.org/2000/svg"; - const HTML_NAMESPACE = "http://www.w3.org/1999/xhtml"; - let NAMESPACE = HTML_NAMESPACE; - let IS_EMPTY_INPUT = false; - let ALLOWED_NAMESPACES = null; - const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString); - let PARSER_MEDIA_TYPE = null; - const SUPPORTED_PARSER_MEDIA_TYPES = ["application/xhtml+xml", "text/html"]; - const DEFAULT_PARSER_MEDIA_TYPE = "text/html"; - let transformCaseFunc = null; - let CONFIG = null; - const formElement = document2.createElement("form"); - const isRegexOrFunction = function isRegexOrFunction2(testValue) { - return testValue instanceof RegExp || testValue instanceof Function; - }; - const _parseConfig = function _parseConfig2() { - let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - if (CONFIG && CONFIG === cfg) { - return; - } - if (!cfg || typeof cfg !== "object") { - cfg = {}; - } - cfg = clone(cfg); - PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes - SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE; - transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase; - ALLOWED_TAGS = objectHasOwnProperty(cfg, "ALLOWED_TAGS") ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS; - ALLOWED_ATTR = objectHasOwnProperty(cfg, "ALLOWED_ATTR") ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR; - ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, "ALLOWED_NAMESPACES") ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES; - URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet( - clone(DEFAULT_URI_SAFE_ATTRIBUTES), - // eslint-disable-line indent - cfg.ADD_URI_SAFE_ATTR, - // eslint-disable-line indent - transformCaseFunc - // eslint-disable-line indent - ) : DEFAULT_URI_SAFE_ATTRIBUTES; - DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet( - clone(DEFAULT_DATA_URI_TAGS), - // eslint-disable-line indent - cfg.ADD_DATA_URI_TAGS, - // eslint-disable-line indent - transformCaseFunc - // eslint-disable-line indent - ) : DEFAULT_DATA_URI_TAGS; - FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS; - FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {}; - FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {}; - USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false; - ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; - ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; - ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; - ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; - SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; - SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; - WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; - RETURN_DOM = cfg.RETURN_DOM || false; - RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; - RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; - FORCE_BODY = cfg.FORCE_BODY || false; - SANITIZE_DOM = cfg.SANITIZE_DOM !== false; - SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; - KEEP_CONTENT = cfg.KEEP_CONTENT !== false; - IN_PLACE = cfg.IN_PLACE || false; - IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI; - NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE; - CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {}; - if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) { - CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck; - } - if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) { - CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck; - } - if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === "boolean") { - CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements; - } - if (SAFE_FOR_TEMPLATES) { - ALLOW_DATA_ATTR = false; - } - if (RETURN_DOM_FRAGMENT) { - RETURN_DOM = true; - } - if (USE_PROFILES) { - ALLOWED_TAGS = addToSet({}, text); - ALLOWED_ATTR = []; - if (USE_PROFILES.html === true) { - addToSet(ALLOWED_TAGS, html$1$1); - addToSet(ALLOWED_ATTR, html$2); - } - if (USE_PROFILES.svg === true) { - addToSet(ALLOWED_TAGS, svg$1); - addToSet(ALLOWED_ATTR, svg); - addToSet(ALLOWED_ATTR, xml); - } - if (USE_PROFILES.svgFilters === true) { - addToSet(ALLOWED_TAGS, svgFilters); - addToSet(ALLOWED_ATTR, svg); - addToSet(ALLOWED_ATTR, xml); - } - if (USE_PROFILES.mathMl === true) { - addToSet(ALLOWED_TAGS, mathMl$1); - addToSet(ALLOWED_ATTR, mathMl); - addToSet(ALLOWED_ATTR, xml); - } - } - if (cfg.ADD_TAGS) { - if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) { - ALLOWED_TAGS = clone(ALLOWED_TAGS); - } - addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc); - } - if (cfg.ADD_ATTR) { - if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) { - ALLOWED_ATTR = clone(ALLOWED_ATTR); - } - addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc); - } - if (cfg.ADD_URI_SAFE_ATTR) { - addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc); - } - if (cfg.FORBID_CONTENTS) { - if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) { - FORBID_CONTENTS = clone(FORBID_CONTENTS); - } - addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc); - } - if (KEEP_CONTENT) { - ALLOWED_TAGS["#text"] = true; - } - if (WHOLE_DOCUMENT) { - addToSet(ALLOWED_TAGS, ["html", "head", "body"]); - } - if (ALLOWED_TAGS.table) { - addToSet(ALLOWED_TAGS, ["tbody"]); - delete FORBID_TAGS.tbody; - } - if (cfg.TRUSTED_TYPES_POLICY) { - if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== "function") { - throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.'); - } - if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") { - throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'); - } - trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY; - emptyHTML = trustedTypesPolicy.createHTML(""); - } else { - if (trustedTypesPolicy === void 0) { - trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript); - } - if (trustedTypesPolicy !== null && typeof emptyHTML === "string") { - emptyHTML = trustedTypesPolicy.createHTML(""); - } - } - if (freeze) { - freeze(cfg); - } - CONFIG = cfg; - }; - const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ["mi", "mo", "mn", "ms", "mtext"]); - const HTML_INTEGRATION_POINTS = addToSet({}, ["foreignobject", "annotation-xml"]); - const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ["title", "style", "font", "a", "script"]); - const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]); - const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]); - const _checkValidNamespace = function _checkValidNamespace2(element) { - let parent = getParentNode(element); - if (!parent || !parent.tagName) { - parent = { - namespaceURI: NAMESPACE, - tagName: "template" - }; - } - const tagName = stringToLowerCase(element.tagName); - const parentTagName = stringToLowerCase(parent.tagName); - if (!ALLOWED_NAMESPACES[element.namespaceURI]) { - return false; - } - if (element.namespaceURI === SVG_NAMESPACE) { - if (parent.namespaceURI === HTML_NAMESPACE) { - return tagName === "svg"; - } - if (parent.namespaceURI === MATHML_NAMESPACE) { - return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]); - } - return Boolean(ALL_SVG_TAGS[tagName]); - } - if (element.namespaceURI === MATHML_NAMESPACE) { - if (parent.namespaceURI === HTML_NAMESPACE) { - return tagName === "math"; - } - if (parent.namespaceURI === SVG_NAMESPACE) { - return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName]; - } - return Boolean(ALL_MATHML_TAGS[tagName]); - } - if (element.namespaceURI === HTML_NAMESPACE) { - if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) { - return false; - } - if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) { - return false; - } - return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]); - } - if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && ALLOWED_NAMESPACES[element.namespaceURI]) { - return true; - } - return false; - }; - const _forceRemove = function _forceRemove2(node) { - arrayPush(DOMPurify.removed, { - element: node - }); - try { - getParentNode(node).removeChild(node); - } catch (_2) { - remove(node); - } - }; - const _removeAttribute = function _removeAttribute2(name, node) { - try { - arrayPush(DOMPurify.removed, { - attribute: node.getAttributeNode(name), - from: node - }); - } catch (_2) { - arrayPush(DOMPurify.removed, { - attribute: null, - from: node - }); - } - node.removeAttribute(name); - if (name === "is" && !ALLOWED_ATTR[name]) { - if (RETURN_DOM || RETURN_DOM_FRAGMENT) { - try { - _forceRemove(node); - } catch (_2) { - } - } else { - try { - node.setAttribute(name, ""); - } catch (_2) { - } - } - } - }; - const _initDocument = function _initDocument2(dirty) { - let doc = null; - let leadingWhitespace = null; - if (FORCE_BODY) { - dirty = "" + dirty; - } else { - const matches = stringMatch(dirty, /^[\r\n\t ]+/); - leadingWhitespace = matches && matches[0]; - } - if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) { - dirty = '' + dirty + ""; - } - const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty; - if (NAMESPACE === HTML_NAMESPACE) { - try { - doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE); - } catch (_2) { - } - } - if (!doc || !doc.documentElement) { - doc = implementation.createDocument(NAMESPACE, "template", null); - try { - doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload; - } catch (_2) { - } - } - const body = doc.body || doc.documentElement; - if (dirty && leadingWhitespace) { - body.insertBefore(document2.createTextNode(leadingWhitespace), body.childNodes[0] || null); - } - if (NAMESPACE === HTML_NAMESPACE) { - return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? "html" : "body")[0]; - } - return WHOLE_DOCUMENT ? doc.documentElement : body; - }; - const _createNodeIterator = function _createNodeIterator2(root) { - return createNodeIterator.call( - root.ownerDocument || root, - root, - // eslint-disable-next-line no-bitwise - NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, - null - ); - }; - const _isClobbered = function _isClobbered2(elm) { - return elm instanceof HTMLFormElement && (typeof elm.nodeName !== "string" || typeof elm.textContent !== "string" || typeof elm.removeChild !== "function" || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== "function" || typeof elm.setAttribute !== "function" || typeof elm.namespaceURI !== "string" || typeof elm.insertBefore !== "function" || typeof elm.hasChildNodes !== "function"); - }; - const _isNode = function _isNode2(object) { - return typeof Node2 === "function" && object instanceof Node2; - }; - const _executeHook = function _executeHook2(entryPoint, currentNode, data2) { - if (!hooks[entryPoint]) { - return; - } - arrayForEach(hooks[entryPoint], (hook) => { - hook.call(DOMPurify, currentNode, data2, CONFIG); - }); - }; - const _sanitizeElements = function _sanitizeElements2(currentNode) { - let content = null; - _executeHook("beforeSanitizeElements", currentNode, null); - if (_isClobbered(currentNode)) { - _forceRemove(currentNode); - return true; - } - const tagName = transformCaseFunc(currentNode.nodeName); - _executeHook("uponSanitizeElement", currentNode, { - tagName, - allowedTags: ALLOWED_TAGS - }); - if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) { - _forceRemove(currentNode); - return true; - } - if (currentNode.nodeType === NODE_TYPE.progressingInstruction) { - _forceRemove(currentNode); - return true; - } - if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) { - _forceRemove(currentNode); - return true; - } - if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { - if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) { - if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) { - return false; - } - if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) { - return false; - } - } - if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) { - const parentNode = getParentNode(currentNode) || currentNode.parentNode; - const childNodes = getChildNodes(currentNode) || currentNode.childNodes; - if (childNodes && parentNode) { - const childCount = childNodes.length; - for (let i = childCount - 1; i >= 0; --i) { - const childClone = cloneNode(childNodes[i], true); - childClone.__removalCount = (currentNode.__removalCount || 0) + 1; - parentNode.insertBefore(childClone, getNextSibling(currentNode)); - } - } - } - _forceRemove(currentNode); - return true; - } - if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) { - _forceRemove(currentNode); - return true; - } - if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) { - _forceRemove(currentNode); - return true; - } - if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) { - content = currentNode.textContent; - arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => { - content = stringReplace(content, expr, " "); - }); - if (currentNode.textContent !== content) { - arrayPush(DOMPurify.removed, { - element: currentNode.cloneNode() - }); - currentNode.textContent = content; - } - } - _executeHook("afterSanitizeElements", currentNode, null); - return false; - }; - const _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) { - if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) { - return false; - } - if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR2, lcName)) ; - else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR2, lcName)) ; - else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) { - if ( - // First condition does a very basic check if a) it's basically a valid custom element tagname AND - // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck - // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck - _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND - // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck - lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value)) - ) ; - else { - return false; - } - } else if (URI_SAFE_ATTRIBUTES[lcName]) ; - else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE2, ""))) ; - else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf$1(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) ; - else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA2, stringReplace(value, ATTR_WHITESPACE2, ""))) ; - else if (value) { - return false; - } else ; - return true; - }; - const _isBasicCustomElement = function _isBasicCustomElement2(tagName) { - return tagName !== "annotation-xml" && stringMatch(tagName, CUSTOM_ELEMENT2); - }; - const _sanitizeAttributes = function _sanitizeAttributes2(currentNode) { - _executeHook("beforeSanitizeAttributes", currentNode, null); - const { - attributes - } = currentNode; - if (!attributes) { - return; - } - const hookEvent = { - attrName: "", - attrValue: "", - keepAttr: true, - allowedAttributes: ALLOWED_ATTR - }; - let l2 = attributes.length; - while (l2--) { - const attr = attributes[l2]; - const { - name, - namespaceURI, - value: attrValue - } = attr; - const lcName = transformCaseFunc(name); - let value = name === "value" ? attrValue : stringTrim(attrValue); - hookEvent.attrName = lcName; - hookEvent.attrValue = value; - hookEvent.keepAttr = true; - hookEvent.forceKeepAttr = void 0; - _executeHook("uponSanitizeAttribute", currentNode, hookEvent); - value = hookEvent.attrValue; - if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) { - _removeAttribute(name, currentNode); - continue; - } - if (hookEvent.forceKeepAttr) { - continue; - } - _removeAttribute(name, currentNode); - if (!hookEvent.keepAttr) { - continue; - } - if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) { - _removeAttribute(name, currentNode); - continue; - } - if (SAFE_FOR_TEMPLATES) { - arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => { - value = stringReplace(value, expr, " "); - }); - } - const lcTag = transformCaseFunc(currentNode.nodeName); - if (!_isValidAttribute(lcTag, lcName, value)) { - continue; - } - if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name")) { - _removeAttribute(name, currentNode); - value = SANITIZE_NAMED_PROPS_PREFIX + value; - } - if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") { - if (namespaceURI) ; - else { - switch (trustedTypes.getAttributeType(lcTag, lcName)) { - case "TrustedHTML": { - value = trustedTypesPolicy.createHTML(value); - break; - } - case "TrustedScriptURL": { - value = trustedTypesPolicy.createScriptURL(value); - break; - } - } - } - } - try { - if (namespaceURI) { - currentNode.setAttributeNS(namespaceURI, name, value); - } else { - currentNode.setAttribute(name, value); - } - if (_isClobbered(currentNode)) { - _forceRemove(currentNode); - } else { - arrayPop(DOMPurify.removed); - } - } catch (_2) { - } - } - _executeHook("afterSanitizeAttributes", currentNode, null); - }; - const _sanitizeShadowDOM = function _sanitizeShadowDOM2(fragment) { - let shadowNode = null; - const shadowIterator = _createNodeIterator(fragment); - _executeHook("beforeSanitizeShadowDOM", fragment, null); - while (shadowNode = shadowIterator.nextNode()) { - _executeHook("uponSanitizeShadowNode", shadowNode, null); - if (_sanitizeElements(shadowNode)) { - continue; - } - if (shadowNode.content instanceof DocumentFragment) { - _sanitizeShadowDOM2(shadowNode.content); - } - _sanitizeAttributes(shadowNode); - } - _executeHook("afterSanitizeShadowDOM", fragment, null); - }; - DOMPurify.sanitize = function(dirty) { - let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - let body = null; - let importedNode = null; - let currentNode = null; - let returnNode = null; - IS_EMPTY_INPUT = !dirty; - if (IS_EMPTY_INPUT) { - dirty = ""; - } - if (typeof dirty !== "string" && !_isNode(dirty)) { - if (typeof dirty.toString === "function") { - dirty = dirty.toString(); - if (typeof dirty !== "string") { - throw typeErrorCreate("dirty is not a string, aborting"); - } - } else { - throw typeErrorCreate("toString is not a function"); - } - } - if (!DOMPurify.isSupported) { - return dirty; - } - if (!SET_CONFIG) { - _parseConfig(cfg); - } - DOMPurify.removed = []; - if (typeof dirty === "string") { - IN_PLACE = false; - } - if (IN_PLACE) { - if (dirty.nodeName) { - const tagName = transformCaseFunc(dirty.nodeName); - if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { - throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place"); - } - } - } else if (dirty instanceof Node2) { - body = _initDocument(""); - importedNode = body.ownerDocument.importNode(dirty, true); - if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") { - body = importedNode; - } else if (importedNode.nodeName === "HTML") { - body = importedNode; - } else { - body.appendChild(importedNode); - } - } else { - if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes - dirty.indexOf("<") === -1) { - return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty; - } - body = _initDocument(dirty); - if (!body) { - return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : ""; - } - } - if (body && FORCE_BODY) { - _forceRemove(body.firstChild); - } - const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body); - while (currentNode = nodeIterator.nextNode()) { - if (_sanitizeElements(currentNode)) { - continue; - } - if (currentNode.content instanceof DocumentFragment) { - _sanitizeShadowDOM(currentNode.content); - } - _sanitizeAttributes(currentNode); - } - if (IN_PLACE) { - return dirty; - } - if (RETURN_DOM) { - if (RETURN_DOM_FRAGMENT) { - returnNode = createDocumentFragment.call(body.ownerDocument); - while (body.firstChild) { - returnNode.appendChild(body.firstChild); - } - } else { - returnNode = body; - } - if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) { - returnNode = importNode.call(originalDocument, returnNode, true); - } - return returnNode; - } - let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML; - if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) { - serializedHTML = "\n" + serializedHTML; - } - if (SAFE_FOR_TEMPLATES) { - arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => { - serializedHTML = stringReplace(serializedHTML, expr, " "); - }); - } - return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML; - }; - DOMPurify.setConfig = function() { - let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - _parseConfig(cfg); - SET_CONFIG = true; - }; - DOMPurify.clearConfig = function() { - CONFIG = null; - SET_CONFIG = false; - }; - DOMPurify.isValidAttribute = function(tag, attr, value) { - if (!CONFIG) { - _parseConfig({}); - } - const lcTag = transformCaseFunc(tag); - const lcName = transformCaseFunc(attr); - return _isValidAttribute(lcTag, lcName, value); - }; - DOMPurify.addHook = function(entryPoint, hookFunction) { - if (typeof hookFunction !== "function") { - return; - } - hooks[entryPoint] = hooks[entryPoint] || []; - arrayPush(hooks[entryPoint], hookFunction); - }; - DOMPurify.removeHook = function(entryPoint) { - if (hooks[entryPoint]) { - return arrayPop(hooks[entryPoint]); - } - }; - DOMPurify.removeHooks = function(entryPoint) { - if (hooks[entryPoint]) { - hooks[entryPoint] = []; - } - }; - DOMPurify.removeAllHooks = function() { - hooks = {}; - }; - return DOMPurify; -} -var purify = createDOMPurify(); -/*! - * escape-html - * Copyright(c) 2012-2013 TJ Holowaychuk - * Copyright(c) 2015 Andreas Lubbe - * Copyright(c) 2015 Tiancheng "Timothy" Gu - * MIT Licensed - */ -var matchHtmlRegExp = /["'&<>]/; -var escapeHtml_1 = escapeHtml; -function escapeHtml(string) { - var str = "" + string; - var match2 = matchHtmlRegExp.exec(str); - if (!match2) { - return str; - } - var escape2; - var html2 = ""; - var index = 0; - var lastIndex = 0; - for (index = match2.index; index < str.length; index++) { - switch (str.charCodeAt(index)) { - case 34: - escape2 = """; - break; - case 38: - escape2 = "&"; - break; - case 39: - escape2 = "'"; - break; - case 60: - escape2 = "<"; - break; - case 62: - escape2 = ">"; - break; - default: - continue; - } - if (lastIndex !== index) { - html2 += str.substring(lastIndex, index); - } - lastIndex = index + 1; - html2 += escape2; - } - return lastIndex !== index ? html2 + str.substring(lastIndex, index) : html2; -} -const escapeHTML = /* @__PURE__ */ getDefaultExportFromCjs(escapeHtml_1); -var define_process_env_default = {}; -const logger = getLoggerBuilder().setApp("@nextcloud/files").detectUser().build(); -var DefaultType = /* @__PURE__ */ ((DefaultType2) => { - DefaultType2["DEFAULT"] = "default"; - DefaultType2["HIDDEN"] = "hidden"; - return DefaultType2; -})(DefaultType || {}); -class FileAction { - _action; - constructor(action2) { - this.validateAction(action2); - this._action = action2; - } - get id() { - return this._action.id; - } - get displayName() { - return this._action.displayName; - } - get title() { - return this._action.title; - } - get iconSvgInline() { - return this._action.iconSvgInline; - } - get enabled() { - return this._action.enabled; - } - get exec() { - return this._action.exec; - } - get execBatch() { - return this._action.execBatch; - } - get order() { - return this._action.order; - } - get parent() { - return this._action.parent; - } - get default() { - return this._action.default; - } - get inline() { - return this._action.inline; - } - get renderInline() { - return this._action.renderInline; - } - validateAction(action2) { - if (!action2.id || typeof action2.id !== "string") { - throw new Error("Invalid id"); - } - if (!action2.displayName || typeof action2.displayName !== "function") { - throw new Error("Invalid displayName function"); - } - if ("title" in action2 && typeof action2.title !== "function") { - throw new Error("Invalid title function"); - } - if (!action2.iconSvgInline || typeof action2.iconSvgInline !== "function") { - throw new Error("Invalid iconSvgInline function"); - } - if (!action2.exec || typeof action2.exec !== "function") { - throw new Error("Invalid exec function"); - } - if ("enabled" in action2 && typeof action2.enabled !== "function") { - throw new Error("Invalid enabled function"); - } - if ("execBatch" in action2 && typeof action2.execBatch !== "function") { - throw new Error("Invalid execBatch function"); - } - if ("order" in action2 && typeof action2.order !== "number") { - throw new Error("Invalid order"); - } - if ("parent" in action2 && typeof action2.parent !== "string") { - throw new Error("Invalid parent"); - } - if (action2.default && !Object.values(DefaultType).includes(action2.default)) { - throw new Error("Invalid default"); - } - if ("inline" in action2 && typeof action2.inline !== "function") { - throw new Error("Invalid inline function"); - } - if ("renderInline" in action2 && typeof action2.renderInline !== "function") { - throw new Error("Invalid renderInline function"); - } - } -} -const registerFileAction = function(action2) { - if (typeof window._nc_fileactions === "undefined") { - window._nc_fileactions = []; - logger.debug("FileActions initialized"); - } - if (window._nc_fileactions.find((search) => search.id === action2.id)) { - logger.error(`FileAction ${action2.id} already registered`, { action: action2 }); - return; - } - window._nc_fileactions.push(action2); -}; -var Permission = /* @__PURE__ */ ((Permission2) => { - Permission2[Permission2["NONE"] = 0] = "NONE"; - Permission2[Permission2["CREATE"] = 4] = "CREATE"; - Permission2[Permission2["READ"] = 1] = "READ"; - Permission2[Permission2["UPDATE"] = 2] = "UPDATE"; - Permission2[Permission2["DELETE"] = 8] = "DELETE"; - Permission2[Permission2["SHARE"] = 16] = "SHARE"; - Permission2[Permission2["ALL"] = 31] = "ALL"; - return Permission2; -})(Permission || {}); -var FileType = /* @__PURE__ */ ((FileType2) => { - FileType2["Folder"] = "folder"; - FileType2["File"] = "file"; - return FileType2; -})(FileType || {}); -const isDavRessource = function(source, davService) { - return source.match(davService) !== null; -}; -const validateData = (data2, davService) => { - if (data2.id && typeof data2.id !== "number") { - throw new Error("Invalid id type of value"); - } - if (!data2.source) { - throw new Error("Missing mandatory source"); - } - try { - new URL(data2.source); - } catch (e2) { - throw new Error("Invalid source format, source must be a valid URL"); - } - if (!data2.source.startsWith("http")) { - throw new Error("Invalid source format, only http(s) is supported"); - } - if (data2.displayname && typeof data2.displayname !== "string") { - throw new Error("Invalid displayname type"); - } - if (data2.mtime && !(data2.mtime instanceof Date)) { - throw new Error("Invalid mtime type"); - } - if (data2.crtime && !(data2.crtime instanceof Date)) { - throw new Error("Invalid crtime type"); - } - if (!data2.mime || typeof data2.mime !== "string" || !data2.mime.match(/^[-\w.]+\/[-+\w.]+$/gi)) { - throw new Error("Missing or invalid mandatory mime"); - } - if ("size" in data2 && typeof data2.size !== "number" && data2.size !== void 0) { - throw new Error("Invalid size type"); - } - if ("permissions" in data2 && data2.permissions !== void 0 && !(typeof data2.permissions === "number" && data2.permissions >= Permission.NONE && data2.permissions <= Permission.ALL)) { - throw new Error("Invalid permissions"); - } - if (data2.owner && data2.owner !== null && typeof data2.owner !== "string") { - throw new Error("Invalid owner type"); - } - if (data2.attributes && typeof data2.attributes !== "object") { - throw new Error("Invalid attributes type"); - } - if (data2.root && typeof data2.root !== "string") { - throw new Error("Invalid root type"); - } - if (data2.root && !data2.root.startsWith("/")) { - throw new Error("Root must start with a leading slash"); - } - if (data2.root && !data2.source.includes(data2.root)) { - throw new Error("Root must be part of the source"); - } - if (data2.root && isDavRessource(data2.source, davService)) { - const service = data2.source.match(davService)[0]; - if (!data2.source.includes(pathBrowserify.join(service, data2.root))) { - throw new Error("The root must be relative to the service. e.g /files/emma"); - } - } - if (data2.status && !Object.values(NodeStatus).includes(data2.status)) { - throw new Error("Status must be a valid NodeStatus"); - } -}; -var NodeStatus = /* @__PURE__ */ ((NodeStatus2) => { - NodeStatus2["NEW"] = "new"; - NodeStatus2["FAILED"] = "failed"; - NodeStatus2["LOADING"] = "loading"; - NodeStatus2["LOCKED"] = "locked"; - return NodeStatus2; -})(NodeStatus || {}); -class Node { - _data; - _attributes; - _knownDavService = /(remote|public)\.php\/(web)?dav/i; - readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e2) => typeof e2[1].get === "function" && e2[0] !== "__proto__").map((e2) => e2[0]); - handler = { - set: (target, prop, value) => { - if (this.readonlyAttributes.includes(prop)) { - return false; - } - return Reflect.set(target, prop, value); - }, - deleteProperty: (target, prop) => { - if (this.readonlyAttributes.includes(prop)) { - return false; - } - return Reflect.deleteProperty(target, prop); - }, - // TODO: This is deprecated and only needed for files v3 - get: (target, prop, receiver) => { - if (this.readonlyAttributes.includes(prop)) { - logger.warn(`Accessing "Node.attributes.${prop}" is deprecated, access it directly on the Node instance.`); - return Reflect.get(this, prop); - } - return Reflect.get(target, prop, receiver); - } - }; - constructor(data2, davService) { - validateData(data2, davService || this._knownDavService); - this._data = { - // TODO: Remove with next major release, this is just for compatibility - displayname: data2.attributes?.displayname, - ...data2, - attributes: {} - }; - this._attributes = new Proxy(this._data.attributes, this.handler); - this.update(data2.attributes ?? {}); - if (davService) { - this._knownDavService = davService; - } - } - /** - * Get the source url to this object - * There is no setter as the source is not meant to be changed manually. - * You can use the rename or move method to change the source. - */ - get source() { - return this._data.source.replace(/\/$/i, ""); - } - /** - * Get the encoded source url to this object for requests purposes - */ - get encodedSource() { - const { origin: origin2 } = new URL(this.source); - return origin2 + encodePath(this.source.slice(origin2.length)); - } - /** - * Get this object name - * There is no setter as the source is not meant to be changed manually. - * You can use the rename or move method to change the source. - */ - get basename() { - return pathBrowserify.basename(this.source); - } - /** - * The nodes displayname - * By default the display name and the `basename` are identical, - * but it is possible to have a different name. This happens - * on the files app for example for shared folders. - */ - get displayname() { - return this._data.displayname || this.basename; - } - /** - * Set the displayname - */ - set displayname(displayname) { - this._data.displayname = displayname; - } - /** - * Get this object's extension - * There is no setter as the source is not meant to be changed manually. - * You can use the rename or move method to change the source. - */ - get extension() { - return pathBrowserify.extname(this.source); - } - /** - * Get the directory path leading to this object - * Will use the relative path to root if available - * - * There is no setter as the source is not meant to be changed manually. - * You can use the rename or move method to change the source. - */ - get dirname() { - if (this.root) { - let source = this.source; - if (this.isDavRessource) { - source = source.split(this._knownDavService).pop(); - } - const firstMatch = source.indexOf(this.root); - const root = this.root.replace(/\/$/, ""); - return pathBrowserify.dirname(source.slice(firstMatch + root.length) || "/"); - } - const url = new URL(this.source); - return pathBrowserify.dirname(url.pathname); - } - /** - * Get the file mime - * There is no setter as the mime is not meant to be changed - */ - get mime() { - return this._data.mime; - } - /** - * Get the file modification time - */ - get mtime() { - return this._data.mtime; - } - /** - * Set the file modification time - */ - set mtime(mtime) { - this._data.mtime = mtime; - } - /** - * Get the file creation time - * There is no setter as the creation time is not meant to be changed - */ - get crtime() { - return this._data.crtime; - } - /** - * Get the file size - */ - get size() { - return this._data.size; - } - /** - * Set the file size - */ - set size(size) { - this.updateMtime(); - this._data.size = size; - } - /** - * Get the file attribute - * This contains all additional attributes not provided by the Node class - */ - get attributes() { - return this._attributes; - } - /** - * Get the file permissions - */ - get permissions() { - if (this.owner === null && !this.isDavRessource) { - return Permission.READ; - } - return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE; - } - /** - * Set the file permissions - */ - set permissions(permissions) { - this.updateMtime(); - this._data.permissions = permissions; - } - /** - * Get the file owner - * There is no setter as the owner is not meant to be changed - */ - get owner() { - if (!this.isDavRessource) { - return null; - } - return this._data.owner; - } - /** - * Is this a dav-related ressource ? - */ - get isDavRessource() { - return isDavRessource(this.source, this._knownDavService); - } - /** - * Get the dav root of this object - * There is no setter as the root is not meant to be changed - */ - get root() { - if (this._data.root) { - return this._data.root.replace(/^(.+)\/$/, "$1"); - } - if (this.isDavRessource) { - const root = pathBrowserify.dirname(this.source); - return root.split(this._knownDavService).pop() || null; - } - return null; - } - /** - * Get the absolute path of this object relative to the root - */ - get path() { - if (this.root) { - let source = this.source; - if (this.isDavRessource) { - source = source.split(this._knownDavService).pop(); - } - const firstMatch = source.indexOf(this.root); - const root = this.root.replace(/\/$/, ""); - return source.slice(firstMatch + root.length) || "/"; - } - return (this.dirname + "/" + this.basename).replace(/\/\//g, "/"); - } - /** - * Get the node id if defined. - * There is no setter as the fileid is not meant to be changed - */ - get fileid() { - return this._data?.id; - } - /** - * Get the node status. - */ - get status() { - return this._data?.status; - } - /** - * Set the node status. - */ - set status(status) { - this._data.status = status; - } - /** - * Move the node to a new destination - * - * @param {string} destination the new source. - * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg - */ - move(destination) { - validateData({ ...this._data, source: destination }, this._knownDavService); - const oldBasename = this.basename; - this._data.source = destination; - if (this.displayname === oldBasename && this.basename !== oldBasename) { - this.displayname = this.basename; - } - this.updateMtime(); - } - /** - * Rename the node - * This aliases the move method for easier usage - * - * @param basename The new name of the node - */ - rename(basename2) { - if (basename2.includes("/")) { - throw new Error("Invalid basename"); - } - this.move(pathBrowserify.dirname(this.source) + "/" + basename2); - } - /** - * Update the mtime if exists - */ - updateMtime() { - if (this._data.mtime) { - this._data.mtime = /* @__PURE__ */ new Date(); - } - } - /** - * Update the attributes of the node - * Warning, updating attributes will NOT automatically update the mtime. - * - * @param attributes The new attributes to update on the Node attributes - */ - update(attributes) { - for (const [name, value] of Object.entries(attributes)) { - try { - if (value === void 0) { - delete this.attributes[name]; - } else { - this.attributes[name] = value; - } - } catch (e2) { - if (e2 instanceof TypeError) { - continue; - } - throw e2; - } - } - } -} -class Folder extends Node { - constructor(data2) { - super({ - ...data2, - mime: "httpd/unix-directory" - }); - } - get type() { - return FileType.Folder; - } - get extension() { - return null; - } - get mime() { - return "httpd/unix-directory"; - } -} -function davGetRootPath() { - if (isPublicShare()) { - return `/files/${getSharingToken()}`; - } - return `/files/${getCurrentUser()?.uid}`; -} -davGetRootPath(); -function davGetRemoteURL() { - const url = U$1("dav"); - if (isPublicShare()) { - return url.replace("remote.php", "public.php"); - } - return url; -} -davGetRemoteURL(); -var util$3 = {}; -(function(exports) { - const nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; - const nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; - const nameRegexp = "[" + nameStartChar + "][" + nameChar + "]*"; - const regexName = new RegExp("^" + nameRegexp + "$"); - const getAllMatches = function(string, regex) { - const matches = []; - let match2 = regex.exec(string); - while (match2) { - const allmatches = []; - allmatches.startIndex = regex.lastIndex - match2[0].length; - const len = match2.length; - for (let index = 0; index < len; index++) { - allmatches.push(match2[index]); - } - matches.push(allmatches); - match2 = regex.exec(string); - } - return matches; - }; - const isName = function(string) { - const match2 = regexName.exec(string); - return !(match2 === null || typeof match2 === "undefined"); - }; - exports.isExist = function(v2) { - return typeof v2 !== "undefined"; - }; - exports.isEmptyObject = function(obj) { - return Object.keys(obj).length === 0; - }; - exports.merge = function(target, a2, arrayMode) { - if (a2) { - const keys3 = Object.keys(a2); - const len = keys3.length; - for (let i = 0; i < len; i++) { - if (arrayMode === "strict") { - target[keys3[i]] = [a2[keys3[i]]]; - } else { - target[keys3[i]] = a2[keys3[i]]; - } - } - } - }; - exports.getValue = function(v2) { - if (exports.isExist(v2)) { - return v2; - } else { - return ""; - } - }; - exports.isName = isName; - exports.getAllMatches = getAllMatches; - exports.nameRegexp = nameRegexp; -})(util$3); -if (!Number.parseInt && window.parseInt) { - Number.parseInt = window.parseInt; -} -if (!Number.parseFloat && window.parseFloat) { - Number.parseFloat = window.parseFloat; -} -const debug$1 = typeof process$1$1 === "object" && define_process_env_default && define_process_env_default.NODE_DEBUG && /\bsemver\b/i.test(define_process_env_default.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { -}; -var debug_1 = debug$1; -const SEMVER_SPEC_VERSION = "2.0.0"; -const MAX_LENGTH$1 = 256; -const MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ -9007199254740991; -const MAX_SAFE_COMPONENT_LENGTH = 16; -const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH$1 - 6; -const RELEASE_TYPES = [ - "major", - "premajor", - "minor", - "preminor", - "patch", - "prepatch", - "prerelease" -]; -var constants = { - MAX_LENGTH: MAX_LENGTH$1, - MAX_SAFE_COMPONENT_LENGTH, - MAX_SAFE_BUILD_LENGTH, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1, - RELEASE_TYPES, - SEMVER_SPEC_VERSION, - FLAG_INCLUDE_PRERELEASE: 1, - FLAG_LOOSE: 2 -}; -var re$1 = { exports: {} }; -(function(module, exports) { - const { - MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH2, - MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH2, - MAX_LENGTH: MAX_LENGTH2 - } = constants; - const debug2 = debug_1; - exports = module.exports = {}; - const re2 = exports.re = []; - const safeRe = exports.safeRe = []; - const src = exports.src = []; - const t2 = exports.t = {}; - let R2 = 0; - const LETTERDASHNUMBER = "[a-zA-Z0-9-]"; - const safeRegexReplacements = [ - ["\\s", 1], - ["\\d", MAX_LENGTH2], - [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH2] - ]; - const makeSafeRegex = (value) => { - for (const [token2, max2] of safeRegexReplacements) { - value = value.split(`${token2}*`).join(`${token2}{0,${max2}}`).split(`${token2}+`).join(`${token2}{1,${max2}}`); - } - return value; - }; - const createToken = (name, value, isGlobal) => { - const safe = makeSafeRegex(value); - const index = R2++; - debug2(name, index, value); - t2[name] = index; - src[index] = value; - re2[index] = new RegExp(value, isGlobal ? "g" : void 0); - safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0); - }; - createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); - createToken("NUMERICIDENTIFIERLOOSE", "\\d+"); - createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`); - createToken("MAINVERSION", `(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})`); - createToken("MAINVERSIONLOOSE", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASEIDENTIFIER", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASE", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\.${src[t2.PRERELEASEIDENTIFIER]})*))`); - createToken("PRERELEASELOOSE", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`); - createToken("BUILD", `(?:\\+(${src[t2.BUILDIDENTIFIER]}(?:\\.${src[t2.BUILDIDENTIFIER]})*))`); - createToken("FULLPLAIN", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`); - createToken("FULL", `^${src[t2.FULLPLAIN]}$`); - createToken("LOOSEPLAIN", `[v=\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`); - createToken("LOOSE", `^${src[t2.LOOSEPLAIN]}$`); - createToken("GTLT", "((?:<|>)?=?)"); - createToken("XRANGEIDENTIFIERLOOSE", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken("XRANGEIDENTIFIER", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken("XRANGEPLAIN", `[v=\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`); - createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`); - createToken("XRANGE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAIN]}$`); - createToken("XRANGELOOSE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAINLOOSE]}$`); - createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH2}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?`); - createToken("COERCE", `${src[t2.COERCEPLAIN]}(?:$|[^\\d])`); - createToken("COERCEFULL", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\d])`); - createToken("COERCERTL", src[t2.COERCE], true); - createToken("COERCERTLFULL", src[t2.COERCEFULL], true); - createToken("LONETILDE", "(?:~>?)"); - createToken("TILDETRIM", `(\\s*)${src[t2.LONETILDE]}\\s+`, true); - exports.tildeTrimReplace = "$1~"; - createToken("TILDE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`); - createToken("TILDELOOSE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`); - createToken("LONECARET", "(?:\\^)"); - createToken("CARETTRIM", `(\\s*)${src[t2.LONECARET]}\\s+`, true); - exports.caretTrimReplace = "$1^"; - createToken("CARET", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`); - createToken("CARETLOOSE", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`); - createToken("COMPARATORLOOSE", `^${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]})$|^$`); - createToken("COMPARATOR", `^${src[t2.GTLT]}\\s*(${src[t2.FULLPLAIN]})$|^$`); - createToken("COMPARATORTRIM", `(\\s*)${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true); - exports.comparatorTrimReplace = "$1$2$3"; - createToken("HYPHENRANGE", `^\\s*(${src[t2.XRANGEPLAIN]})\\s+-\\s+(${src[t2.XRANGEPLAIN]})\\s*$`); - createToken("HYPHENRANGELOOSE", `^\\s*(${src[t2.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t2.XRANGEPLAINLOOSE]})\\s*$`); - createToken("STAR", "(<|>)?=?\\s*\\*"); - createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); - createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); -})(re$1, re$1.exports); -function bind(fn, thisArg) { - return function wrap() { - return fn.apply(thisArg, arguments); - }; -} -const { toString: toString$6 } = Object.prototype; -const { getPrototypeOf } = Object; -const kindOf = /* @__PURE__ */ ((cache) => (thing) => { - const str = toString$6.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); -})(/* @__PURE__ */ Object.create(null)); -const kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type; -}; -const typeOfTest = (type) => (thing) => typeof thing === type; -const { isArray } = Array; -const isUndefined = typeOfTest("undefined"); -function isBuffer(val2) { - return val2 !== null && !isUndefined(val2) && val2.constructor !== null && !isUndefined(val2.constructor) && isFunction(val2.constructor.isBuffer) && val2.constructor.isBuffer(val2); -} -const isArrayBuffer = kindOfTest("ArrayBuffer"); -function isArrayBufferView(val2) { - let result; - if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { - result = ArrayBuffer.isView(val2); - } else { - result = val2 && val2.buffer && isArrayBuffer(val2.buffer); - } - return result; -} -const isString = typeOfTest("string"); -const isFunction = typeOfTest("function"); -const isNumber = typeOfTest("number"); -const isObject$6 = (thing) => thing !== null && typeof thing === "object"; -const isBoolean = (thing) => thing === true || thing === false; -const isPlainObject = (val2) => { - if (kindOf(val2) !== "object") { - return false; - } - const prototype2 = getPrototypeOf(val2); - return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(Symbol.toStringTag in val2) && !(Symbol.iterator in val2); -}; -const isDate = kindOfTest("Date"); -const isFile = kindOfTest("File"); -const isBlob = kindOfTest("Blob"); -const isFileList = kindOfTest("FileList"); -const isStream = (val2) => isObject$6(val2) && isFunction(val2.pipe); -const isFormData = (thing) => { - let kind; - return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance - kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); -}; -const isURLSearchParams = kindOfTest("URLSearchParams"); -const [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest); -const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); -function forEach(obj, fn, { allOwnKeys = false } = {}) { - if (obj === null || typeof obj === "undefined") { - return; - } - let i; - let l2; - if (typeof obj !== "object") { - obj = [obj]; - } - if (isArray(obj)) { - for (i = 0, l2 = obj.length; i < l2; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - const keys3 = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - const len = keys3.length; - let key; - for (i = 0; i < len; i++) { - key = keys3[i]; - fn.call(null, obj[key], key, obj); - } - } -} -function findKey(obj, key) { - key = key.toLowerCase(); - const keys3 = Object.keys(obj); - let i = keys3.length; - let _key; - while (i-- > 0) { - _key = keys3[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} -const _global = (() => { - if (typeof globalThis !== "undefined") return globalThis; - return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global$e; -})(); -const isContextDefined = (context) => !isUndefined(context) && context !== _global; -function merge() { - const { caseless } = isContextDefined(this) && this || {}; - const result = {}; - const assignValue = (val2, key) => { - const targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val2)) { - result[targetKey] = merge(result[targetKey], val2); - } else if (isPlainObject(val2)) { - result[targetKey] = merge({}, val2); - } else if (isArray(val2)) { - result[targetKey] = val2.slice(); - } else { - result[targetKey] = val2; - } - }; - for (let i = 0, l2 = arguments.length; i < l2; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} -const extend = (a2, b2, thisArg, { allOwnKeys } = {}) => { - forEach(b2, (val2, key) => { - if (thisArg && isFunction(val2)) { - a2[key] = bind(val2, thisArg); - } else { - a2[key] = val2; - } - }, { allOwnKeys }); - return a2; -}; -const stripBOM = (content) => { - if (content.charCodeAt(0) === 65279) { - content = content.slice(1); - } - return content; -}; -const inherits = (constructor, superConstructor, props, descriptors2) => { - constructor.prototype = Object.create(superConstructor.prototype, descriptors2); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, "super", { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); -}; -const toFlatObject = (sourceObj, destObj, filter2, propFilter) => { - let props; - let i; - let prop; - const merged = {}; - destObj = destObj || {}; - if (sourceObj == null) return destObj; - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter2 !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype); - return destObj; -}; -const endsWith = (str, searchString, position) => { - str = String(str); - if (position === void 0 || position > str.length) { - position = str.length; - } - position -= searchString.length; - const lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -}; -const toArray = (thing) => { - if (!thing) return null; - if (isArray(thing)) return thing; - let i = thing.length; - if (!isNumber(i)) return null; - const arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -}; -const isTypedArray = /* @__PURE__ */ ((TypedArray) => { - return (thing) => { - return TypedArray && thing instanceof TypedArray; - }; -})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array)); -const forEachEntry = (obj, fn) => { - const generator = obj && obj[Symbol.iterator]; - const iterator = generator.call(obj); - let result; - while ((result = iterator.next()) && !result.done) { - const pair = result.value; - fn.call(obj, pair[0], pair[1]); - } -}; -const matchAll = (regExp, str) => { - let matches; - const arr = []; - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - return arr; -}; -const isHTMLForm = kindOfTest("HTMLFormElement"); -const toCamelCase = (str) => { - return str.toLowerCase().replace( - /[-_\s]([a-z\d])(\w*)/g, - function replacer(m2, p1, p2) { - return p1.toUpperCase() + p2; - } - ); -}; -const hasOwnProperty$1 = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); -const isRegExp = kindOfTest("RegExp"); -const reduceDescriptors = (obj, reducer) => { - const descriptors2 = Object.getOwnPropertyDescriptors(obj); - const reducedDescriptors = {}; - forEach(descriptors2, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; - } - }); - Object.defineProperties(obj, reducedDescriptors); -}; -const freezeMethods = (obj) => { - reduceDescriptors(obj, (descriptor, name) => { - if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) { - return false; - } - const value = obj[name]; - if (!isFunction(value)) return; - descriptor.enumerable = false; - if ("writable" in descriptor) { - descriptor.writable = false; - return; - } - if (!descriptor.set) { - descriptor.set = () => { - throw Error("Can not rewrite read-only method '" + name + "'"); - }; - } - }); -}; -const toObjectSet = (arrayOrString, delimiter) => { - const obj = {}; - const define = (arr) => { - arr.forEach((value) => { - obj[value] = true; - }); - }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); - return obj; -}; -const noop = () => { -}; -const toFiniteNumber = (value, defaultValue) => { - return value != null && Number.isFinite(value = +value) ? value : defaultValue; -}; -const ALPHA = "abcdefghijklmnopqrstuvwxyz"; -const DIGIT = "0123456789"; -const ALPHABET = { - DIGIT, - ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -}; -const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { - let str = ""; - const { length } = alphabet; - while (size--) { - str += alphabet[Math.random() * length | 0]; - } - return str; -}; -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]); -} -const toJSONObject = (obj) => { - const stack = new Array(10); - const visit = (source, i) => { - if (isObject$6(source)) { - if (stack.indexOf(source) >= 0) { - return; - } - if (!("toJSON" in source)) { - stack[i] = source; - const target = isArray(source) ? [] : {}; - forEach(source, (value, key) => { - const reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - stack[i] = void 0; - return target; - } - } - return source; - }; - return visit(obj, 0); -}; -const isAsyncFn = kindOfTest("AsyncFunction"); -const isThenable = (thing) => thing && (isObject$6(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); -const _setImmediate = ((setImmediateSupported, postMessageSupported) => { - if (setImmediateSupported) { - return setImmediate; - } - return postMessageSupported ? ((token2, callbacks) => { - _global.addEventListener("message", ({ source, data: data2 }) => { - if (source === _global && data2 === token2) { - callbacks.length && callbacks.shift()(); - } - }, false); - return (cb) => { - callbacks.push(cb); - _global.postMessage(token2, "*"); - }; - })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb); -})( - typeof setImmediate === "function", - isFunction(_global.postMessage) -); -const asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process$1$1 !== "undefined" && process$1$1.nextTick || _setImmediate; -const utils$1 = { - isArray, - isArrayBuffer, - isBuffer, - isFormData, - isArrayBufferView, - isString, - isNumber, - isBoolean, - isObject: isObject$6, - isPlainObject, - isReadableStream, - isRequest, - isResponse, - isHeaders, - isUndefined, - isDate, - isFile, - isBlob, - isRegExp, - isFunction, - isStream, - isURLSearchParams, - isTypedArray, - isFileList, - forEach, - merge, - extend, - trim, - stripBOM, - inherits, - toFlatObject, - kindOf, - kindOfTest, - endsWith, - toArray, - forEachEntry, - matchAll, - isHTMLForm, - hasOwnProperty: hasOwnProperty$1, - hasOwnProp: hasOwnProperty$1, - // an alias to avoid ESLint no-prototype-builtins detection - reduceDescriptors, - freezeMethods, - toObjectSet, - toCamelCase, - noop, - toFiniteNumber, - findKey, - global: _global, - isContextDefined, - ALPHABET, - generateString, - isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable, - setImmediate: _setImmediate, - asap -}; -var buffer = {}; -var base64Js = {}; -base64Js.byteLength = byteLength; -base64Js.toByteArray = toByteArray; -base64Js.fromByteArray = fromByteArray; -var lookup = []; -var revLookup = []; -var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; -var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i]; - revLookup[code.charCodeAt(i)] = i; -} -revLookup["-".charCodeAt(0)] = 62; -revLookup["_".charCodeAt(0)] = 63; -function getLens(b64) { - var len = b64.length; - if (len % 4 > 0) { - throw new Error("Invalid string. Length must be a multiple of 4"); - } - var validLen = b64.indexOf("="); - if (validLen === -1) validLen = len; - var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; - return [validLen, placeHoldersLen]; -} -function byteLength(b64) { - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; -} -function _byteLength(b64, validLen, placeHoldersLen) { - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; -} -function toByteArray(b64) { - var tmp; - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); - var curByte = 0; - var len = placeHoldersLen > 0 ? validLen - 4 : validLen; - var i; - for (i = 0; i < len; i += 4) { - tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; - arr[curByte++] = tmp >> 16 & 255; - arr[curByte++] = tmp >> 8 & 255; - arr[curByte++] = tmp & 255; - } - if (placeHoldersLen === 2) { - tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; - arr[curByte++] = tmp & 255; - } - if (placeHoldersLen === 1) { - tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; - arr[curByte++] = tmp >> 8 & 255; - arr[curByte++] = tmp & 255; - } - return arr; -} -function tripletToBase64(num) { - return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; -} -function encodeChunk(uint8, start, end) { - var tmp; - var output = []; - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255); - output.push(tripletToBase64(tmp)); - } - return output.join(""); -} -function fromByteArray(uint8) { - var tmp; - var len = uint8.length; - var extraBytes = len % 3; - var parts = []; - var maxChunkLength = 16383; - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); - } - if (extraBytes === 1) { - tmp = uint8[len - 1]; - parts.push( - lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==" - ); - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1]; - parts.push( - lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=" - ); - } - return parts.join(""); -} -var ieee754 = {}; -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ -ieee754.read = function(buffer2, offset, isLE, mLen, nBytes) { - var e2, m2; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = -7; - var i = isLE ? nBytes - 1 : 0; - var d2 = isLE ? -1 : 1; - var s2 = buffer2[offset + i]; - i += d2; - e2 = s2 & (1 << -nBits) - 1; - s2 >>= -nBits; - nBits += eLen; - for (; nBits > 0; e2 = e2 * 256 + buffer2[offset + i], i += d2, nBits -= 8) { - } - m2 = e2 & (1 << -nBits) - 1; - e2 >>= -nBits; - nBits += mLen; - for (; nBits > 0; m2 = m2 * 256 + buffer2[offset + i], i += d2, nBits -= 8) { - } - if (e2 === 0) { - e2 = 1 - eBias; - } else if (e2 === eMax) { - return m2 ? NaN : (s2 ? -1 : 1) * Infinity; - } else { - m2 = m2 + Math.pow(2, mLen); - e2 = e2 - eBias; - } - return (s2 ? -1 : 1) * m2 * Math.pow(2, e2 - mLen); -}; -ieee754.write = function(buffer2, value, offset, isLE, mLen, nBytes) { - var e2, m2, c2; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt2 = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; - var i = isLE ? 0 : nBytes - 1; - var d2 = isLE ? 1 : -1; - var s2 = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; - value = Math.abs(value); - if (isNaN(value) || value === Infinity) { - m2 = isNaN(value) ? 1 : 0; - e2 = eMax; - } else { - e2 = Math.floor(Math.log(value) / Math.LN2); - if (value * (c2 = Math.pow(2, -e2)) < 1) { - e2--; - c2 *= 2; - } - if (e2 + eBias >= 1) { - value += rt2 / c2; - } else { - value += rt2 * Math.pow(2, 1 - eBias); - } - if (value * c2 >= 2) { - e2++; - c2 /= 2; - } - if (e2 + eBias >= eMax) { - m2 = 0; - e2 = eMax; - } else if (e2 + eBias >= 1) { - m2 = (value * c2 - 1) * Math.pow(2, mLen); - e2 = e2 + eBias; - } else { - m2 = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e2 = 0; - } - } - for (; mLen >= 8; buffer2[offset + i] = m2 & 255, i += d2, m2 /= 256, mLen -= 8) { - } - e2 = e2 << mLen | m2; - eLen += mLen; - for (; eLen > 0; buffer2[offset + i] = e2 & 255, i += d2, e2 /= 256, eLen -= 8) { - } - buffer2[offset + i - d2] |= s2 * 128; -}; -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -(function(exports) { - const base64 = base64Js; - const ieee754$1 = ieee754; - const customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null; - exports.Buffer = Buffer2; - exports.SlowBuffer = SlowBuffer; - exports.INSPECT_MAX_BYTES = 50; - const K_MAX_LENGTH = 2147483647; - exports.kMaxLength = K_MAX_LENGTH; - const { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis; - Buffer2.TYPED_ARRAY_SUPPORT = typedArraySupport(); - if (!Buffer2.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { - console.error( - "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support." - ); - } - function typedArraySupport() { - try { - const arr = new GlobalUint8Array(1); - const proto = { foo: function() { - return 42; - } }; - Object.setPrototypeOf(proto, GlobalUint8Array.prototype); - Object.setPrototypeOf(arr, proto); - return arr.foo() === 42; - } catch (e2) { - return false; - } - } - Object.defineProperty(Buffer2.prototype, "parent", { - enumerable: true, - get: function() { - if (!Buffer2.isBuffer(this)) return void 0; - return this.buffer; - } - }); - Object.defineProperty(Buffer2.prototype, "offset", { - enumerable: true, - get: function() { - if (!Buffer2.isBuffer(this)) return void 0; - return this.byteOffset; - } - }); - function createBuffer(length) { - if (length > K_MAX_LENGTH) { - throw new RangeError('The value "' + length + '" is invalid for option "size"'); - } - const buf = new GlobalUint8Array(length); - Object.setPrototypeOf(buf, Buffer2.prototype); - return buf; - } - function Buffer2(arg, encodingOrOffset, length) { - if (typeof arg === "number") { - if (typeof encodingOrOffset === "string") { - throw new TypeError( - 'The "string" argument must be of type string. Received type number' - ); - } - return allocUnsafe(arg); - } - return from(arg, encodingOrOffset, length); - } - Buffer2.poolSize = 8192; - function from(value, encodingOrOffset, length) { - if (typeof value === "string") { - return fromString(value, encodingOrOffset); - } - if (GlobalArrayBuffer.isView(value)) { - return fromArrayView(value); - } - if (value == null) { - throw new TypeError( - "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value - ); - } - if (isInstance(value, GlobalArrayBuffer) || value && isInstance(value.buffer, GlobalArrayBuffer)) { - return fromArrayBuffer(value, encodingOrOffset, length); - } - if (typeof GlobalSharedArrayBuffer !== "undefined" && (isInstance(value, GlobalSharedArrayBuffer) || value && isInstance(value.buffer, GlobalSharedArrayBuffer))) { - return fromArrayBuffer(value, encodingOrOffset, length); - } - if (typeof value === "number") { - throw new TypeError( - 'The "value" argument must not be of type number. Received type number' - ); - } - const valueOf = value.valueOf && value.valueOf(); - if (valueOf != null && valueOf !== value) { - return Buffer2.from(valueOf, encodingOrOffset, length); - } - const b2 = fromObject(value); - if (b2) return b2; - if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") { - return Buffer2.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); - } - throw new TypeError( - "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value - ); - } - Buffer2.from = function(value, encodingOrOffset, length) { - return from(value, encodingOrOffset, length); - }; - Object.setPrototypeOf(Buffer2.prototype, GlobalUint8Array.prototype); - Object.setPrototypeOf(Buffer2, GlobalUint8Array); - function assertSize(size) { - if (typeof size !== "number") { - throw new TypeError('"size" argument must be of type number'); - } else if (size < 0) { - throw new RangeError('The value "' + size + '" is invalid for option "size"'); - } - } - function alloc(size, fill, encoding) { - assertSize(size); - if (size <= 0) { - return createBuffer(size); - } - if (fill !== void 0) { - return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); - } - return createBuffer(size); - } - Buffer2.alloc = function(size, fill, encoding) { - return alloc(size, fill, encoding); - }; - function allocUnsafe(size) { - assertSize(size); - return createBuffer(size < 0 ? 0 : checked(size) | 0); - } - Buffer2.allocUnsafe = function(size) { - return allocUnsafe(size); - }; - Buffer2.allocUnsafeSlow = function(size) { - return allocUnsafe(size); - }; - function fromString(string, encoding) { - if (typeof encoding !== "string" || encoding === "") { - encoding = "utf8"; - } - if (!Buffer2.isEncoding(encoding)) { - throw new TypeError("Unknown encoding: " + encoding); - } - const length = byteLength2(string, encoding) | 0; - let buf = createBuffer(length); - const actual = buf.write(string, encoding); - if (actual !== length) { - buf = buf.slice(0, actual); - } - return buf; - } - function fromArrayLike(array) { - const length = array.length < 0 ? 0 : checked(array.length) | 0; - const buf = createBuffer(length); - for (let i = 0; i < length; i += 1) { - buf[i] = array[i] & 255; - } - return buf; - } - function fromArrayView(arrayView) { - if (isInstance(arrayView, GlobalUint8Array)) { - const copy = new GlobalUint8Array(arrayView); - return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength); - } - return fromArrayLike(arrayView); - } - function fromArrayBuffer(array, byteOffset, length) { - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('"offset" is outside of buffer bounds'); - } - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('"length" is outside of buffer bounds'); - } - let buf; - if (byteOffset === void 0 && length === void 0) { - buf = new GlobalUint8Array(array); - } else if (length === void 0) { - buf = new GlobalUint8Array(array, byteOffset); - } else { - buf = new GlobalUint8Array(array, byteOffset, length); - } - Object.setPrototypeOf(buf, Buffer2.prototype); - return buf; - } - function fromObject(obj) { - if (Buffer2.isBuffer(obj)) { - const len = checked(obj.length) | 0; - const buf = createBuffer(len); - if (buf.length === 0) { - return buf; - } - obj.copy(buf, 0, 0, len); - return buf; - } - if (obj.length !== void 0) { - if (typeof obj.length !== "number" || numberIsNaN(obj.length)) { - return createBuffer(0); - } - return fromArrayLike(obj); - } - if (obj.type === "Buffer" && Array.isArray(obj.data)) { - return fromArrayLike(obj.data); - } - } - function checked(length) { - if (length >= K_MAX_LENGTH) { - throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes"); - } - return length | 0; - } - function SlowBuffer(length) { - if (+length != length) { - length = 0; - } - return Buffer2.alloc(+length); - } - Buffer2.isBuffer = function isBuffer2(b2) { - return b2 != null && b2._isBuffer === true && b2 !== Buffer2.prototype; - }; - Buffer2.compare = function compare(a2, b2) { - if (isInstance(a2, GlobalUint8Array)) a2 = Buffer2.from(a2, a2.offset, a2.byteLength); - if (isInstance(b2, GlobalUint8Array)) b2 = Buffer2.from(b2, b2.offset, b2.byteLength); - if (!Buffer2.isBuffer(a2) || !Buffer2.isBuffer(b2)) { - throw new TypeError( - 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' - ); - } - if (a2 === b2) return 0; - let x2 = a2.length; - let y2 = b2.length; - for (let i = 0, len = Math.min(x2, y2); i < len; ++i) { - if (a2[i] !== b2[i]) { - x2 = a2[i]; - y2 = b2[i]; - break; - } - } - if (x2 < y2) return -1; - if (y2 < x2) return 1; - return 0; - }; - Buffer2.isEncoding = function isEncoding(encoding) { - switch (String(encoding).toLowerCase()) { - case "hex": - case "utf8": - case "utf-8": - case "ascii": - case "latin1": - case "binary": - case "base64": - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return true; - default: - return false; - } - }; - Buffer2.concat = function concat2(list, length) { - if (!Array.isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - if (list.length === 0) { - return Buffer2.alloc(0); - } - let i; - if (length === void 0) { - length = 0; - for (i = 0; i < list.length; ++i) { - length += list[i].length; - } - } - const buffer2 = Buffer2.allocUnsafe(length); - let pos = 0; - for (i = 0; i < list.length; ++i) { - let buf = list[i]; - if (isInstance(buf, GlobalUint8Array)) { - if (pos + buf.length > buffer2.length) { - if (!Buffer2.isBuffer(buf)) buf = Buffer2.from(buf); - buf.copy(buffer2, pos); - } else { - GlobalUint8Array.prototype.set.call( - buffer2, - buf, - pos - ); - } - } else if (!Buffer2.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } else { - buf.copy(buffer2, pos); - } - pos += buf.length; - } - return buffer2; - }; - function byteLength2(string, encoding) { - if (Buffer2.isBuffer(string)) { - return string.length; - } - if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) { - return string.byteLength; - } - if (typeof string !== "string") { - throw new TypeError( - 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string - ); - } - const len = string.length; - const mustMatch = arguments.length > 2 && arguments[2] === true; - if (!mustMatch && len === 0) return 0; - let loweredCase = false; - for (; ; ) { - switch (encoding) { - case "ascii": - case "latin1": - case "binary": - return len; - case "utf8": - case "utf-8": - return utf8ToBytes(string).length; - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return len * 2; - case "hex": - return len >>> 1; - case "base64": - return base64ToBytes(string).length; - default: - if (loweredCase) { - return mustMatch ? -1 : utf8ToBytes(string).length; - } - encoding = ("" + encoding).toLowerCase(); - loweredCase = true; - } - } - } - Buffer2.byteLength = byteLength2; - function slowToString(encoding, start, end) { - let loweredCase = false; - if (start === void 0 || start < 0) { - start = 0; - } - if (start > this.length) { - return ""; - } - if (end === void 0 || end > this.length) { - end = this.length; - } - if (end <= 0) { - return ""; - } - end >>>= 0; - start >>>= 0; - if (end <= start) { - return ""; - } - if (!encoding) encoding = "utf8"; - while (true) { - switch (encoding) { - case "hex": - return hexSlice(this, start, end); - case "utf8": - case "utf-8": - return utf8Slice(this, start, end); - case "ascii": - return asciiSlice(this, start, end); - case "latin1": - case "binary": - return latin1Slice(this, start, end); - case "base64": - return base64Slice(this, start, end); - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return utf16leSlice(this, start, end); - default: - if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); - encoding = (encoding + "").toLowerCase(); - loweredCase = true; - } - } - } - Buffer2.prototype._isBuffer = true; - function swap(b2, n2, m2) { - const i = b2[n2]; - b2[n2] = b2[m2]; - b2[m2] = i; - } - Buffer2.prototype.swap16 = function swap16() { - const len = this.length; - if (len % 2 !== 0) { - throw new RangeError("Buffer size must be a multiple of 16-bits"); - } - for (let i = 0; i < len; i += 2) { - swap(this, i, i + 1); - } - return this; - }; - Buffer2.prototype.swap32 = function swap32() { - const len = this.length; - if (len % 4 !== 0) { - throw new RangeError("Buffer size must be a multiple of 32-bits"); - } - for (let i = 0; i < len; i += 4) { - swap(this, i, i + 3); - swap(this, i + 1, i + 2); - } - return this; - }; - Buffer2.prototype.swap64 = function swap64() { - const len = this.length; - if (len % 8 !== 0) { - throw new RangeError("Buffer size must be a multiple of 64-bits"); - } - for (let i = 0; i < len; i += 8) { - swap(this, i, i + 7); - swap(this, i + 1, i + 6); - swap(this, i + 2, i + 5); - swap(this, i + 3, i + 4); - } - return this; - }; - Buffer2.prototype.toString = function toString4() { - const length = this.length; - if (length === 0) return ""; - if (arguments.length === 0) return utf8Slice(this, 0, length); - return slowToString.apply(this, arguments); - }; - Buffer2.prototype.toLocaleString = Buffer2.prototype.toString; - Buffer2.prototype.equals = function equals(b2) { - if (!Buffer2.isBuffer(b2)) throw new TypeError("Argument must be a Buffer"); - if (this === b2) return true; - return Buffer2.compare(this, b2) === 0; - }; - Buffer2.prototype.inspect = function inspect() { - let str = ""; - const max2 = exports.INSPECT_MAX_BYTES; - str = this.toString("hex", 0, max2).replace(/(.{2})/g, "$1 ").trim(); - if (this.length > max2) str += " ... "; - return ""; - }; - if (customInspectSymbol) { - Buffer2.prototype[customInspectSymbol] = Buffer2.prototype.inspect; - } - Buffer2.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { - if (isInstance(target, GlobalUint8Array)) { - target = Buffer2.from(target, target.offset, target.byteLength); - } - if (!Buffer2.isBuffer(target)) { - throw new TypeError( - 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target - ); - } - if (start === void 0) { - start = 0; - } - if (end === void 0) { - end = target ? target.length : 0; - } - if (thisStart === void 0) { - thisStart = 0; - } - if (thisEnd === void 0) { - thisEnd = this.length; - } - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError("out of range index"); - } - if (thisStart >= thisEnd && start >= end) { - return 0; - } - if (thisStart >= thisEnd) { - return -1; - } - if (start >= end) { - return 1; - } - start >>>= 0; - end >>>= 0; - thisStart >>>= 0; - thisEnd >>>= 0; - if (this === target) return 0; - let x2 = thisEnd - thisStart; - let y2 = end - start; - const len = Math.min(x2, y2); - const thisCopy = this.slice(thisStart, thisEnd); - const targetCopy = target.slice(start, end); - for (let i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x2 = thisCopy[i]; - y2 = targetCopy[i]; - break; - } - } - if (x2 < y2) return -1; - if (y2 < x2) return 1; - return 0; - }; - function bidirectionalIndexOf(buffer2, val2, byteOffset, encoding, dir) { - if (buffer2.length === 0) return -1; - if (typeof byteOffset === "string") { - encoding = byteOffset; - byteOffset = 0; - } else if (byteOffset > 2147483647) { - byteOffset = 2147483647; - } else if (byteOffset < -2147483648) { - byteOffset = -2147483648; - } - byteOffset = +byteOffset; - if (numberIsNaN(byteOffset)) { - byteOffset = dir ? 0 : buffer2.length - 1; - } - if (byteOffset < 0) byteOffset = buffer2.length + byteOffset; - if (byteOffset >= buffer2.length) { - if (dir) return -1; - else byteOffset = buffer2.length - 1; - } else if (byteOffset < 0) { - if (dir) byteOffset = 0; - else return -1; - } - if (typeof val2 === "string") { - val2 = Buffer2.from(val2, encoding); - } - if (Buffer2.isBuffer(val2)) { - if (val2.length === 0) { - return -1; - } - return arrayIndexOf(buffer2, val2, byteOffset, encoding, dir); - } else if (typeof val2 === "number") { - val2 = val2 & 255; - if (typeof GlobalUint8Array.prototype.indexOf === "function") { - if (dir) { - return GlobalUint8Array.prototype.indexOf.call(buffer2, val2, byteOffset); - } else { - return GlobalUint8Array.prototype.lastIndexOf.call(buffer2, val2, byteOffset); - } - } - return arrayIndexOf(buffer2, [val2], byteOffset, encoding, dir); - } - throw new TypeError("val must be string, number or Buffer"); - } - function arrayIndexOf(arr, val2, byteOffset, encoding, dir) { - let indexSize = 1; - let arrLength = arr.length; - let valLength = val2.length; - if (encoding !== void 0) { - encoding = String(encoding).toLowerCase(); - if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { - if (arr.length < 2 || val2.length < 2) { - return -1; - } - indexSize = 2; - arrLength /= 2; - valLength /= 2; - byteOffset /= 2; - } - } - function read(buf, i2) { - if (indexSize === 1) { - return buf[i2]; - } else { - return buf.readUInt16BE(i2 * indexSize); - } - } - let i; - if (dir) { - let foundIndex = -1; - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val2, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i; - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; - } else { - if (foundIndex !== -1) i -= i - foundIndex; - foundIndex = -1; - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; - for (i = byteOffset; i >= 0; i--) { - let found = true; - for (let j2 = 0; j2 < valLength; j2++) { - if (read(arr, i + j2) !== read(val2, j2)) { - found = false; - break; - } - } - if (found) return i; - } - } - return -1; - } - Buffer2.prototype.includes = function includes(val2, byteOffset, encoding) { - return this.indexOf(val2, byteOffset, encoding) !== -1; - }; - Buffer2.prototype.indexOf = function indexOf2(val2, byteOffset, encoding) { - return bidirectionalIndexOf(this, val2, byteOffset, encoding, true); - }; - Buffer2.prototype.lastIndexOf = function lastIndexOf(val2, byteOffset, encoding) { - return bidirectionalIndexOf(this, val2, byteOffset, encoding, false); - }; - function hexWrite(buf, string, offset, length) { - offset = Number(offset) || 0; - const remaining = buf.length - offset; - if (!length) { - length = remaining; - } else { - length = Number(length); - if (length > remaining) { - length = remaining; - } - } - const strLen = string.length; - if (length > strLen / 2) { - length = strLen / 2; - } - let i; - for (i = 0; i < length; ++i) { - const parsed = parseInt(string.substr(i * 2, 2), 16); - if (numberIsNaN(parsed)) return i; - buf[offset + i] = parsed; - } - return i; - } - function utf8Write(buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); - } - function asciiWrite(buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length); - } - function base64Write(buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length); - } - function ucs2Write(buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); - } - Buffer2.prototype.write = function write(string, offset, length, encoding) { - if (offset === void 0) { - encoding = "utf8"; - length = this.length; - offset = 0; - } else if (length === void 0 && typeof offset === "string") { - encoding = offset; - length = this.length; - offset = 0; - } else if (isFinite(offset)) { - offset = offset >>> 0; - if (isFinite(length)) { - length = length >>> 0; - if (encoding === void 0) encoding = "utf8"; - } else { - encoding = length; - length = void 0; - } - } else { - throw new Error( - "Buffer.write(string, encoding, offset[, length]) is no longer supported" - ); - } - const remaining = this.length - offset; - if (length === void 0 || length > remaining) length = remaining; - if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { - throw new RangeError("Attempt to write outside buffer bounds"); - } - if (!encoding) encoding = "utf8"; - let loweredCase = false; - for (; ; ) { - switch (encoding) { - case "hex": - return hexWrite(this, string, offset, length); - case "utf8": - case "utf-8": - return utf8Write(this, string, offset, length); - case "ascii": - case "latin1": - case "binary": - return asciiWrite(this, string, offset, length); - case "base64": - return base64Write(this, string, offset, length); - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return ucs2Write(this, string, offset, length); - default: - if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); - encoding = ("" + encoding).toLowerCase(); - loweredCase = true; - } - } - }; - Buffer2.prototype.toJSON = function toJSON2() { - return { - type: "Buffer", - data: Array.prototype.slice.call(this._arr || this, 0) - }; - }; - function base64Slice(buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf); - } else { - return base64.fromByteArray(buf.slice(start, end)); - } - } - function utf8Slice(buf, start, end) { - end = Math.min(buf.length, end); - const res = []; - let i = start; - while (i < end) { - const firstByte = buf[i]; - let codePoint = null; - let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; - if (i + bytesPerSequence <= end) { - let secondByte, thirdByte, fourthByte, tempCodePoint; - switch (bytesPerSequence) { - case 1: - if (firstByte < 128) { - codePoint = firstByte; - } - break; - case 2: - secondByte = buf[i + 1]; - if ((secondByte & 192) === 128) { - tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; - if (tempCodePoint > 127) { - codePoint = tempCodePoint; - } - } - break; - case 3: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { - tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; - if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { - codePoint = tempCodePoint; - } - } - break; - case 4: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - fourthByte = buf[i + 3]; - if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { - tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; - if (tempCodePoint > 65535 && tempCodePoint < 1114112) { - codePoint = tempCodePoint; - } - } - } - } - if (codePoint === null) { - codePoint = 65533; - bytesPerSequence = 1; - } else if (codePoint > 65535) { - codePoint -= 65536; - res.push(codePoint >>> 10 & 1023 | 55296); - codePoint = 56320 | codePoint & 1023; - } - res.push(codePoint); - i += bytesPerSequence; - } - return decodeCodePointsArray(res); - } - const MAX_ARGUMENTS_LENGTH = 4096; - function decodeCodePointsArray(codePoints) { - const len = codePoints.length; - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints); - } - let res = ""; - let i = 0; - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ); - } - return res; - } - function asciiSlice(buf, start, end) { - let ret = ""; - end = Math.min(buf.length, end); - for (let i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 127); - } - return ret; - } - function latin1Slice(buf, start, end) { - let ret = ""; - end = Math.min(buf.length, end); - for (let i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]); - } - return ret; - } - function hexSlice(buf, start, end) { - const len = buf.length; - if (!start || start < 0) start = 0; - if (!end || end < 0 || end > len) end = len; - let out = ""; - for (let i = start; i < end; ++i) { - out += hexSliceLookupTable[buf[i]]; - } - return out; - } - function utf16leSlice(buf, start, end) { - const bytes = buf.slice(start, end); - let res = ""; - for (let i = 0; i < bytes.length - 1; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); - } - return res; - } - Buffer2.prototype.slice = function slice(start, end) { - const len = this.length; - start = ~~start; - end = end === void 0 ? len : ~~end; - if (start < 0) { - start += len; - if (start < 0) start = 0; - } else if (start > len) { - start = len; - } - if (end < 0) { - end += len; - if (end < 0) end = 0; - } else if (end > len) { - end = len; - } - if (end < start) end = start; - const newBuf = this.subarray(start, end); - Object.setPrototypeOf(newBuf, Buffer2.prototype); - return newBuf; - }; - function checkOffset(offset, ext, length) { - if (offset % 1 !== 0 || offset < 0) throw new RangeError("offset is not uint"); - if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length"); - } - Buffer2.prototype.readUintLE = Buffer2.prototype.readUIntLE = function readUIntLE(offset, byteLength3, noAssert) { - offset = offset >>> 0; - byteLength3 = byteLength3 >>> 0; - if (!noAssert) checkOffset(offset, byteLength3, this.length); - let val2 = this[offset]; - let mul = 1; - let i = 0; - while (++i < byteLength3 && (mul *= 256)) { - val2 += this[offset + i] * mul; - } - return val2; - }; - Buffer2.prototype.readUintBE = Buffer2.prototype.readUIntBE = function readUIntBE(offset, byteLength3, noAssert) { - offset = offset >>> 0; - byteLength3 = byteLength3 >>> 0; - if (!noAssert) { - checkOffset(offset, byteLength3, this.length); - } - let val2 = this[offset + --byteLength3]; - let mul = 1; - while (byteLength3 > 0 && (mul *= 256)) { - val2 += this[offset + --byteLength3] * mul; - } - return val2; - }; - Buffer2.prototype.readUint8 = Buffer2.prototype.readUInt8 = function readUInt8(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 1, this.length); - return this[offset]; - }; - Buffer2.prototype.readUint16LE = Buffer2.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] | this[offset + 1] << 8; - }; - Buffer2.prototype.readUint16BE = Buffer2.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] << 8 | this[offset + 1]; - }; - Buffer2.prototype.readUint32LE = Buffer2.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; - }; - Buffer2.prototype.readUint32BE = Buffer2.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); - }; - Buffer2.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24; - const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24; - return BigInt(lo) + (BigInt(hi) << BigInt(32)); - }); - Buffer2.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; - const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last; - return (BigInt(hi) << BigInt(32)) + BigInt(lo); - }); - Buffer2.prototype.readIntLE = function readIntLE(offset, byteLength3, noAssert) { - offset = offset >>> 0; - byteLength3 = byteLength3 >>> 0; - if (!noAssert) checkOffset(offset, byteLength3, this.length); - let val2 = this[offset]; - let mul = 1; - let i = 0; - while (++i < byteLength3 && (mul *= 256)) { - val2 += this[offset + i] * mul; - } - mul *= 128; - if (val2 >= mul) val2 -= Math.pow(2, 8 * byteLength3); - return val2; - }; - Buffer2.prototype.readIntBE = function readIntBE(offset, byteLength3, noAssert) { - offset = offset >>> 0; - byteLength3 = byteLength3 >>> 0; - if (!noAssert) checkOffset(offset, byteLength3, this.length); - let i = byteLength3; - let mul = 1; - let val2 = this[offset + --i]; - while (i > 0 && (mul *= 256)) { - val2 += this[offset + --i] * mul; - } - mul *= 128; - if (val2 >= mul) val2 -= Math.pow(2, 8 * byteLength3); - return val2; - }; - Buffer2.prototype.readInt8 = function readInt8(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 1, this.length); - if (!(this[offset] & 128)) return this[offset]; - return (255 - this[offset] + 1) * -1; - }; - Buffer2.prototype.readInt16LE = function readInt16LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - const val2 = this[offset] | this[offset + 1] << 8; - return val2 & 32768 ? val2 | 4294901760 : val2; - }; - Buffer2.prototype.readInt16BE = function readInt16BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - const val2 = this[offset + 1] | this[offset] << 8; - return val2 & 32768 ? val2 | 4294901760 : val2; - }; - Buffer2.prototype.readInt32LE = function readInt32LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; - }; - Buffer2.prototype.readInt32BE = function readInt32BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; - }; - Buffer2.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const val2 = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); - return (BigInt(val2) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24); - }); - Buffer2.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const val2 = (first << 24) + // Overflow - this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; - return (BigInt(val2) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last); - }); - Buffer2.prototype.readFloatLE = function readFloatLE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754$1.read(this, offset, true, 23, 4); - }; - Buffer2.prototype.readFloatBE = function readFloatBE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754$1.read(this, offset, false, 23, 4); - }; - Buffer2.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754$1.read(this, offset, true, 52, 8); - }; - Buffer2.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754$1.read(this, offset, false, 52, 8); - }; - function checkInt(buf, value, offset, ext, max2, min2) { - if (!Buffer2.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); - if (value > max2 || value < min2) throw new RangeError('"value" argument is out of bounds'); - if (offset + ext > buf.length) throw new RangeError("Index out of range"); - } - Buffer2.prototype.writeUintLE = Buffer2.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength3, noAssert) { - value = +value; - offset = offset >>> 0; - byteLength3 = byteLength3 >>> 0; - if (!noAssert) { - const maxBytes = Math.pow(2, 8 * byteLength3) - 1; - checkInt(this, value, offset, byteLength3, maxBytes, 0); - } - let mul = 1; - let i = 0; - this[offset] = value & 255; - while (++i < byteLength3 && (mul *= 256)) { - this[offset + i] = value / mul & 255; - } - return offset + byteLength3; - }; - Buffer2.prototype.writeUintBE = Buffer2.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength3, noAssert) { - value = +value; - offset = offset >>> 0; - byteLength3 = byteLength3 >>> 0; - if (!noAssert) { - const maxBytes = Math.pow(2, 8 * byteLength3) - 1; - checkInt(this, value, offset, byteLength3, maxBytes, 0); - } - let i = byteLength3 - 1; - let mul = 1; - this[offset + i] = value & 255; - while (--i >= 0 && (mul *= 256)) { - this[offset + i] = value / mul & 255; - } - return offset + byteLength3; - }; - Buffer2.prototype.writeUint8 = Buffer2.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 1, 255, 0); - this[offset] = value & 255; - return offset + 1; - }; - Buffer2.prototype.writeUint16LE = Buffer2.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 65535, 0); - this[offset] = value & 255; - this[offset + 1] = value >>> 8; - return offset + 2; - }; - Buffer2.prototype.writeUint16BE = Buffer2.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 65535, 0); - this[offset] = value >>> 8; - this[offset + 1] = value & 255; - return offset + 2; - }; - Buffer2.prototype.writeUint32LE = Buffer2.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0); - this[offset + 3] = value >>> 24; - this[offset + 2] = value >>> 16; - this[offset + 1] = value >>> 8; - this[offset] = value & 255; - return offset + 4; - }; - Buffer2.prototype.writeUint32BE = Buffer2.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0); - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 255; - return offset + 4; - }; - function wrtBigUInt64LE(buf, value, offset, min2, max2) { - checkIntBI(value, min2, max2, buf, offset, 7); - let lo = Number(value & BigInt(4294967295)); - buf[offset++] = lo; - lo = lo >> 8; - buf[offset++] = lo; - lo = lo >> 8; - buf[offset++] = lo; - lo = lo >> 8; - buf[offset++] = lo; - let hi = Number(value >> BigInt(32) & BigInt(4294967295)); - buf[offset++] = hi; - hi = hi >> 8; - buf[offset++] = hi; - hi = hi >> 8; - buf[offset++] = hi; - hi = hi >> 8; - buf[offset++] = hi; - return offset; - } - function wrtBigUInt64BE(buf, value, offset, min2, max2) { - checkIntBI(value, min2, max2, buf, offset, 7); - let lo = Number(value & BigInt(4294967295)); - buf[offset + 7] = lo; - lo = lo >> 8; - buf[offset + 6] = lo; - lo = lo >> 8; - buf[offset + 5] = lo; - lo = lo >> 8; - buf[offset + 4] = lo; - let hi = Number(value >> BigInt(32) & BigInt(4294967295)); - buf[offset + 3] = hi; - hi = hi >> 8; - buf[offset + 2] = hi; - hi = hi >> 8; - buf[offset + 1] = hi; - hi = hi >> 8; - buf[offset] = hi; - return offset + 8; - } - Buffer2.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) { - return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff")); - }); - Buffer2.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) { - return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff")); - }); - Buffer2.prototype.writeIntLE = function writeIntLE(value, offset, byteLength3, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - const limit = Math.pow(2, 8 * byteLength3 - 1); - checkInt(this, value, offset, byteLength3, limit - 1, -limit); - } - let i = 0; - let mul = 1; - let sub = 0; - this[offset] = value & 255; - while (++i < byteLength3 && (mul *= 256)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1; - } - this[offset + i] = (value / mul >> 0) - sub & 255; - } - return offset + byteLength3; - }; - Buffer2.prototype.writeIntBE = function writeIntBE(value, offset, byteLength3, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - const limit = Math.pow(2, 8 * byteLength3 - 1); - checkInt(this, value, offset, byteLength3, limit - 1, -limit); - } - let i = byteLength3 - 1; - let mul = 1; - let sub = 0; - this[offset + i] = value & 255; - while (--i >= 0 && (mul *= 256)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1; - } - this[offset + i] = (value / mul >> 0) - sub & 255; - } - return offset + byteLength3; - }; - Buffer2.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 1, 127, -128); - if (value < 0) value = 255 + value + 1; - this[offset] = value & 255; - return offset + 1; - }; - Buffer2.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768); - this[offset] = value & 255; - this[offset + 1] = value >>> 8; - return offset + 2; - }; - Buffer2.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768); - this[offset] = value >>> 8; - this[offset + 1] = value & 255; - return offset + 2; - }; - Buffer2.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648); - this[offset] = value & 255; - this[offset + 1] = value >>> 8; - this[offset + 2] = value >>> 16; - this[offset + 3] = value >>> 24; - return offset + 4; - }; - Buffer2.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648); - if (value < 0) value = 4294967295 + value + 1; - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 255; - return offset + 4; - }; - Buffer2.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) { - return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); - }); - Buffer2.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) { - return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); - }); - function checkIEEE754(buf, value, offset, ext, max2, min2) { - if (offset + ext > buf.length) throw new RangeError("Index out of range"); - if (offset < 0) throw new RangeError("Index out of range"); - } - function writeFloat(buf, value, offset, littleEndian, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - checkIEEE754(buf, value, offset, 4); - } - ieee754$1.write(buf, value, offset, littleEndian, 23, 4); - return offset + 4; - } - Buffer2.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert); - }; - Buffer2.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert); - }; - function writeDouble(buf, value, offset, littleEndian, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - checkIEEE754(buf, value, offset, 8); - } - ieee754$1.write(buf, value, offset, littleEndian, 52, 8); - return offset + 8; - } - Buffer2.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert); - }; - Buffer2.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert); - }; - Buffer2.prototype.copy = function copy(target, targetStart, start, end) { - if (!Buffer2.isBuffer(target)) throw new TypeError("argument should be a Buffer"); - if (!start) start = 0; - if (!end && end !== 0) end = this.length; - if (targetStart >= target.length) targetStart = target.length; - if (!targetStart) targetStart = 0; - if (end > 0 && end < start) end = start; - if (end === start) return 0; - if (target.length === 0 || this.length === 0) return 0; - if (targetStart < 0) { - throw new RangeError("targetStart out of bounds"); - } - if (start < 0 || start >= this.length) throw new RangeError("Index out of range"); - if (end < 0) throw new RangeError("sourceEnd out of bounds"); - if (end > this.length) end = this.length; - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start; - } - const len = end - start; - if (this === target && typeof GlobalUint8Array.prototype.copyWithin === "function") { - this.copyWithin(targetStart, start, end); - } else { - GlobalUint8Array.prototype.set.call( - target, - this.subarray(start, end), - targetStart - ); - } - return len; - }; - Buffer2.prototype.fill = function fill(val2, start, end, encoding) { - if (typeof val2 === "string") { - if (typeof start === "string") { - encoding = start; - start = 0; - end = this.length; - } else if (typeof end === "string") { - encoding = end; - end = this.length; - } - if (encoding !== void 0 && typeof encoding !== "string") { - throw new TypeError("encoding must be a string"); - } - if (typeof encoding === "string" && !Buffer2.isEncoding(encoding)) { - throw new TypeError("Unknown encoding: " + encoding); - } - if (val2.length === 1) { - const code2 = val2.charCodeAt(0); - if (encoding === "utf8" && code2 < 128 || encoding === "latin1") { - val2 = code2; - } - } - } else if (typeof val2 === "number") { - val2 = val2 & 255; - } else if (typeof val2 === "boolean") { - val2 = Number(val2); - } - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError("Out of range index"); - } - if (end <= start) { - return this; - } - start = start >>> 0; - end = end === void 0 ? this.length : end >>> 0; - if (!val2) val2 = 0; - let i; - if (typeof val2 === "number") { - for (i = start; i < end; ++i) { - this[i] = val2; - } - } else { - const bytes = Buffer2.isBuffer(val2) ? val2 : Buffer2.from(val2, encoding); - const len = bytes.length; - if (len === 0) { - throw new TypeError('The value "' + val2 + '" is invalid for argument "value"'); - } - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len]; - } - } - return this; - }; - const errors = {}; - function E2(sym, getMessage, Base) { - errors[sym] = class NodeError extends Base { - constructor() { - super(); - Object.defineProperty(this, "message", { - value: getMessage.apply(this, arguments), - writable: true, - configurable: true - }); - this.name = `${this.name} [${sym}]`; - this.stack; - delete this.name; - } - get code() { - return sym; - } - set code(value) { - Object.defineProperty(this, "code", { - configurable: true, - enumerable: true, - value, - writable: true - }); - } - toString() { - return `${this.name} [${sym}]: ${this.message}`; - } - }; - } - E2( - "ERR_BUFFER_OUT_OF_BOUNDS", - function(name) { - if (name) { - return `${name} is outside of buffer bounds`; - } - return "Attempt to access memory outside buffer bounds"; - }, - RangeError - ); - E2( - "ERR_INVALID_ARG_TYPE", - function(name, actual) { - return `The "${name}" argument must be of type number. Received type ${typeof actual}`; - }, - TypeError - ); - E2( - "ERR_OUT_OF_RANGE", - function(str, range, input) { - let msg = `The value of "${str}" is out of range.`; - let received = input; - if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { - received = addNumericalSeparator(String(input)); - } else if (typeof input === "bigint") { - received = String(input); - if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) { - received = addNumericalSeparator(received); - } - received += "n"; - } - msg += ` It must be ${range}. Received ${received}`; - return msg; - }, - RangeError - ); - function addNumericalSeparator(val2) { - let res = ""; - let i = val2.length; - const start = val2[0] === "-" ? 1 : 0; - for (; i >= start + 4; i -= 3) { - res = `_${val2.slice(i - 3, i)}${res}`; - } - return `${val2.slice(0, i)}${res}`; - } - function checkBounds(buf, offset, byteLength3) { - validateNumber(offset, "offset"); - if (buf[offset] === void 0 || buf[offset + byteLength3] === void 0) { - boundsError(offset, buf.length - (byteLength3 + 1)); - } - } - function checkIntBI(value, min2, max2, buf, offset, byteLength3) { - if (value > max2 || value < min2) { - const n2 = typeof min2 === "bigint" ? "n" : ""; - let range; - { - if (min2 === 0 || min2 === BigInt(0)) { - range = `>= 0${n2} and < 2${n2} ** ${(byteLength3 + 1) * 8}${n2}`; - } else { - range = `>= -(2${n2} ** ${(byteLength3 + 1) * 8 - 1}${n2}) and < 2 ** ${(byteLength3 + 1) * 8 - 1}${n2}`; - } - } - throw new errors.ERR_OUT_OF_RANGE("value", range, value); - } - checkBounds(buf, offset, byteLength3); - } - function validateNumber(value, name) { - if (typeof value !== "number") { - throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value); - } - } - function boundsError(value, length, type) { - if (Math.floor(value) !== value) { - validateNumber(value, type); - throw new errors.ERR_OUT_OF_RANGE("offset", "an integer", value); - } - if (length < 0) { - throw new errors.ERR_BUFFER_OUT_OF_BOUNDS(); - } - throw new errors.ERR_OUT_OF_RANGE( - "offset", - `>= ${0} and <= ${length}`, - value - ); - } - const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; - function base64clean(str) { - str = str.split("=")[0]; - str = str.trim().replace(INVALID_BASE64_RE, ""); - if (str.length < 2) return ""; - while (str.length % 4 !== 0) { - str = str + "="; - } - return str; - } - function utf8ToBytes(string, units) { - units = units || Infinity; - let codePoint; - const length = string.length; - let leadSurrogate = null; - const bytes = []; - for (let i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i); - if (codePoint > 55295 && codePoint < 57344) { - if (!leadSurrogate) { - if (codePoint > 56319) { - if ((units -= 3) > -1) bytes.push(239, 191, 189); - continue; - } else if (i + 1 === length) { - if ((units -= 3) > -1) bytes.push(239, 191, 189); - continue; - } - leadSurrogate = codePoint; - continue; - } - if (codePoint < 56320) { - if ((units -= 3) > -1) bytes.push(239, 191, 189); - leadSurrogate = codePoint; - continue; - } - codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; - } else if (leadSurrogate) { - if ((units -= 3) > -1) bytes.push(239, 191, 189); - } - leadSurrogate = null; - if (codePoint < 128) { - if ((units -= 1) < 0) break; - bytes.push(codePoint); - } else if (codePoint < 2048) { - if ((units -= 2) < 0) break; - bytes.push( - codePoint >> 6 | 192, - codePoint & 63 | 128 - ); - } else if (codePoint < 65536) { - if ((units -= 3) < 0) break; - bytes.push( - codePoint >> 12 | 224, - codePoint >> 6 & 63 | 128, - codePoint & 63 | 128 - ); - } else if (codePoint < 1114112) { - if ((units -= 4) < 0) break; - bytes.push( - codePoint >> 18 | 240, - codePoint >> 12 & 63 | 128, - codePoint >> 6 & 63 | 128, - codePoint & 63 | 128 - ); - } else { - throw new Error("Invalid code point"); - } - } - return bytes; - } - function asciiToBytes(str) { - const byteArray = []; - for (let i = 0; i < str.length; ++i) { - byteArray.push(str.charCodeAt(i) & 255); - } - return byteArray; - } - function utf16leToBytes(str, units) { - let c2, hi, lo; - const byteArray = []; - for (let i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break; - c2 = str.charCodeAt(i); - hi = c2 >> 8; - lo = c2 % 256; - byteArray.push(lo); - byteArray.push(hi); - } - return byteArray; - } - function base64ToBytes(str) { - return base64.toByteArray(base64clean(str)); - } - function blitBuffer(src, dst, offset, length) { - let i; - for (i = 0; i < length; ++i) { - if (i + offset >= dst.length || i >= src.length) break; - dst[i + offset] = src[i]; - } - return i; - } - function isInstance(obj, type) { - return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name; - } - function numberIsNaN(obj) { - return obj !== obj; - } - const hexSliceLookupTable = function() { - const alphabet = "0123456789abcdef"; - const table = new Array(256); - for (let i = 0; i < 16; ++i) { - const i16 = i * 16; - for (let j2 = 0; j2 < 16; ++j2) { - table[i16 + j2] = alphabet[i] + alphabet[j2]; - } - } - return table; - }(); - function defineBigIntMethod(fn) { - return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn; - } - function BufferBigIntNotDefined() { - throw new Error("BigInt not supported"); - } -})(buffer); -const Buffer = buffer.Buffer; -function AxiosError(message, code2, config, request, response) { - Error.call(this); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = new Error().stack; - } - this.message = message; - this.name = "AxiosError"; - code2 && (this.code = code2); - config && (this.config = config); - request && (this.request = request); - if (response) { - this.response = response; - this.status = response.status ? response.status : null; - } -} -utils$1.inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: utils$1.toJSONObject(this.config), - code: this.code, - status: this.status - }; - } -}); -const prototype$1 = AxiosError.prototype; -const descriptors$1 = {}; -[ - "ERR_BAD_OPTION_VALUE", - "ERR_BAD_OPTION", - "ECONNABORTED", - "ETIMEDOUT", - "ERR_NETWORK", - "ERR_FR_TOO_MANY_REDIRECTS", - "ERR_DEPRECATED", - "ERR_BAD_RESPONSE", - "ERR_BAD_REQUEST", - "ERR_CANCELED", - "ERR_NOT_SUPPORT", - "ERR_INVALID_URL" - // eslint-disable-next-line func-names -].forEach((code2) => { - descriptors$1[code2] = { value: code2 }; -}); -Object.defineProperties(AxiosError, descriptors$1); -Object.defineProperty(prototype$1, "isAxiosError", { value: true }); -AxiosError.from = (error, code2, config, request, response, customProps) => { - const axiosError = Object.create(prototype$1); - utils$1.toFlatObject(error, axiosError, function filter2(obj) { - return obj !== Error.prototype; - }, (prop) => { - return prop !== "isAxiosError"; - }); - AxiosError.call(axiosError, error.message, code2, config, request, response); - axiosError.cause = error; - axiosError.name = error.name; - customProps && Object.assign(axiosError, customProps); - return axiosError; -}; -const httpAdapter = null; -function isVisitable(thing) { - return utils$1.isPlainObject(thing) || utils$1.isArray(thing); -} -function removeBrackets(key) { - return utils$1.endsWith(key, "[]") ? key.slice(0, -2) : key; -} -function renderKey(path, key, dots) { - if (!path) return key; - return path.concat(key).map(function each(token2, i) { - token2 = removeBrackets(token2); - return !dots && i ? "[" + token2 + "]" : token2; - }).join(dots ? "." : ""); -} -function isFlatArray(arr) { - return utils$1.isArray(arr) && !arr.some(isVisitable); -} -const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); -}); -function toFormData(obj, formData, options) { - if (!utils$1.isObject(obj)) { - throw new TypeError("target must be an object"); - } - formData = formData || new FormData(); - options = utils$1.toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - return !utils$1.isUndefined(source[option]); - }); - const metaTokens = options.metaTokens; - const visitor = options.visitor || defaultVisitor; - const dots = options.dots; - const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== "undefined" && Blob; - const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); - if (!utils$1.isFunction(visitor)) { - throw new TypeError("visitor must be a function"); - } - function convertValue(value) { - if (value === null) return ""; - if (utils$1.isDate(value)) { - return value.toISOString(); - } - if (!useBlob && utils$1.isBlob(value)) { - throw new AxiosError("Blob is not supported. Use a Buffer instead."); - } - if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { - return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value); - } - return value; - } - function defaultVisitor(value, key, path) { - let arr = value; - if (value && !path && typeof value === "object") { - if (utils$1.endsWith(key, "{}")) { - key = metaTokens ? key : key.slice(0, -2); - value = JSON.stringify(value); - } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, "[]")) && (arr = utils$1.toArray(value))) { - key = removeBrackets(key); - arr.forEach(function each(el, index) { - !(utils$1.isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]", - convertValue(el) - ); - }); - return false; - } - } - if (isVisitable(value)) { - return true; - } - formData.append(renderKey(path, key, dots), convertValue(value)); - return false; - } - const stack = []; - const exposedHelpers = Object.assign(predicates, { - defaultVisitor, - convertValue, - isVisitable - }); - function build(value, path) { - if (utils$1.isUndefined(value)) return; - if (stack.indexOf(value) !== -1) { - throw Error("Circular reference detected in " + path.join(".")); - } - stack.push(value); - utils$1.forEach(value, function each(el, key) { - const result = !(utils$1.isUndefined(el) || el === null) && visitor.call( - formData, - el, - utils$1.isString(key) ? key.trim() : key, - path, - exposedHelpers - ); - if (result === true) { - build(el, path ? path.concat(key) : [key]); - } - }); - stack.pop(); - } - if (!utils$1.isObject(obj)) { - throw new TypeError("data must be an object"); - } - build(obj); - return formData; -} -function encode$1(str) { - const charMap = { - "!": "%21", - "'": "%27", - "(": "%28", - ")": "%29", - "~": "%7E", - "%20": "+", - "%00": "\0" - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match2) { - return charMap[match2]; - }); -} -function AxiosURLSearchParams(params, options) { - this._pairs = []; - params && toFormData(params, this, options); -} -const prototype = AxiosURLSearchParams.prototype; -prototype.append = function append(name, value) { - this._pairs.push([name, value]); -}; -prototype.toString = function toString(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode$1); - } : encode$1; - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + "=" + _encode(pair[1]); - }, "").join("&"); -}; -function encode(val2) { - return encodeURIComponent(val2).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); -} -function buildURL(url, params, options) { - if (!params) { - return url; - } - const _encode = options && options.encode || encode; - const serializeFn = options && options.serialize; - let serializedParams; - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); - } - if (serializedParams) { - const hashmarkIndex = url.indexOf("#"); - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams; - } - return url; -} -class InterceptorManager { - constructor() { - this.handlers = []; - } - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled, - rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - * - * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise - */ - eject(id2) { - if (this.handlers[id2]) { - this.handlers[id2] = null; - } - } - /** - * Clear all interceptors from the stack - * - * @returns {void} - */ - clear() { - if (this.handlers) { - this.handlers = []; - } - } - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - * - * @returns {void} - */ - forEach(fn) { - utils$1.forEach(this.handlers, function forEachHandler(h2) { - if (h2 !== null) { - fn(h2); - } - }); - } -} -const transitionalDefaults = { - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}; -const URLSearchParams$1 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams; -const FormData$1 = typeof FormData !== "undefined" ? FormData : null; -const Blob$1 = typeof Blob !== "undefined" ? Blob : null; -const platform$1 = { - isBrowser: true, - classes: { - URLSearchParams: URLSearchParams$1, - FormData: FormData$1, - Blob: Blob$1 - }, - protocols: ["http", "https", "file", "blob", "url", "data"] -}; -const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; -const _navigator = typeof navigator === "object" && navigator || void 0; -const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0); -const hasStandardBrowserWebWorkerEnv = (() => { - return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef - self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; -})(); -const origin = hasBrowserEnv && window.location.href || "http://localhost"; -const utils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ - __proto__: null, - hasBrowserEnv, - hasStandardBrowserEnv, - hasStandardBrowserWebWorkerEnv, - navigator: _navigator, - origin -}, Symbol.toStringTag, { value: "Module" })); -const platform = { - ...utils, - ...platform$1 -}; -function toURLEncodedForm(data2, options) { - return toFormData(data2, new platform.classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path, helpers) { - if (platform.isNode && utils$1.isBuffer(value)) { - this.append(key, value.toString("base64")); - return false; - } - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} -function parsePropPath(name) { - return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map((match2) => { - return match2[0] === "[]" ? "" : match2[1] || match2[0]; - }); -} -function arrayToObject(arr) { - const obj = {}; - const keys3 = Object.keys(arr); - let i; - const len = keys3.length; - let key; - for (i = 0; i < len; i++) { - key = keys3[i]; - obj[key] = arr[key]; - } - return obj; -} -function formDataToJSON(formData) { - function buildPath(path, value, target, index) { - let name = path[index++]; - if (name === "__proto__") return true; - const isNumericKey = Number.isFinite(+name); - const isLast = index >= path.length; - name = !name && utils$1.isArray(target) ? target.length : name; - if (isLast) { - if (utils$1.hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - return !isNumericKey; - } - if (!target[name] || !utils$1.isObject(target[name])) { - target[name] = []; - } - const result = buildPath(path, value, target[name], index); - if (result && utils$1.isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - return !isNumericKey; - } - if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { - const obj = {}; - utils$1.forEachEntry(formData, (name, value) => { - buildPath(parsePropPath(name), value, obj, 0); - }); - return obj; - } - return null; -} -function stringifySafely(rawValue, parser, encoder) { - if (utils$1.isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return utils$1.trim(rawValue); - } catch (e2) { - if (e2.name !== "SyntaxError") { - throw e2; - } - } - } - return (encoder || JSON.stringify)(rawValue); -} -const defaults = { - transitional: transitionalDefaults, - adapter: ["xhr", "http", "fetch"], - transformRequest: [function transformRequest(data2, headers) { - const contentType = headers.getContentType() || ""; - const hasJSONContentType = contentType.indexOf("application/json") > -1; - const isObjectPayload = utils$1.isObject(data2); - if (isObjectPayload && utils$1.isHTMLForm(data2)) { - data2 = new FormData(data2); - } - const isFormData2 = utils$1.isFormData(data2); - if (isFormData2) { - return hasJSONContentType ? JSON.stringify(formDataToJSON(data2)) : data2; - } - if (utils$1.isArrayBuffer(data2) || utils$1.isBuffer(data2) || utils$1.isStream(data2) || utils$1.isFile(data2) || utils$1.isBlob(data2) || utils$1.isReadableStream(data2)) { - return data2; - } - if (utils$1.isArrayBufferView(data2)) { - return data2.buffer; - } - if (utils$1.isURLSearchParams(data2)) { - headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false); - return data2.toString(); - } - let isFileList2; - if (isObjectPayload) { - if (contentType.indexOf("application/x-www-form-urlencoded") > -1) { - return toURLEncodedForm(data2, this.formSerializer).toString(); - } - if ((isFileList2 = utils$1.isFileList(data2)) || contentType.indexOf("multipart/form-data") > -1) { - const _FormData = this.env && this.env.FormData; - return toFormData( - isFileList2 ? { "files[]": data2 } : data2, - _FormData && new _FormData(), - this.formSerializer - ); - } - } - if (isObjectPayload || hasJSONContentType) { - headers.setContentType("application/json", false); - return stringifySafely(data2); - } - return data2; - }], - transformResponse: [function transformResponse(data2) { - const transitional2 = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing; - const JSONRequested = this.responseType === "json"; - if (utils$1.isResponse(data2) || utils$1.isReadableStream(data2)) { - return data2; - } - if (data2 && utils$1.isString(data2) && (forcedJSONParsing && !this.responseType || JSONRequested)) { - const silentJSONParsing = transitional2 && transitional2.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; - try { - return JSON.parse(data2); - } catch (e2) { - if (strictJSONParsing) { - if (e2.name === "SyntaxError") { - throw AxiosError.from(e2, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); - } - throw e2; - } - } - } - return data2; - }], - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - xsrfCookieName: "XSRF-TOKEN", - xsrfHeaderName: "X-XSRF-TOKEN", - maxContentLength: -1, - maxBodyLength: -1, - env: { - FormData: platform.classes.FormData, - Blob: platform.classes.Blob - }, - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - headers: { - common: { - "Accept": "application/json, text/plain, */*", - "Content-Type": void 0 - } - } -}; -utils$1.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { - defaults.headers[method] = {}; -}); -const ignoreDuplicateOf = utils$1.toObjectSet([ - "age", - "authorization", - "content-length", - "content-type", - "etag", - "expires", - "from", - "host", - "if-modified-since", - "if-unmodified-since", - "last-modified", - "location", - "max-forwards", - "proxy-authorization", - "referer", - "retry-after", - "user-agent" -]); -const parseHeaders = (rawHeaders) => { - const parsed = {}; - let key; - let val2; - let i; - rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i = line.indexOf(":"); - key = line.substring(0, i).trim().toLowerCase(); - val2 = line.substring(i + 1).trim(); - if (!key || parsed[key] && ignoreDuplicateOf[key]) { - return; - } - if (key === "set-cookie") { - if (parsed[key]) { - parsed[key].push(val2); - } else { - parsed[key] = [val2]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ", " + val2 : val2; - } - }); - return parsed; -}; -const $internals = Symbol("internals"); -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - return utils$1.isArray(value) ? value.map(normalizeValue) : String(value); -} -function parseTokens(str) { - const tokens = /* @__PURE__ */ Object.create(null); - const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - let match2; - while (match2 = tokensRE.exec(str)) { - tokens[match2[1]] = match2[2]; - } - return tokens; -} -const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); -function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { - if (utils$1.isFunction(filter2)) { - return filter2.call(this, value, header); - } - if (isHeaderNameFilter) { - value = header; - } - if (!utils$1.isString(value)) return; - if (utils$1.isString(filter2)) { - return value.indexOf(filter2) !== -1; - } - if (utils$1.isRegExp(filter2)) { - return filter2.test(value); - } -} -function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w2, char, str) => { - return char.toUpperCase() + str; - }); -} -function buildAccessors(obj, header) { - const accessorName = utils$1.toCamelCase(" " + header); - ["get", "set", "has"].forEach((methodName) => { - Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} -class AxiosHeaders { - constructor(headers) { - headers && this.set(headers); - } - set(header, valueOrRewrite, rewrite) { - const self2 = this; - function setHeader(_value, _header, _rewrite) { - const lHeader = normalizeHeader(_header); - if (!lHeader) { - throw new Error("header name must be a non-empty string"); - } - const key = utils$1.findKey(self2, lHeader); - if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) { - self2[key || _header] = normalizeValue(_value); - } - } - const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); - if (utils$1.isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite); - } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders(parseHeaders(header), valueOrRewrite); - } else if (utils$1.isHeaders(header)) { - for (const [key, value] of header.entries()) { - setHeader(value, key, rewrite); - } - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - return this; - } - get(header, parser) { - header = normalizeHeader(header); - if (header) { - const key = utils$1.findKey(this, header); - if (key) { - const value = this[key]; - if (!parser) { - return value; - } - if (parser === true) { - return parseTokens(value); - } - if (utils$1.isFunction(parser)) { - return parser.call(this, value, key); - } - if (utils$1.isRegExp(parser)) { - return parser.exec(value); - } - throw new TypeError("parser must be boolean|regexp|function"); - } - } - } - has(header, matcher) { - header = normalizeHeader(header); - if (header) { - const key = utils$1.findKey(this, header); - return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - return false; - } - delete(header, matcher) { - const self2 = this; - let deleted = false; - function deleteHeader(_header) { - _header = normalizeHeader(_header); - if (_header) { - const key = utils$1.findKey(self2, _header); - if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) { - delete self2[key]; - deleted = true; - } - } - } - if (utils$1.isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - return deleted; - } - clear(matcher) { - const keys3 = Object.keys(this); - let i = keys3.length; - let deleted = false; - while (i--) { - const key = keys3[i]; - if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - return deleted; - } - normalize(format2) { - const self2 = this; - const headers = {}; - utils$1.forEach(this, (value, header) => { - const key = utils$1.findKey(headers, header); - if (key) { - self2[key] = normalizeValue(value); - delete self2[header]; - return; - } - const normalized = format2 ? formatHeader(header) : String(header).trim(); - if (normalized !== header) { - delete self2[header]; - } - self2[normalized] = normalizeValue(value); - headers[normalized] = true; - }); - return this; - } - concat(...targets) { - return this.constructor.concat(this, ...targets); - } - toJSON(asStrings) { - const obj = /* @__PURE__ */ Object.create(null); - utils$1.forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(", ") : value); - }); - return obj; - } - [Symbol.iterator]() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n"); - } - get [Symbol.toStringTag]() { - return "AxiosHeaders"; - } - static from(thing) { - return thing instanceof this ? thing : new this(thing); - } - static concat(first, ...targets) { - const computed = new this(first); - targets.forEach((target) => computed.set(target)); - return computed; - } - static accessor(header) { - const internals = this[$internals] = this[$internals] = { - accessors: {} - }; - const accessors = internals.accessors; - const prototype2 = this.prototype; - function defineAccessor(_header) { - const lHeader = normalizeHeader(_header); - if (!accessors[lHeader]) { - buildAccessors(prototype2, _header); - accessors[lHeader] = true; - } - } - utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - return this; - } -} -AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils$1.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - }; -}); -utils$1.freezeMethods(AxiosHeaders); -function transformData(fns, response) { - const config = this || defaults; - const context = response || config; - const headers = AxiosHeaders.from(context.headers); - let data2 = context.data; - utils$1.forEach(fns, function transform(fn) { - data2 = fn.call(config, data2, headers.normalize(), response ? response.status : void 0); - }); - headers.normalize(); - return data2; -} -function isCancel(value) { - return !!(value && value.__CANCEL__); -} -function CanceledError(message, config, request) { - AxiosError.call(this, message == null ? "canceled" : message, AxiosError.ERR_CANCELED, config, request); - this.name = "CanceledError"; -} -utils$1.inherits(CanceledError, AxiosError, { - __CANCEL__: true -}); -function settle(resolve3, reject2, response) { - const validateStatus2 = response.config.validateStatus; - if (!response.status || !validateStatus2 || validateStatus2(response.status)) { - resolve3(response); - } else { - reject2(new AxiosError( - "Request failed with status code " + response.status, - [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -} -function parseProtocol(url) { - const match2 = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match2 && match2[1] || ""; -} -function speedometer(samplesCount, min2) { - samplesCount = samplesCount || 10; - const bytes = new Array(samplesCount); - const timestamps = new Array(samplesCount); - let head = 0; - let tail = 0; - let firstSampleTS; - min2 = min2 !== void 0 ? min2 : 1e3; - return function push2(chunkLength) { - const now = Date.now(); - const startedAt = timestamps[tail]; - if (!firstSampleTS) { - firstSampleTS = now; - } - bytes[head] = chunkLength; - timestamps[head] = now; - let i = tail; - let bytesCount = 0; - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - head = (head + 1) % samplesCount; - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - if (now - firstSampleTS < min2) { - return; - } - const passed = startedAt && now - startedAt; - return passed ? Math.round(bytesCount * 1e3 / passed) : void 0; - }; -} -function throttle(fn, freq) { - let timestamp = 0; - let threshold = 1e3 / freq; - let lastArgs; - let timer; - const invoke = (args, now = Date.now()) => { - timestamp = now; - lastArgs = null; - if (timer) { - clearTimeout(timer); - timer = null; - } - fn.apply(null, args); - }; - const throttled = (...args) => { - const now = Date.now(); - const passed = now - timestamp; - if (passed >= threshold) { - invoke(args, now); - } else { - lastArgs = args; - if (!timer) { - timer = setTimeout(() => { - timer = null; - invoke(lastArgs); - }, threshold - passed); - } - } - }; - const flush = () => lastArgs && invoke(lastArgs); - return [throttled, flush]; -} -const progressEventReducer = (listener, isDownloadStream, freq = 3) => { - let bytesNotified = 0; - const _speedometer = speedometer(50, 250); - return throttle((e2) => { - const loaded = e2.loaded; - const total = e2.lengthComputable ? e2.total : void 0; - const progressBytes = loaded - bytesNotified; - const rate = _speedometer(progressBytes); - const inRange = loaded <= total; - bytesNotified = loaded; - const data2 = { - loaded, - total, - progress: total ? loaded / total : void 0, - bytes: progressBytes, - rate: rate ? rate : void 0, - estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e2, - lengthComputable: total != null, - [isDownloadStream ? "download" : "upload"]: true - }; - listener(data2); - }, freq); -}; -const progressEventDecorator = (total, throttled) => { - const lengthComputable = total != null; - return [(loaded) => throttled[0]({ - lengthComputable, - total, - loaded - }), throttled[1]]; -}; -const asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args)); -const isURLSameOrigin = platform.hasStandardBrowserEnv ? ( - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - function standardBrowserEnv() { - const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent); - const urlParsingNode = document.createElement("a"); - let originURL; - function resolveURL(url) { - let href = url; - if (msie) { - urlParsingNode.setAttribute("href", href); - href = urlParsingNode.href; - } - urlParsingNode.setAttribute("href", href); - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "", - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "", - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "", - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname - }; - } - originURL = resolveURL(window.location.href); - return function isURLSameOrigin2(requestURL) { - const parsed = utils$1.isString(requestURL) ? resolveURL(requestURL) : requestURL; - return parsed.protocol === originURL.protocol && parsed.host === originURL.host; - }; - }() -) : ( - // Non standard browser envs (web workers, react-native) lack needed support. - /* @__PURE__ */ function nonStandardBrowserEnv() { - return function isURLSameOrigin2() { - return true; - }; - }() -); -const cookies = platform.hasStandardBrowserEnv ? ( - // Standard browser envs support document.cookie - { - write(name, value, expires, path, domain, secure) { - const cookie = [name + "=" + encodeURIComponent(value)]; - utils$1.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); - utils$1.isString(path) && cookie.push("path=" + path); - utils$1.isString(domain) && cookie.push("domain=" + domain); - secure === true && cookie.push("secure"); - document.cookie = cookie.join("; "); - }, - read(name) { - const match2 = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match2 ? decodeURIComponent(match2[3]) : null; - }, - remove(name) { - this.write(name, "", Date.now() - 864e5); - } - } -) : ( - // Non-standard browser env (web workers, react-native) lack needed support. - { - write() { - }, - read() { - return null; - }, - remove() { - } - } -); -function isAbsoluteURL(url) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -} -function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; -} -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL(requestedURL)) { - return combineURLs(baseURL, requestedURL); - } - return requestedURL; -} -const headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing; -function mergeConfig(config1, config2) { - config2 = config2 || {}; - const config = {}; - function getMergedValue(target, source, caseless) { - if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { - return utils$1.merge.call({ caseless }, target, source); - } else if (utils$1.isPlainObject(source)) { - return utils$1.merge({}, source); - } else if (utils$1.isArray(source)) { - return source.slice(); - } - return source; - } - function mergeDeepProperties(a2, b2, caseless) { - if (!utils$1.isUndefined(b2)) { - return getMergedValue(a2, b2, caseless); - } else if (!utils$1.isUndefined(a2)) { - return getMergedValue(void 0, a2, caseless); - } - } - function valueFromConfig2(a2, b2) { - if (!utils$1.isUndefined(b2)) { - return getMergedValue(void 0, b2); - } - } - function defaultToConfig2(a2, b2) { - if (!utils$1.isUndefined(b2)) { - return getMergedValue(void 0, b2); - } else if (!utils$1.isUndefined(a2)) { - return getMergedValue(void 0, a2); - } - } - function mergeDirectKeys(a2, b2, prop) { - if (prop in config2) { - return getMergedValue(a2, b2); - } else if (prop in config1) { - return getMergedValue(void 0, a2); - } - } - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true) - }; - utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - const merge2 = mergeMap[prop] || mergeDeepProperties; - const configValue = merge2(config1[prop], config2[prop], prop); - utils$1.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue); - }); - return config; -} -const resolveConfig = (config) => { - const newConfig = mergeConfig({}, config); - let { data: data2, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig; - newConfig.headers = headers = AxiosHeaders.from(headers); - newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); - if (auth) { - headers.set( - "Authorization", - "Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : "")) - ); - } - let contentType; - if (utils$1.isFormData(data2)) { - if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { - headers.setContentType(void 0); - } else if ((contentType = headers.getContentType()) !== false) { - const [type, ...tokens] = contentType ? contentType.split(";").map((token2) => token2.trim()).filter(Boolean) : []; - headers.setContentType([type || "multipart/form-data", ...tokens].join("; ")); - } - } - if (platform.hasStandardBrowserEnv) { - withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); - if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) { - const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); - if (xsrfValue) { - headers.set(xsrfHeaderName, xsrfValue); - } - } - } - return newConfig; -}; -const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -const xhrAdapter = isXHRAdapterSupported && function(config) { - return new Promise(function dispatchXhrRequest(resolve3, reject2) { - const _config = resolveConfig(config); - let requestData = _config.data; - const requestHeaders = AxiosHeaders.from(_config.headers).normalize(); - let { responseType, onUploadProgress, onDownloadProgress } = _config; - let onCanceled; - let uploadThrottled, downloadThrottled; - let flushUpload, flushDownload; - function done() { - flushUpload && flushUpload(); - flushDownload && flushDownload(); - _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); - _config.signal && _config.signal.removeEventListener("abort", onCanceled); - } - let request = new XMLHttpRequest(); - request.open(_config.method.toUpperCase(), _config.url, true); - request.timeout = _config.timeout; - function onloadend() { - if (!request) { - return; - } - const responseHeaders = AxiosHeaders.from( - "getAllResponseHeaders" in request && request.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; - const response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config, - request - }; - settle(function _resolve(value) { - resolve3(value); - done(); - }, function _reject(err) { - reject2(err); - done(); - }, response); - request = null; - } - if ("onloadend" in request) { - request.onloadend = onloadend; - } else { - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { - return; - } - setTimeout(onloadend); - }; - } - request.onabort = function handleAbort() { - if (!request) { - return; - } - reject2(new AxiosError("Request aborted", AxiosError.ECONNABORTED, config, request)); - request = null; - }; - request.onerror = function handleError() { - reject2(new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request)); - request = null; - }; - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = _config.transitional || transitionalDefaults; - if (_config.timeoutErrorMessage) { - timeoutErrorMessage = _config.timeoutErrorMessage; - } - reject2(new AxiosError( - timeoutErrorMessage, - transitional2.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, - config, - request - )); - request = null; - }; - requestData === void 0 && requestHeaders.setContentType(null); - if ("setRequestHeader" in request) { - utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val2, key) { - request.setRequestHeader(key, val2); - }); - } - if (!utils$1.isUndefined(_config.withCredentials)) { - request.withCredentials = !!_config.withCredentials; - } - if (responseType && responseType !== "json") { - request.responseType = _config.responseType; - } - if (onDownloadProgress) { - [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true); - request.addEventListener("progress", downloadThrottled); - } - if (onUploadProgress && request.upload) { - [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress); - request.upload.addEventListener("progress", uploadThrottled); - request.upload.addEventListener("loadend", flushUpload); - } - if (_config.cancelToken || _config.signal) { - onCanceled = (cancel) => { - if (!request) { - return; - } - reject2(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); - request.abort(); - request = null; - }; - _config.cancelToken && _config.cancelToken.subscribe(onCanceled); - if (_config.signal) { - _config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled); - } - } - const protocol = parseProtocol(_config.url); - if (protocol && platform.protocols.indexOf(protocol) === -1) { - reject2(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config)); - return; - } - request.send(requestData || null); - }); -}; -const composeSignals = (signals, timeout) => { - const { length } = signals = signals ? signals.filter(Boolean) : []; - if (timeout || length) { - let controller = new AbortController(); - let aborted; - const onabort = function(reason) { - if (!aborted) { - aborted = true; - unsubscribe(); - const err = reason instanceof Error ? reason : this.reason; - controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); - } - }; - let timer = timeout && setTimeout(() => { - timer = null; - onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT)); - }, timeout); - const unsubscribe = () => { - if (signals) { - timer && clearTimeout(timer); - timer = null; - signals.forEach((signal2) => { - signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort); - }); - signals = null; - } - }; - signals.forEach((signal2) => signal2.addEventListener("abort", onabort)); - const { signal } = controller; - signal.unsubscribe = () => utils$1.asap(unsubscribe); - return signal; - } -}; -const streamChunk = function* (chunk, chunkSize) { - let len = chunk.byteLength; - if (!chunkSize || len < chunkSize) { - yield chunk; - return; - } - let pos = 0; - let end; - while (pos < len) { - end = pos + chunkSize; - yield chunk.slice(pos, end); - pos = end; - } -}; -const readBytes = async function* (iterable, chunkSize) { - for await (const chunk of readStream(iterable)) { - yield* streamChunk(chunk, chunkSize); - } -}; -const readStream = async function* (stream) { - if (stream[Symbol.asyncIterator]) { - yield* stream; - return; - } - const reader = stream.getReader(); - try { - for (; ; ) { - const { done, value } = await reader.read(); - if (done) { - break; - } - yield value; - } - } finally { - await reader.cancel(); - } -}; -const trackStream = (stream, chunkSize, onProgress, onFinish) => { - const iterator = readBytes(stream, chunkSize); - let bytes = 0; - let done; - let _onFinish = (e2) => { - if (!done) { - done = true; - onFinish && onFinish(e2); - } - }; - return new ReadableStream({ - async pull(controller) { - try { - const { done: done2, value } = await iterator.next(); - if (done2) { - _onFinish(); - controller.close(); - return; - } - let len = value.byteLength; - if (onProgress) { - let loadedBytes = bytes += len; - onProgress(loadedBytes); - } - controller.enqueue(new Uint8Array(value)); - } catch (err) { - _onFinish(err); - throw err; - } - }, - cancel(reason) { - _onFinish(reason); - return iterator.return(); - } - }, { - highWaterMark: 2 - }); -}; -const isFetchSupported = typeof fetch === "function" && typeof Request === "function" && typeof Response === "function"; -const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === "function"; -const encodeText = isFetchSupported && (typeof TextEncoder === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer())); -const test$1 = (fn, ...args) => { - try { - return !!fn(...args); - } catch (e2) { - return false; - } -}; -const supportsRequestStream = isReadableStreamSupported && test$1(() => { - let duplexAccessed = false; - const hasContentType = new Request(platform.origin, { - body: new ReadableStream(), - method: "POST", - get duplex() { - duplexAccessed = true; - return "half"; - } - }).headers.has("Content-Type"); - return duplexAccessed && !hasContentType; -}); -const DEFAULT_CHUNK_SIZE = 64 * 1024; -const supportsResponseStream = isReadableStreamSupported && test$1(() => utils$1.isReadableStream(new Response("").body)); -const resolvers = { - stream: supportsResponseStream && ((res) => res.body) -}; -isFetchSupported && ((res) => { - ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => { - !resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res2) => res2[type]() : (_2, config) => { - throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); - }); - }); -})(new Response()); -const getBodyLength = async (body) => { - if (body == null) { - return 0; - } - if (utils$1.isBlob(body)) { - return body.size; - } - if (utils$1.isSpecCompliantForm(body)) { - const _request = new Request(platform.origin, { - method: "POST", - body - }); - return (await _request.arrayBuffer()).byteLength; - } - if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) { - return body.byteLength; - } - if (utils$1.isURLSearchParams(body)) { - body = body + ""; - } - if (utils$1.isString(body)) { - return (await encodeText(body)).byteLength; - } -}; -const resolveBodyLength = async (headers, body) => { - const length = utils$1.toFiniteNumber(headers.getContentLength()); - return length == null ? getBodyLength(body) : length; -}; -const fetchAdapter = isFetchSupported && (async (config) => { - let { - url, - method, - data: data2, - signal, - cancelToken, - timeout, - onDownloadProgress, - onUploadProgress, - responseType, - headers, - withCredentials = "same-origin", - fetchOptions - } = resolveConfig(config); - responseType = responseType ? (responseType + "").toLowerCase() : "text"; - let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout); - let request; - const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => { - composedSignal.unsubscribe(); - }); - let requestContentLength; - try { - if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data2)) !== 0) { - let _request = new Request(url, { - method: "POST", - body: data2, - duplex: "half" - }); - let contentTypeHeader; - if (utils$1.isFormData(data2) && (contentTypeHeader = _request.headers.get("content-type"))) { - headers.setContentType(contentTypeHeader); - } - if (_request.body) { - const [onProgress, flush] = progressEventDecorator( - requestContentLength, - progressEventReducer(asyncDecorator(onUploadProgress)) - ); - data2 = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); - } - } - if (!utils$1.isString(withCredentials)) { - withCredentials = withCredentials ? "include" : "omit"; - } - const isCredentialsSupported = "credentials" in Request.prototype; - request = new Request(url, { - ...fetchOptions, - signal: composedSignal, - method: method.toUpperCase(), - headers: headers.normalize().toJSON(), - body: data2, - duplex: "half", - credentials: isCredentialsSupported ? withCredentials : void 0 - }); - let response = await fetch(request); - const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response"); - if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) { - const options = {}; - ["status", "statusText", "headers"].forEach((prop) => { - options[prop] = response[prop]; - }); - const responseContentLength = utils$1.toFiniteNumber(response.headers.get("content-length")); - const [onProgress, flush] = onDownloadProgress && progressEventDecorator( - responseContentLength, - progressEventReducer(asyncDecorator(onDownloadProgress), true) - ) || []; - response = new Response( - trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { - flush && flush(); - unsubscribe && unsubscribe(); - }), - options - ); - } - responseType = responseType || "text"; - let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || "text"](response, config); - !isStreamResponse && unsubscribe && unsubscribe(); - return await new Promise((resolve3, reject2) => { - settle(resolve3, reject2, { - data: responseData, - headers: AxiosHeaders.from(response.headers), - status: response.status, - statusText: response.statusText, - config, - request - }); - }); - } catch (err) { - unsubscribe && unsubscribe(); - if (err && err.name === "TypeError" && /fetch/i.test(err.message)) { - throw Object.assign( - new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request), - { - cause: err.cause || err - } - ); - } - throw AxiosError.from(err, err && err.code, config, request); - } -}); -const knownAdapters = { - http: httpAdapter, - xhr: xhrAdapter, - fetch: fetchAdapter -}; -utils$1.forEach(knownAdapters, (fn, value) => { - if (fn) { - try { - Object.defineProperty(fn, "name", { value }); - } catch (e2) { - } - Object.defineProperty(fn, "adapterName", { value }); - } -}); -const renderReason = (reason) => `- ${reason}`; -const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false; -const adapters = { - getAdapter: (adapters2) => { - adapters2 = utils$1.isArray(adapters2) ? adapters2 : [adapters2]; - const { length } = adapters2; - let nameOrAdapter; - let adapter; - const rejectedReasons = {}; - for (let i = 0; i < length; i++) { - nameOrAdapter = adapters2[i]; - let id2; - adapter = nameOrAdapter; - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id2 = String(nameOrAdapter)).toLowerCase()]; - if (adapter === void 0) { - throw new AxiosError(`Unknown adapter '${id2}'`); - } - } - if (adapter) { - break; - } - rejectedReasons[id2 || "#" + i] = adapter; - } - if (!adapter) { - const reasons = Object.entries(rejectedReasons).map( - ([id2, state]) => `adapter ${id2} ` + (state === false ? "is not supported by the environment" : "is not available in the build") - ); - let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; - throw new AxiosError( - `There is no suitable adapter to dispatch the request ` + s2, - "ERR_NOT_SUPPORT" - ); - } - return adapter; - }, - adapters: knownAdapters -}; -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - if (config.signal && config.signal.aborted) { - throw new CanceledError(null, config); - } -} -function dispatchRequest(config) { - throwIfCancellationRequested(config); - config.headers = AxiosHeaders.from(config.headers); - config.data = transformData.call( - config, - config.transformRequest - ); - if (["post", "put", "patch"].indexOf(config.method) !== -1) { - config.headers.setContentType("application/x-www-form-urlencoded", false); - } - const adapter = adapters.getAdapter(config.adapter || defaults.adapter); - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - response.data = transformData.call( - config, - config.transformResponse, - response - ); - response.headers = AxiosHeaders.from(response.headers); - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - if (reason && reason.response) { - reason.response.data = transformData.call( - config, - config.transformResponse, - reason.response - ); - reason.response.headers = AxiosHeaders.from(reason.response.headers); - } - } - return Promise.reject(reason); - }); -} -const VERSION = "1.7.7"; -const validators$1 = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => { - validators$1[type] = function validator2(thing) { - return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type; - }; -}); -const deprecatedWarnings = {}; -validators$1.transitional = function transitional(validator2, version2, message) { - function formatMessage(opt, desc) { - return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); - } - return (value, opt, opts) => { - if (validator2 === false) { - throw new AxiosError( - formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")), - AxiosError.ERR_DEPRECATED - ); - } - if (version2 && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - console.warn( - formatMessage( - opt, - " has been deprecated since v" + version2 + " and will be removed in the near future" - ) - ); - } - return validator2 ? validator2(value, opt, opts) : true; - }; -}; -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== "object") { - throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE); - } - const keys3 = Object.keys(options); - let i = keys3.length; - while (i-- > 0) { - const opt = keys3[i]; - const validator2 = schema[opt]; - if (validator2) { - const value = options[opt]; - const result = value === void 0 || validator2(value, opt, options); - if (result !== true) { - throw new AxiosError("option " + opt + " must be " + result, AxiosError.ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new AxiosError("Unknown option " + opt, AxiosError.ERR_BAD_OPTION); - } - } -} -const validator = { - assertOptions, - validators: validators$1 -}; -const validators = validator.validators; -class Axios { - constructor(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() - }; - } - /** - * Dispatch a request - * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config - * - * @returns {Promise} The Promise to be fulfilled - */ - async request(configOrUrl, config) { - try { - return await this._request(configOrUrl, config); - } catch (err) { - if (err instanceof Error) { - let dummy; - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; - try { - if (!err.stack) { - err.stack = stack; - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { - err.stack += "\n" + stack; - } - } catch (e2) { - } - } - throw err; - } - } - _request(configOrUrl, config) { - if (typeof configOrUrl === "string") { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - config = mergeConfig(this.defaults, config); - const { transitional: transitional2, paramsSerializer, headers } = config; - if (transitional2 !== void 0) { - validator.assertOptions(transitional2, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } - if (paramsSerializer != null) { - if (utils$1.isFunction(paramsSerializer)) { - config.paramsSerializer = { - serialize: paramsSerializer - }; - } else { - validator.assertOptions(paramsSerializer, { - encode: validators.function, - serialize: validators.function - }, true); - } - } - config.method = (config.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders = headers && utils$1.merge( - headers.common, - headers[config.method] - ); - headers && utils$1.forEach( - ["delete", "get", "head", "post", "put", "patch", "common"], - (method) => { - delete headers[method]; - } - ); - config.headers = AxiosHeaders.concat(contextHeaders, headers); - const requestInterceptorChain = []; - let synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) { - return; - } - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - const responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - let promise; - let i = 0; - let len; - if (!synchronousRequestInterceptors) { - const chain = [dispatchRequest.bind(this), void 0]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - promise = Promise.resolve(config); - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - return promise; - } - len = requestInterceptorChain.length; - let newConfig = config; - i = 0; - while (i < len) { - const onFulfilled = requestInterceptorChain[i++]; - const onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - try { - promise = dispatchRequest.call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - i = 0; - len = responseInterceptorChain.length; - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - return promise; - } - getUri(config) { - config = mergeConfig(this.defaults, config); - const fullPath = buildFullPath(config.baseURL, config.url); - return buildURL(fullPath, config.params, config.paramsSerializer); - } -} -utils$1.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { - Axios.prototype[method] = function(url, config) { - return this.request(mergeConfig(config || {}, { - method, - url, - data: (config || {}).data - })); - }; -}); -utils$1.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - function generateHTTPMethod(isForm) { - return function httpMethod(url, data2, config) { - return this.request(mergeConfig(config || {}, { - method, - headers: isForm ? { - "Content-Type": "multipart/form-data" - } : {}, - url, - data: data2 - })); - }; - } - Axios.prototype[method] = generateHTTPMethod(); - Axios.prototype[method + "Form"] = generateHTTPMethod(true); -}); -class CancelToken { - constructor(executor) { - if (typeof executor !== "function") { - throw new TypeError("executor must be a function."); - } - let resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve3) { - resolvePromise = resolve3; - }); - const token2 = this; - this.promise.then((cancel) => { - if (!token2._listeners) return; - let i = token2._listeners.length; - while (i-- > 0) { - token2._listeners[i](cancel); - } - token2._listeners = null; - }); - this.promise.then = (onfulfilled) => { - let _resolve; - const promise = new Promise((resolve3) => { - token2.subscribe(resolve3); - _resolve = resolve3; - }).then(onfulfilled); - promise.cancel = function reject2() { - token2.unsubscribe(_resolve); - }; - return promise; - }; - executor(function cancel(message, config, request) { - if (token2.reason) { - return; - } - token2.reason = new CanceledError(message, config, request); - resolvePromise(token2.reason); - }); - } - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - /** - * Subscribe to the cancel signal - */ - subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - /** - * Unsubscribe from the cancel signal - */ - unsubscribe(listener) { - if (!this._listeners) { - return; - } - const index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - toAbortSignal() { - const controller = new AbortController(); - const abort = (err) => { - controller.abort(err); - }; - this.subscribe(abort); - controller.signal.unsubscribe = () => this.unsubscribe(abort); - return controller.signal; - } - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - static source() { - let cancel; - const token2 = new CancelToken(function executor(c2) { - cancel = c2; - }); - return { - token: token2, - cancel - }; - } -} -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} -function isAxiosError(payload) { - return utils$1.isObject(payload) && payload.isAxiosError === true; -} -const HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511 -}; -Object.entries(HttpStatusCode).forEach(([key, value]) => { - HttpStatusCode[value] = key; -}); -function createInstance(defaultConfig) { - const context = new Axios(defaultConfig); - const instance = bind(Axios.prototype.request, context); - utils$1.extend(instance, Axios.prototype, context, { allOwnKeys: true }); - utils$1.extend(instance, context, null, { allOwnKeys: true }); - instance.create = function create3(instanceConfig) { - return createInstance(mergeConfig(defaultConfig, instanceConfig)); - }; - return instance; -} -const axios = createInstance(defaults); -axios.Axios = Axios; -axios.CanceledError = CanceledError; -axios.CancelToken = CancelToken; -axios.isCancel = isCancel; -axios.VERSION = VERSION; -axios.toFormData = toFormData; -axios.AxiosError = AxiosError; -axios.Cancel = axios.CanceledError; -axios.all = function all2(promises) { - return Promise.all(promises); -}; -axios.spread = spread; -axios.isAxiosError = isAxiosError; -axios.mergeConfig = mergeConfig; -axios.AxiosHeaders = AxiosHeaders; -axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); -axios.getAdapter = adapters.getAdapter; -axios.HttpStatusCode = HttpStatusCode; -axios.default = axios; -const RETRY_KEY = Symbol("csrf-retry"); -const onError$2 = (axios2) => async (error) => { - var _a2; - const { config, response, request } = error; - const responseURL = request == null ? void 0 : request.responseURL; - const status = response == null ? void 0 : response.status; - if (status === 412 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === "CSRF check failed" && config[RETRY_KEY] === void 0) { - console.warn("Request to ".concat(responseURL, " failed because of a CSRF mismatch. Fetching a new token")); - const { data: { token: token2 } } = await axios2.get(_$1("/csrftoken")); - console.debug("New request token ".concat(token2, " fetched")); - axios2.defaults.headers.requesttoken = token2; - return axios2({ - ...config, - headers: { - ...config.headers, - requesttoken: token2 - }, - [RETRY_KEY]: true - }); - } - return Promise.reject(error); -}; -const RETRY_DELAY_KEY = Symbol("retryDelay"); -const onError$1 = (axios2) => async (error) => { - var _a2; - const { config, response, request } = error; - const responseURL = request == null ? void 0 : request.responseURL; - const status = response == null ? void 0 : response.status; - const headers = response == null ? void 0 : response.headers; - if (status === 503 && headers["x-nextcloud-maintenance-mode"] === "1" && config.retryIfMaintenanceMode && (!config[RETRY_DELAY_KEY] || config[RETRY_DELAY_KEY] <= 32)) { - const retryDelay = ((_a2 = config[RETRY_DELAY_KEY]) != null ? _a2 : 1) * 2; - console.warn("Request to ".concat(responseURL, " failed because of maintenance mode. Retrying in ").concat(retryDelay, "s")); - await new Promise((resolve3) => { - setTimeout(resolve3, retryDelay * 1e3); - }); - return axios2({ - ...config, - [RETRY_DELAY_KEY]: retryDelay - }); - } - return Promise.reject(error); -}; -const onError = async (error) => { - var _a2; - const { config, response, request } = error; - const responseURL = request == null ? void 0 : request.responseURL; - const status = response == null ? void 0 : response.status; - if (status === 401 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === "Current user is not logged in" && config.reloadExpiredSession && (window == null ? void 0 : window.location)) { - console.error("Request to ".concat(responseURL, " failed because the user session expired. Reloading the page …")); - window.location.reload(); - } - return Promise.reject(error); -}; -var _a; -const client = axios.create({ - headers: { - requesttoken: (_a = getRequestToken()) != null ? _a : "", - "X-Requested-With": "XMLHttpRequest" - } -}); -const cancelableClient = Object.assign(client, { - CancelToken: axios.CancelToken, - isCancel: axios.isCancel -}); -cancelableClient.interceptors.response.use((r2) => r2, onError$2(cancelableClient)); -cancelableClient.interceptors.response.use((r2) => r2, onError$1(cancelableClient)); -cancelableClient.interceptors.response.use((r2) => r2, onError); -onRequestTokenUpdate((token2) => { - client.defaults.headers.requesttoken = token2; -}); -var dist = {}; -var fails$d = function(exec2) { - try { - return !!exec2(); - } catch (error) { - return true; - } -}; -var fails$c = fails$d; -var functionBindNative = !fails$c(function() { - var test2 = function() { - }.bind(); - return typeof test2 != "function" || test2.hasOwnProperty("prototype"); -}); -var NATIVE_BIND$2 = functionBindNative; -var FunctionPrototype$2 = Function.prototype; -var apply$1 = FunctionPrototype$2.apply; -var call$9 = FunctionPrototype$2.call; -var functionApply = typeof Reflect == "object" && Reflect.apply || (NATIVE_BIND$2 ? call$9.bind(apply$1) : function() { - return call$9.apply(apply$1, arguments); -}); -var NATIVE_BIND$1 = functionBindNative; -var call$8 = Function.prototype.call; -var functionCall = NATIVE_BIND$1 ? call$8.bind(call$8) : function() { - return call$8.apply(call$8, arguments); -}; -var NATIVE_BIND = functionBindNative; -var FunctionPrototype$1 = Function.prototype; -var call$7 = FunctionPrototype$1.call; -var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype$1.bind.bind(call$7, call$7); -var functionUncurryThis = NATIVE_BIND ? uncurryThisWithBind : function(fn) { - return function() { - return call$7.apply(fn, arguments); - }; -}; -var check = function(it2) { - return it2 && it2.Math === Math && it2; -}; -var global$d = ( - // eslint-disable-next-line es/no-global-this -- safe - check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || // eslint-disable-next-line no-restricted-globals -- safe - check(typeof self == "object" && self) || check(typeof commonjsGlobal == "object" && commonjsGlobal) || check(typeof commonjsGlobal == "object" && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback - /* @__PURE__ */ function() { - return this; - }() || Function("return this")() -); -var objectGetOwnPropertyDescriptor = {}; -var fails$b = fails$d; -var descriptors = !fails$b(function() { - return Object.defineProperty({}, 1, { get: function() { - return 7; - } })[1] !== 7; -}); -var objectPropertyIsEnumerable = {}; -var $propertyIsEnumerable = {}.propertyIsEnumerable; -var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; -var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); -objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V2) { - var descriptor = getOwnPropertyDescriptor$1(this, V2); - return !!descriptor && descriptor.enumerable; -} : $propertyIsEnumerable; -var createPropertyDescriptor$2 = function(bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value - }; -}; -var uncurryThis$c = functionUncurryThis; -var toString$5 = uncurryThis$c({}.toString); -var stringSlice$5 = uncurryThis$c("".slice); -var classofRaw$1 = function(it2) { - return stringSlice$5(toString$5(it2), 8, -1); -}; -var uncurryThis$b = functionUncurryThis; -var fails$a = fails$d; -var classof$3 = classofRaw$1; -var $Object$3 = Object; -var split = uncurryThis$b("".split); -var indexedObject = fails$a(function() { - return !$Object$3("z").propertyIsEnumerable(0); -}) ? function(it2) { - return classof$3(it2) === "String" ? split(it2, "") : $Object$3(it2); -} : $Object$3; -var isNullOrUndefined$3 = function(it2) { - return it2 === null || it2 === void 0; -}; -var isNullOrUndefined$2 = isNullOrUndefined$3; -var $TypeError$6 = TypeError; -var requireObjectCoercible$4 = function(it2) { - if (isNullOrUndefined$2(it2)) throw new $TypeError$6("Can't call method on " + it2); - return it2; -}; -var IndexedObject = indexedObject; -var requireObjectCoercible$3 = requireObjectCoercible$4; -var toIndexedObject$4 = function(it2) { - return IndexedObject(requireObjectCoercible$3(it2)); -}; -var documentAll = typeof document == "object" && document.all; -var isCallable$d = typeof documentAll == "undefined" && documentAll !== void 0 ? function(argument) { - return typeof argument == "function" || argument === documentAll; -} : function(argument) { - return typeof argument == "function"; -}; -var isCallable$c = isCallable$d; -var isObject$5 = function(it2) { - return typeof it2 == "object" ? it2 !== null : isCallable$c(it2); -}; -var global$c = global$d; -var isCallable$b = isCallable$d; -var aFunction = function(argument) { - return isCallable$b(argument) ? argument : void 0; -}; -var getBuiltIn$3 = function(namespace, method) { - return arguments.length < 2 ? aFunction(global$c[namespace]) : global$c[namespace] && global$c[namespace][method]; -}; -var uncurryThis$a = functionUncurryThis; -var objectIsPrototypeOf = uncurryThis$a({}.isPrototypeOf); -var engineUserAgent = typeof navigator != "undefined" && String(navigator.userAgent) || ""; -var global$b = global$d; -var userAgent = engineUserAgent; -var process = global$b.process; -var Deno = global$b.Deno; -var versions = process && process.versions || Deno && Deno.version; -var v8 = versions && versions.v8; -var match, version; -if (v8) { - match = v8.split("."); - version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); -} -if (!version && userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) version = +match[1]; - } -} -var engineV8Version = version; -var V8_VERSION = engineV8Version; -var fails$9 = fails$d; -var global$a = global$d; -var $String$4 = global$a.String; -var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$9(function() { - var symbol = Symbol("symbol detection"); - return !$String$4(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances - !Symbol.sham && V8_VERSION && V8_VERSION < 41; -}); -var NATIVE_SYMBOL$1 = symbolConstructorDetection; -var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == "symbol"; -var getBuiltIn$2 = getBuiltIn$3; -var isCallable$a = isCallable$d; -var isPrototypeOf = objectIsPrototypeOf; -var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; -var $Object$2 = Object; -var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function(it2) { - return typeof it2 == "symbol"; -} : function(it2) { - var $Symbol = getBuiltIn$2("Symbol"); - return isCallable$a($Symbol) && isPrototypeOf($Symbol.prototype, $Object$2(it2)); -}; -var $String$3 = String; -var tryToString$1 = function(argument) { - try { - return $String$3(argument); - } catch (error) { - return "Object"; - } -}; -var isCallable$9 = isCallable$d; -var tryToString = tryToString$1; -var $TypeError$5 = TypeError; -var aCallable$1 = function(argument) { - if (isCallable$9(argument)) return argument; - throw new $TypeError$5(tryToString(argument) + " is not a function"); -}; -var aCallable = aCallable$1; -var isNullOrUndefined$1 = isNullOrUndefined$3; -var getMethod$2 = function(V2, P2) { - var func = V2[P2]; - return isNullOrUndefined$1(func) ? void 0 : aCallable(func); -}; -var call$6 = functionCall; -var isCallable$8 = isCallable$d; -var isObject$4 = isObject$5; -var $TypeError$4 = TypeError; -var ordinaryToPrimitive$1 = function(input, pref) { - var fn, val2; - if (pref === "string" && isCallable$8(fn = input.toString) && !isObject$4(val2 = call$6(fn, input))) return val2; - if (isCallable$8(fn = input.valueOf) && !isObject$4(val2 = call$6(fn, input))) return val2; - if (pref !== "string" && isCallable$8(fn = input.toString) && !isObject$4(val2 = call$6(fn, input))) return val2; - throw new $TypeError$4("Can't convert object to primitive value"); -}; -var sharedStore = { exports: {} }; -var global$9 = global$d; -var defineProperty$1 = Object.defineProperty; -var defineGlobalProperty$3 = function(key, value) { - try { - defineProperty$1(global$9, key, { value, configurable: true, writable: true }); - } catch (error) { - global$9[key] = value; - } - return value; -}; -var globalThis$1 = global$d; -var defineGlobalProperty$2 = defineGlobalProperty$3; -var SHARED = "__core-js_shared__"; -var store$3 = sharedStore.exports = globalThis$1[SHARED] || defineGlobalProperty$2(SHARED, {}); -(store$3.versions || (store$3.versions = [])).push({ - version: "3.37.0", - mode: "global", - copyright: "© 2014-2024 Denis Pushkarev (zloirock.ru)", - license: "https://github.com/zloirock/core-js/blob/v3.37.0/LICENSE", - source: "https://github.com/zloirock/core-js" -}); -var sharedStoreExports = sharedStore.exports; -var store$2 = sharedStoreExports; -var shared$4 = function(key, value) { - return store$2[key] || (store$2[key] = value || {}); -}; -var requireObjectCoercible$2 = requireObjectCoercible$4; -var $Object$1 = Object; -var toObject$2 = function(argument) { - return $Object$1(requireObjectCoercible$2(argument)); -}; -var uncurryThis$9 = functionUncurryThis; -var toObject$1 = toObject$2; -var hasOwnProperty = uncurryThis$9({}.hasOwnProperty); -var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it2, key) { - return hasOwnProperty(toObject$1(it2), key); -}; -var uncurryThis$8 = functionUncurryThis; -var id = 0; -var postfix = Math.random(); -var toString$4 = uncurryThis$8(1 .toString); -var uid$2 = function(key) { - return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString$4(++id + postfix, 36); -}; -var global$8 = global$d; -var shared$3 = shared$4; -var hasOwn$6 = hasOwnProperty_1; -var uid$1 = uid$2; -var NATIVE_SYMBOL = symbolConstructorDetection; -var USE_SYMBOL_AS_UID = useSymbolAsUid; -var Symbol$1 = global$8.Symbol; -var WellKnownSymbolsStore = shared$3("wks"); -var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1["for"] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; -var wellKnownSymbol$5 = function(name) { - if (!hasOwn$6(WellKnownSymbolsStore, name)) { - WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$6(Symbol$1, name) ? Symbol$1[name] : createWellKnownSymbol("Symbol." + name); - } - return WellKnownSymbolsStore[name]; -}; -var call$5 = functionCall; -var isObject$3 = isObject$5; -var isSymbol$1 = isSymbol$2; -var getMethod$1 = getMethod$2; -var ordinaryToPrimitive = ordinaryToPrimitive$1; -var wellKnownSymbol$4 = wellKnownSymbol$5; -var $TypeError$3 = TypeError; -var TO_PRIMITIVE = wellKnownSymbol$4("toPrimitive"); -var toPrimitive$1 = function(input, pref) { - if (!isObject$3(input) || isSymbol$1(input)) return input; - var exoticToPrim = getMethod$1(input, TO_PRIMITIVE); - var result; - if (exoticToPrim) { - if (pref === void 0) pref = "default"; - result = call$5(exoticToPrim, input, pref); - if (!isObject$3(result) || isSymbol$1(result)) return result; - throw new $TypeError$3("Can't convert object to primitive value"); - } - if (pref === void 0) pref = "number"; - return ordinaryToPrimitive(input, pref); -}; -var toPrimitive = toPrimitive$1; -var isSymbol = isSymbol$2; -var toPropertyKey$2 = function(argument) { - var key = toPrimitive(argument, "string"); - return isSymbol(key) ? key : key + ""; -}; -var global$7 = global$d; -var isObject$2 = isObject$5; -var document$1 = global$7.document; -var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement); -var documentCreateElement$1 = function(it2) { - return EXISTS$1 ? document$1.createElement(it2) : {}; -}; -var DESCRIPTORS$7 = descriptors; -var fails$8 = fails$d; -var createElement = documentCreateElement$1; -var ie8DomDefine = !DESCRIPTORS$7 && !fails$8(function() { - return Object.defineProperty(createElement("div"), "a", { - get: function() { - return 7; - } - }).a !== 7; -}); -var DESCRIPTORS$6 = descriptors; -var call$4 = functionCall; -var propertyIsEnumerableModule = objectPropertyIsEnumerable; -var createPropertyDescriptor$1 = createPropertyDescriptor$2; -var toIndexedObject$3 = toIndexedObject$4; -var toPropertyKey$1 = toPropertyKey$2; -var hasOwn$5 = hasOwnProperty_1; -var IE8_DOM_DEFINE$1 = ie8DomDefine; -var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; -objectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O2, P2) { - O2 = toIndexedObject$3(O2); - P2 = toPropertyKey$1(P2); - if (IE8_DOM_DEFINE$1) try { - return $getOwnPropertyDescriptor$1(O2, P2); - } catch (error) { - } - if (hasOwn$5(O2, P2)) return createPropertyDescriptor$1(!call$4(propertyIsEnumerableModule.f, O2, P2), O2[P2]); -}; -var objectDefineProperty = {}; -var DESCRIPTORS$5 = descriptors; -var fails$7 = fails$d; -var v8PrototypeDefineBug = DESCRIPTORS$5 && fails$7(function() { - return Object.defineProperty(function() { - }, "prototype", { - value: 42, - writable: false - }).prototype !== 42; -}); -var isObject$1 = isObject$5; -var $String$2 = String; -var $TypeError$2 = TypeError; -var anObject$7 = function(argument) { - if (isObject$1(argument)) return argument; - throw new $TypeError$2($String$2(argument) + " is not an object"); -}; -var DESCRIPTORS$4 = descriptors; -var IE8_DOM_DEFINE = ie8DomDefine; -var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug; -var anObject$6 = anObject$7; -var toPropertyKey = toPropertyKey$2; -var $TypeError$1 = TypeError; -var $defineProperty = Object.defineProperty; -var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -var ENUMERABLE = "enumerable"; -var CONFIGURABLE$1 = "configurable"; -var WRITABLE = "writable"; -objectDefineProperty.f = DESCRIPTORS$4 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O2, P2, Attributes) { - anObject$6(O2); - P2 = toPropertyKey(P2); - anObject$6(Attributes); - if (typeof O2 === "function" && P2 === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { - var current = $getOwnPropertyDescriptor(O2, P2); - if (current && current[WRITABLE]) { - O2[P2] = Attributes.value; - Attributes = { - configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1], - enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], - writable: false - }; - } - } - return $defineProperty(O2, P2, Attributes); -} : $defineProperty : function defineProperty2(O2, P2, Attributes) { - anObject$6(O2); - P2 = toPropertyKey(P2); - anObject$6(Attributes); - if (IE8_DOM_DEFINE) try { - return $defineProperty(O2, P2, Attributes); - } catch (error) { - } - if ("get" in Attributes || "set" in Attributes) throw new $TypeError$1("Accessors not supported"); - if ("value" in Attributes) O2[P2] = Attributes.value; - return O2; -}; -var DESCRIPTORS$3 = descriptors; -var definePropertyModule$3 = objectDefineProperty; -var createPropertyDescriptor = createPropertyDescriptor$2; -var createNonEnumerableProperty$3 = DESCRIPTORS$3 ? function(object, key, value) { - return definePropertyModule$3.f(object, key, createPropertyDescriptor(1, value)); -} : function(object, key, value) { - object[key] = value; - return object; -}; -var makeBuiltIn$2 = { exports: {} }; -var DESCRIPTORS$2 = descriptors; -var hasOwn$4 = hasOwnProperty_1; -var FunctionPrototype = Function.prototype; -var getDescriptor = DESCRIPTORS$2 && Object.getOwnPropertyDescriptor; -var EXISTS = hasOwn$4(FunctionPrototype, "name"); -var PROPER = EXISTS && function something() { -}.name === "something"; -var CONFIGURABLE = EXISTS && (!DESCRIPTORS$2 || DESCRIPTORS$2 && getDescriptor(FunctionPrototype, "name").configurable); -var functionName = { - EXISTS, - PROPER, - CONFIGURABLE -}; -var uncurryThis$7 = functionUncurryThis; -var isCallable$7 = isCallable$d; -var store$1 = sharedStoreExports; -var functionToString = uncurryThis$7(Function.toString); -if (!isCallable$7(store$1.inspectSource)) { - store$1.inspectSource = function(it2) { - return functionToString(it2); - }; -} -var inspectSource$1 = store$1.inspectSource; -var global$6 = global$d; -var isCallable$6 = isCallable$d; -var WeakMap$2 = global$6.WeakMap; -var weakMapBasicDetection = isCallable$6(WeakMap$2) && /native code/.test(String(WeakMap$2)); -var shared$2 = shared$4; -var uid = uid$2; -var keys = shared$2("keys"); -var sharedKey$2 = function(key) { - return keys[key] || (keys[key] = uid(key)); -}; -var hiddenKeys$4 = {}; -var NATIVE_WEAK_MAP = weakMapBasicDetection; -var global$5 = global$d; -var isObject = isObject$5; -var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; -var hasOwn$3 = hasOwnProperty_1; -var shared$1 = sharedStoreExports; -var sharedKey$1 = sharedKey$2; -var hiddenKeys$3 = hiddenKeys$4; -var OBJECT_ALREADY_INITIALIZED = "Object already initialized"; -var TypeError$1 = global$5.TypeError; -var WeakMap$1 = global$5.WeakMap; -var set, get, has; -var enforce = function(it2) { - return has(it2) ? get(it2) : set(it2, {}); -}; -var getterFor = function(TYPE) { - return function(it2) { - var state; - if (!isObject(it2) || (state = get(it2)).type !== TYPE) { - throw new TypeError$1("Incompatible receiver, " + TYPE + " required"); - } - return state; - }; -}; -if (NATIVE_WEAK_MAP || shared$1.state) { - var store = shared$1.state || (shared$1.state = new WeakMap$1()); - store.get = store.get; - store.has = store.has; - store.set = store.set; - set = function(it2, metadata) { - if (store.has(it2)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it2; - store.set(it2, metadata); - return metadata; - }; - get = function(it2) { - return store.get(it2) || {}; - }; - has = function(it2) { - return store.has(it2); - }; -} else { - var STATE = sharedKey$1("state"); - hiddenKeys$3[STATE] = true; - set = function(it2, metadata) { - if (hasOwn$3(it2, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it2; - createNonEnumerableProperty$2(it2, STATE, metadata); - return metadata; - }; - get = function(it2) { - return hasOwn$3(it2, STATE) ? it2[STATE] : {}; - }; - has = function(it2) { - return hasOwn$3(it2, STATE); - }; -} -var internalState = { - set, - get, - has, - enforce, - getterFor -}; -var uncurryThis$6 = functionUncurryThis; -var fails$6 = fails$d; -var isCallable$5 = isCallable$d; -var hasOwn$2 = hasOwnProperty_1; -var DESCRIPTORS$1 = descriptors; -var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; -var inspectSource = inspectSource$1; -var InternalStateModule = internalState; -var enforceInternalState = InternalStateModule.enforce; -var getInternalState$1 = InternalStateModule.get; -var $String$1 = String; -var defineProperty3 = Object.defineProperty; -var stringSlice$4 = uncurryThis$6("".slice); -var replace$2 = uncurryThis$6("".replace); -var join2 = uncurryThis$6([].join); -var CONFIGURABLE_LENGTH = DESCRIPTORS$1 && !fails$6(function() { - return defineProperty3(function() { - }, "length", { value: 8 }).length !== 8; -}); -var TEMPLATE = String(String).split("String"); -var makeBuiltIn$1 = makeBuiltIn$2.exports = function(value, name, options) { - if (stringSlice$4($String$1(name), 0, 7) === "Symbol(") { - name = "[" + replace$2($String$1(name), /^Symbol\(([^)]*)\).*$/, "$1") + "]"; - } - if (options && options.getter) name = "get " + name; - if (options && options.setter) name = "set " + name; - if (!hasOwn$2(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { - if (DESCRIPTORS$1) defineProperty3(value, "name", { value: name, configurable: true }); - else value.name = name; - } - if (CONFIGURABLE_LENGTH && options && hasOwn$2(options, "arity") && value.length !== options.arity) { - defineProperty3(value, "length", { value: options.arity }); - } - try { - if (options && hasOwn$2(options, "constructor") && options.constructor) { - if (DESCRIPTORS$1) defineProperty3(value, "prototype", { writable: false }); - } else if (value.prototype) value.prototype = void 0; - } catch (error) { - } - var state = enforceInternalState(value); - if (!hasOwn$2(state, "source")) { - state.source = join2(TEMPLATE, typeof name == "string" ? name : ""); - } - return value; -}; -Function.prototype.toString = makeBuiltIn$1(function toString2() { - return isCallable$5(this) && getInternalState$1(this).source || inspectSource(this); -}, "toString"); -var makeBuiltInExports = makeBuiltIn$2.exports; -var isCallable$4 = isCallable$d; -var definePropertyModule$2 = objectDefineProperty; -var makeBuiltIn = makeBuiltInExports; -var defineGlobalProperty$1 = defineGlobalProperty$3; -var defineBuiltIn$2 = function(O2, key, value, options) { - if (!options) options = {}; - var simple = options.enumerable; - var name = options.name !== void 0 ? options.name : key; - if (isCallable$4(value)) makeBuiltIn(value, name, options); - if (options.global) { - if (simple) O2[key] = value; - else defineGlobalProperty$1(key, value); - } else { - try { - if (!options.unsafe) delete O2[key]; - else if (O2[key]) simple = true; - } catch (error) { - } - if (simple) O2[key] = value; - else definePropertyModule$2.f(O2, key, { - value, - enumerable: false, - configurable: !options.nonConfigurable, - writable: !options.nonWritable - }); - } - return O2; -}; -var objectGetOwnPropertyNames = {}; -var ceil = Math.ceil; -var floor$1 = Math.floor; -var mathTrunc = Math.trunc || function trunc(x2) { - var n2 = +x2; - return (n2 > 0 ? floor$1 : ceil)(n2); -}; -var trunc2 = mathTrunc; -var toIntegerOrInfinity$4 = function(argument) { - var number = +argument; - return number !== number || number === 0 ? 0 : trunc2(number); -}; -var toIntegerOrInfinity$3 = toIntegerOrInfinity$4; -var max$1 = Math.max; -var min$2 = Math.min; -var toAbsoluteIndex$1 = function(index, length) { - var integer = toIntegerOrInfinity$3(index); - return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length); -}; -var toIntegerOrInfinity$2 = toIntegerOrInfinity$4; -var min$1 = Math.min; -var toLength$2 = function(argument) { - var len = toIntegerOrInfinity$2(argument); - return len > 0 ? min$1(len, 9007199254740991) : 0; -}; -var toLength$1 = toLength$2; -var lengthOfArrayLike$1 = function(obj) { - return toLength$1(obj.length); -}; -var toIndexedObject$2 = toIndexedObject$4; -var toAbsoluteIndex = toAbsoluteIndex$1; -var lengthOfArrayLike = lengthOfArrayLike$1; -var createMethod$1 = function(IS_INCLUDES) { - return function($this, el, fromIndex) { - var O2 = toIndexedObject$2($this); - var length = lengthOfArrayLike(O2); - if (length === 0) return !IS_INCLUDES && -1; - var index = toAbsoluteIndex(fromIndex, length); - var value; - if (IS_INCLUDES && el !== el) while (length > index) { - value = O2[index++]; - if (value !== value) return true; - } - else for (; length > index; index++) { - if ((IS_INCLUDES || index in O2) && O2[index] === el) return IS_INCLUDES || index || 0; - } - return !IS_INCLUDES && -1; - }; -}; -var arrayIncludes = { - // `Array.prototype.includes` method - // https://tc39.es/ecma262/#sec-array.prototype.includes - includes: createMethod$1(true), - // `Array.prototype.indexOf` method - // https://tc39.es/ecma262/#sec-array.prototype.indexof - indexOf: createMethod$1(false) -}; -var uncurryThis$5 = functionUncurryThis; -var hasOwn$1 = hasOwnProperty_1; -var toIndexedObject$1 = toIndexedObject$4; -var indexOf$1 = arrayIncludes.indexOf; -var hiddenKeys$2 = hiddenKeys$4; -var push$1 = uncurryThis$5([].push); -var objectKeysInternal = function(object, names) { - var O2 = toIndexedObject$1(object); - var i = 0; - var result = []; - var key; - for (key in O2) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O2, key) && push$1(result, key); - while (names.length > i) if (hasOwn$1(O2, key = names[i++])) { - ~indexOf$1(result, key) || push$1(result, key); - } - return result; -}; -var enumBugKeys$3 = [ - "constructor", - "hasOwnProperty", - "isPrototypeOf", - "propertyIsEnumerable", - "toLocaleString", - "toString", - "valueOf" -]; -var internalObjectKeys$1 = objectKeysInternal; -var enumBugKeys$2 = enumBugKeys$3; -var hiddenKeys$1 = enumBugKeys$2.concat("length", "prototype"); -objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O2) { - return internalObjectKeys$1(O2, hiddenKeys$1); -}; -var objectGetOwnPropertySymbols = {}; -objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; -var getBuiltIn$1 = getBuiltIn$3; -var uncurryThis$4 = functionUncurryThis; -var getOwnPropertyNamesModule = objectGetOwnPropertyNames; -var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; -var anObject$5 = anObject$7; -var concat$1 = uncurryThis$4([].concat); -var ownKeys$1 = getBuiltIn$1("Reflect", "ownKeys") || function ownKeys(it2) { - var keys3 = getOwnPropertyNamesModule.f(anObject$5(it2)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? concat$1(keys3, getOwnPropertySymbols(it2)) : keys3; -}; -var hasOwn2 = hasOwnProperty_1; -var ownKeys2 = ownKeys$1; -var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; -var definePropertyModule$1 = objectDefineProperty; -var copyConstructorProperties$1 = function(target, source, exceptions) { - var keys3 = ownKeys2(source); - var defineProperty4 = definePropertyModule$1.f; - var getOwnPropertyDescriptor3 = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys3.length; i++) { - var key = keys3[i]; - if (!hasOwn2(target, key) && !(exceptions && hasOwn2(exceptions, key))) { - defineProperty4(target, key, getOwnPropertyDescriptor3(source, key)); - } - } -}; -var fails$5 = fails$d; -var isCallable$3 = isCallable$d; -var replacement = /#|\.prototype\./; -var isForced$1 = function(feature, detection) { - var value = data[normalize2(feature)]; - return value === POLYFILL ? true : value === NATIVE ? false : isCallable$3(detection) ? fails$5(detection) : !!detection; -}; -var normalize2 = isForced$1.normalize = function(string) { - return String(string).replace(replacement, ".").toLowerCase(); -}; -var data = isForced$1.data = {}; -var NATIVE = isForced$1.NATIVE = "N"; -var POLYFILL = isForced$1.POLYFILL = "P"; -var isForced_1 = isForced$1; -var global$4 = global$d; -var getOwnPropertyDescriptor2 = objectGetOwnPropertyDescriptor.f; -var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; -var defineBuiltIn$1 = defineBuiltIn$2; -var defineGlobalProperty = defineGlobalProperty$3; -var copyConstructorProperties = copyConstructorProperties$1; -var isForced = isForced_1; -var _export = function(options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global$4; - } else if (STATIC) { - target = global$4[TARGET] || defineGlobalProperty(TARGET, {}); - } else { - target = global$4[TARGET] && global$4[TARGET].prototype; - } - if (target) for (key in source) { - sourceProperty = source[key]; - if (options.dontCallGetSet) { - descriptor = getOwnPropertyDescriptor2(target, key); - targetProperty = descriptor && descriptor.value; - } else targetProperty = target[key]; - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced); - if (!FORCED && targetProperty !== void 0) { - if (typeof sourceProperty == typeof targetProperty) continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - if (options.sham || targetProperty && targetProperty.sham) { - createNonEnumerableProperty$1(sourceProperty, "sham", true); - } - defineBuiltIn$1(target, key, sourceProperty, options); - } -}; -var wellKnownSymbol$3 = wellKnownSymbol$5; -var TO_STRING_TAG$1 = wellKnownSymbol$3("toStringTag"); -var test = {}; -test[TO_STRING_TAG$1] = "z"; -var toStringTagSupport = String(test) === "[object z]"; -var TO_STRING_TAG_SUPPORT = toStringTagSupport; -var isCallable$2 = isCallable$d; -var classofRaw = classofRaw$1; -var wellKnownSymbol$2 = wellKnownSymbol$5; -var TO_STRING_TAG = wellKnownSymbol$2("toStringTag"); -var $Object = Object; -var CORRECT_ARGUMENTS = classofRaw(/* @__PURE__ */ function() { - return arguments; -}()) === "Arguments"; -var tryGet = function(it2, key) { - try { - return it2[key]; - } catch (error) { - } -}; -var classof$2 = TO_STRING_TAG_SUPPORT ? classofRaw : function(it2) { - var O2, tag, result; - return it2 === void 0 ? "Undefined" : it2 === null ? "Null" : typeof (tag = tryGet(O2 = $Object(it2), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O2) : (result = classofRaw(O2)) === "Object" && isCallable$2(O2.callee) ? "Arguments" : result; -}; -var classof$1 = classof$2; -var $String = String; -var toString$3 = function(argument) { - if (classof$1(argument) === "Symbol") throw new TypeError("Cannot convert a Symbol value to a string"); - return $String(argument); -}; -var anObject$4 = anObject$7; -var regexpFlags$1 = function() { - var that = anObject$4(this); - var result = ""; - if (that.hasIndices) result += "d"; - if (that.global) result += "g"; - if (that.ignoreCase) result += "i"; - if (that.multiline) result += "m"; - if (that.dotAll) result += "s"; - if (that.unicode) result += "u"; - if (that.unicodeSets) result += "v"; - if (that.sticky) result += "y"; - return result; -}; -var fails$4 = fails$d; -var global$3 = global$d; -var $RegExp$2 = global$3.RegExp; -var UNSUPPORTED_Y$1 = fails$4(function() { - var re2 = $RegExp$2("a", "y"); - re2.lastIndex = 2; - return re2.exec("abcd") !== null; -}); -var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$4(function() { - return !$RegExp$2("a", "y").sticky; -}); -var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$4(function() { - var re2 = $RegExp$2("^r", "gy"); - re2.lastIndex = 2; - return re2.exec("str") !== null; -}); -var regexpStickyHelpers = { - BROKEN_CARET, - MISSED_STICKY, - UNSUPPORTED_Y: UNSUPPORTED_Y$1 -}; -var objectDefineProperties = {}; -var internalObjectKeys = objectKeysInternal; -var enumBugKeys$1 = enumBugKeys$3; -var objectKeys$1 = Object.keys || function keys2(O2) { - return internalObjectKeys(O2, enumBugKeys$1); -}; -var DESCRIPTORS = descriptors; -var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug; -var definePropertyModule = objectDefineProperty; -var anObject$3 = anObject$7; -var toIndexedObject = toIndexedObject$4; -var objectKeys = objectKeys$1; -objectDefineProperties.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O2, Properties) { - anObject$3(O2); - var props = toIndexedObject(Properties); - var keys3 = objectKeys(Properties); - var length = keys3.length; - var index = 0; - var key; - while (length > index) definePropertyModule.f(O2, key = keys3[index++], props[key]); - return O2; -}; -var getBuiltIn = getBuiltIn$3; -var html$1 = getBuiltIn("document", "documentElement"); -var anObject$2 = anObject$7; -var definePropertiesModule = objectDefineProperties; -var enumBugKeys = enumBugKeys$3; -var hiddenKeys = hiddenKeys$4; -var html = html$1; -var documentCreateElement = documentCreateElement$1; -var sharedKey = sharedKey$2; -var GT = ">"; -var LT = "<"; -var PROTOTYPE = "prototype"; -var SCRIPT = "script"; -var IE_PROTO = sharedKey("IE_PROTO"); -var EmptyConstructor = function() { -}; -var scriptTag = function(content) { - return LT + SCRIPT + GT + content + LT + "/" + SCRIPT + GT; -}; -var NullProtoObjectViaActiveX = function(activeXDocument2) { - activeXDocument2.write(scriptTag("")); - activeXDocument2.close(); - var temp = activeXDocument2.parentWindow.Object; - activeXDocument2 = null; - return temp; -}; -var NullProtoObjectViaIFrame = function() { - var iframe = documentCreateElement("iframe"); - var JS = "java" + SCRIPT + ":"; - var iframeDocument; - iframe.style.display = "none"; - html.appendChild(iframe); - iframe.src = String(JS); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(scriptTag("document.F=Object")); - iframeDocument.close(); - return iframeDocument.F; -}; -var activeXDocument; -var NullProtoObject = function() { - try { - activeXDocument = new ActiveXObject("htmlfile"); - } catch (error) { - } - NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); - var length = enumBugKeys.length; - while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; - return NullProtoObject(); -}; -hiddenKeys[IE_PROTO] = true; -var objectCreate = Object.create || function create(O2, Properties) { - var result; - if (O2 !== null) { - EmptyConstructor[PROTOTYPE] = anObject$2(O2); - result = new EmptyConstructor(); - EmptyConstructor[PROTOTYPE] = null; - result[IE_PROTO] = O2; - } else result = NullProtoObject(); - return Properties === void 0 ? result : definePropertiesModule.f(result, Properties); -}; -var fails$3 = fails$d; -var global$2 = global$d; -var $RegExp$1 = global$2.RegExp; -var regexpUnsupportedDotAll = fails$3(function() { - var re2 = $RegExp$1(".", "s"); - return !(re2.dotAll && re2.test("\n") && re2.flags === "s"); -}); -var fails$2 = fails$d; -var global$1 = global$d; -var $RegExp = global$1.RegExp; -var regexpUnsupportedNcg = fails$2(function() { - var re2 = $RegExp("(?b)", "g"); - return re2.exec("b").groups.a !== "b" || "b".replace(re2, "$c") !== "bc"; -}); -var call$3 = functionCall; -var uncurryThis$3 = functionUncurryThis; -var toString$2 = toString$3; -var regexpFlags = regexpFlags$1; -var stickyHelpers = regexpStickyHelpers; -var shared = shared$4; -var create2 = objectCreate; -var getInternalState = internalState.get; -var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll; -var UNSUPPORTED_NCG = regexpUnsupportedNcg; -var nativeReplace = shared("native-string-replace", String.prototype.replace); -var nativeExec = RegExp.prototype.exec; -var patchedExec = nativeExec; -var charAt$3 = uncurryThis$3("".charAt); -var indexOf = uncurryThis$3("".indexOf); -var replace$1 = uncurryThis$3("".replace); -var stringSlice$3 = uncurryThis$3("".slice); -var UPDATES_LAST_INDEX_WRONG = function() { - var re1 = /a/; - var re2 = /b*/g; - call$3(nativeExec, re1, "a"); - call$3(nativeExec, re2, "a"); - return re1.lastIndex !== 0 || re2.lastIndex !== 0; -}(); -var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; -var NPCG_INCLUDED = /()??/.exec("")[1] !== void 0; -var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; -if (PATCH) { - patchedExec = function exec2(string) { - var re2 = this; - var state = getInternalState(re2); - var str = toString$2(string); - var raw = state.raw; - var result, reCopy, lastIndex, match2, i, object, group; - if (raw) { - raw.lastIndex = re2.lastIndex; - result = call$3(patchedExec, raw, str); - re2.lastIndex = raw.lastIndex; - return result; - } - var groups = state.groups; - var sticky = UNSUPPORTED_Y && re2.sticky; - var flags = call$3(regexpFlags, re2); - var source = re2.source; - var charsAdded = 0; - var strCopy = str; - if (sticky) { - flags = replace$1(flags, "y", ""); - if (indexOf(flags, "g") === -1) { - flags += "g"; - } - strCopy = stringSlice$3(str, re2.lastIndex); - if (re2.lastIndex > 0 && (!re2.multiline || re2.multiline && charAt$3(str, re2.lastIndex - 1) !== "\n")) { - source = "(?: " + source + ")"; - strCopy = " " + strCopy; - charsAdded++; - } - reCopy = new RegExp("^(?:" + source + ")", flags); - } - if (NPCG_INCLUDED) { - reCopy = new RegExp("^" + source + "$(?!\\s)", flags); - } - if (UPDATES_LAST_INDEX_WRONG) lastIndex = re2.lastIndex; - match2 = call$3(nativeExec, sticky ? reCopy : re2, strCopy); - if (sticky) { - if (match2) { - match2.input = stringSlice$3(match2.input, charsAdded); - match2[0] = stringSlice$3(match2[0], charsAdded); - match2.index = re2.lastIndex; - re2.lastIndex += match2[0].length; - } else re2.lastIndex = 0; - } else if (UPDATES_LAST_INDEX_WRONG && match2) { - re2.lastIndex = re2.global ? match2.index + match2[0].length : lastIndex; - } - if (NPCG_INCLUDED && match2 && match2.length > 1) { - call$3(nativeReplace, match2[0], reCopy, function() { - for (i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === void 0) match2[i] = void 0; - } - }); - } - if (match2 && groups) { - match2.groups = object = create2(null); - for (i = 0; i < groups.length; i++) { - group = groups[i]; - object[group[0]] = match2[group[1]]; - } - } - return match2; - }; -} -var regexpExec$2 = patchedExec; -var $ = _export; -var exec = regexpExec$2; -$({ target: "RegExp", proto: true, forced: /./.exec !== exec }, { - exec -}); -var call$2 = functionCall; -var defineBuiltIn = defineBuiltIn$2; -var regexpExec$1 = regexpExec$2; -var fails$1 = fails$d; -var wellKnownSymbol$1 = wellKnownSymbol$5; -var createNonEnumerableProperty = createNonEnumerableProperty$3; -var SPECIES = wellKnownSymbol$1("species"); -var RegExpPrototype = RegExp.prototype; -var fixRegexpWellKnownSymbolLogic = function(KEY, exec2, FORCED, SHAM) { - var SYMBOL = wellKnownSymbol$1(KEY); - var DELEGATES_TO_SYMBOL = !fails$1(function() { - var O2 = {}; - O2[SYMBOL] = function() { - return 7; - }; - return ""[KEY](O2) !== 7; - }); - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$1(function() { - var execCalled = false; - var re2 = /a/; - if (KEY === "split") { - re2 = {}; - re2.constructor = {}; - re2.constructor[SPECIES] = function() { - return re2; - }; - re2.flags = ""; - re2[SYMBOL] = /./[SYMBOL]; - } - re2.exec = function() { - execCalled = true; - return null; - }; - re2[SYMBOL](""); - return !execCalled; - }); - if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || FORCED) { - var nativeRegExpMethod = /./[SYMBOL]; - var methods = exec2(SYMBOL, ""[KEY], function(nativeMethod, regexp, str, arg2, forceStringMethod) { - var $exec = regexp.exec; - if ($exec === regexpExec$1 || $exec === RegExpPrototype.exec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) { - return { done: true, value: call$2(nativeRegExpMethod, regexp, str, arg2) }; - } - return { done: true, value: call$2(nativeMethod, str, regexp, arg2) }; - } - return { done: false }; - }); - defineBuiltIn(String.prototype, KEY, methods[0]); - defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); - } - if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], "sham", true); -}; -var uncurryThis$2 = functionUncurryThis; -var toIntegerOrInfinity$1 = toIntegerOrInfinity$4; -var toString$1 = toString$3; -var requireObjectCoercible$1 = requireObjectCoercible$4; -var charAt$2 = uncurryThis$2("".charAt); -var charCodeAt = uncurryThis$2("".charCodeAt); -var stringSlice$2 = uncurryThis$2("".slice); -var createMethod = function(CONVERT_TO_STRING) { - return function($this, pos) { - var S2 = toString$1(requireObjectCoercible$1($this)); - var position = toIntegerOrInfinity$1(pos); - var size = S2.length; - var first, second; - if (position < 0 || position >= size) return CONVERT_TO_STRING ? "" : void 0; - first = charCodeAt(S2, position); - return first < 55296 || first > 56319 || position + 1 === size || (second = charCodeAt(S2, position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? charAt$2(S2, position) : first : CONVERT_TO_STRING ? stringSlice$2(S2, position, position + 2) : (first - 55296 << 10) + (second - 56320) + 65536; - }; -}; -var stringMultibyte = { - // `String.prototype.codePointAt` method - // https://tc39.es/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod(false), - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod(true) -}; -var charAt$1 = stringMultibyte.charAt; -var advanceStringIndex$1 = function(S2, index, unicode) { - return index + (unicode ? charAt$1(S2, index).length : 1); -}; -var uncurryThis$1 = functionUncurryThis; -var toObject = toObject$2; -var floor = Math.floor; -var charAt = uncurryThis$1("".charAt); -var replace = uncurryThis$1("".replace); -var stringSlice$1 = uncurryThis$1("".slice); -var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; -var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; -var getSubstitution$1 = function(matched, str, position, captures, namedCaptures, replacement2) { - var tailPos = position + matched.length; - var m2 = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - if (namedCaptures !== void 0) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - return replace(replacement2, symbols, function(match2, ch) { - var capture; - switch (charAt(ch, 0)) { - case "$": - return "$"; - case "&": - return matched; - case "`": - return stringSlice$1(str, 0, position); - case "'": - return stringSlice$1(str, tailPos); - case "<": - capture = namedCaptures[stringSlice$1(ch, 1, -1)]; - break; - default: - var n2 = +ch; - if (n2 === 0) return match2; - if (n2 > m2) { - var f2 = floor(n2 / 10); - if (f2 === 0) return match2; - if (f2 <= m2) return captures[f2 - 1] === void 0 ? charAt(ch, 1) : captures[f2 - 1] + charAt(ch, 1); - return match2; - } - capture = captures[n2 - 1]; - } - return capture === void 0 ? "" : capture; - }); -}; -var call$1 = functionCall; -var anObject$1 = anObject$7; -var isCallable$1 = isCallable$d; -var classof = classofRaw$1; -var regexpExec = regexpExec$2; -var $TypeError = TypeError; -var regexpExecAbstract = function(R2, S2) { - var exec2 = R2.exec; - if (isCallable$1(exec2)) { - var result = call$1(exec2, R2, S2); - if (result !== null) anObject$1(result); - return result; - } - if (classof(R2) === "RegExp") return call$1(regexpExec, R2, S2); - throw new $TypeError("RegExp#exec called on incompatible receiver"); -}; -var apply = functionApply; -var call = functionCall; -var uncurryThis = functionUncurryThis; -var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic; -var fails = fails$d; -var anObject = anObject$7; -var isCallable = isCallable$d; -var isNullOrUndefined = isNullOrUndefined$3; -var toIntegerOrInfinity = toIntegerOrInfinity$4; -var toLength = toLength$2; -var toString3 = toString$3; -var requireObjectCoercible = requireObjectCoercible$4; -var advanceStringIndex = advanceStringIndex$1; -var getMethod = getMethod$2; -var getSubstitution = getSubstitution$1; -var regExpExec = regexpExecAbstract; -var wellKnownSymbol = wellKnownSymbol$5; -var REPLACE = wellKnownSymbol("replace"); -var max = Math.max; -var min = Math.min; -var concat = uncurryThis([].concat); -var push = uncurryThis([].push); -var stringIndexOf = uncurryThis("".indexOf); -var stringSlice = uncurryThis("".slice); -var maybeToString = function(it2) { - return it2 === void 0 ? it2 : String(it2); -}; -var REPLACE_KEEPS_$0 = function() { - return "a".replace(/./, "$0") === "$0"; -}(); -var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = function() { - if (/./[REPLACE]) { - return /./[REPLACE]("a", "$0") === ""; - } - return false; -}(); -var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function() { - var re2 = /./; - re2.exec = function() { - var result = []; - result.groups = { a: "7" }; - return result; - }; - return "".replace(re2, "$") !== "7"; -}); -fixRegExpWellKnownSymbolLogic("replace", function(_2, nativeReplace2, maybeCallNative) { - var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? "$" : "$0"; - return [ - // `String.prototype.replace` method - // https://tc39.es/ecma262/#sec-string.prototype.replace - function replace2(searchValue, replaceValue) { - var O2 = requireObjectCoercible(this); - var replacer = isNullOrUndefined(searchValue) ? void 0 : getMethod(searchValue, REPLACE); - return replacer ? call(replacer, searchValue, O2, replaceValue) : call(nativeReplace2, toString3(O2), searchValue, replaceValue); - }, - // `RegExp.prototype[@@replace]` method - // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace - function(string, replaceValue) { - var rx = anObject(this); - var S2 = toString3(string); - if (typeof replaceValue == "string" && stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && stringIndexOf(replaceValue, "$<") === -1) { - var res = maybeCallNative(nativeReplace2, rx, S2, replaceValue); - if (res.done) return res.value; - } - var functionalReplace = isCallable(replaceValue); - if (!functionalReplace) replaceValue = toString3(replaceValue); - var global2 = rx.global; - var fullUnicode; - if (global2) { - fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - var results = []; - var result; - while (true) { - result = regExpExec(rx, S2); - if (result === null) break; - push(results, result); - if (!global2) break; - var matchStr = toString3(result[0]); - if (matchStr === "") rx.lastIndex = advanceStringIndex(S2, toLength(rx.lastIndex), fullUnicode); - } - var accumulatedResult = ""; - var nextSourcePosition = 0; - for (var i = 0; i < results.length; i++) { - result = results[i]; - var matched = toString3(result[0]); - var position = max(min(toIntegerOrInfinity(result.index), S2.length), 0); - var captures = []; - var replacement2; - for (var j2 = 1; j2 < result.length; j2++) push(captures, maybeToString(result[j2])); - var namedCaptures = result.groups; - if (functionalReplace) { - var replacerArgs = concat([matched], captures, position, S2); - if (namedCaptures !== void 0) push(replacerArgs, namedCaptures); - replacement2 = toString3(apply(replaceValue, void 0, replacerArgs)); - } else { - replacement2 = getSubstitution(matched, S2, position, captures, namedCaptures, replaceValue); - } - if (position >= nextSourcePosition) { - accumulatedResult += stringSlice(S2, nextSourcePosition, position) + replacement2; - nextSourcePosition = position + matched.length; - } - } - return accumulatedResult + stringSlice(S2, nextSourcePosition); - } - ]; -}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); -Object.defineProperty(dist, "__esModule", { - value: true -}); -dist.generateUrl = dist.generateRemoteUrl = dist.generateOcsUrl = dist.generateFilePath = void 0; -dist.getAppRootUrl = getAppRootUrl; -dist.getRootUrl = getRootUrl; -dist.linkTo = dist.imagePath = void 0; -const linkTo = (app, file) => generateFilePath(app, "", file); -dist.linkTo = linkTo; -const linkToRemoteBase = (service) => getRootUrl() + "/remote.php/" + service; -const generateRemoteUrl = (service) => window.location.protocol + "//" + window.location.host + linkToRemoteBase(service); -dist.generateRemoteUrl = generateRemoteUrl; -const generateOcsUrl = (url, params, options) => { - const allOptions = Object.assign({ - ocsVersion: 2 - }, options || {}); - const version2 = allOptions.ocsVersion === 1 ? 1 : 2; - return window.location.protocol + "//" + window.location.host + getRootUrl() + "/ocs/v" + version2 + ".php" + _generateUrlPath(url, params, options); -}; -dist.generateOcsUrl = generateOcsUrl; -const _generateUrlPath = (url, params, options) => { - const allOptions = Object.assign({ - escape: true - }, options || {}); - const _build = function(text2, vars) { - vars = vars || {}; - return text2.replace(/{([^{}]*)}/g, function(a2, b2) { - var r2 = vars[b2]; - if (allOptions.escape) { - return typeof r2 === "string" || typeof r2 === "number" ? encodeURIComponent(r2.toString()) : encodeURIComponent(a2); - } else { - return typeof r2 === "string" || typeof r2 === "number" ? r2.toString() : a2; - } - }); - }; - if (url.charAt(0) !== "/") { - url = "/" + url; - } - return _build(url, params || {}); -}; -const generateUrl = (url, params, options) => { - var _window; - const allOptions = Object.assign({ - noRewrite: false - }, options || {}); - if (((_window = window) === null || _window === void 0 || (_window = _window.OC) === null || _window === void 0 || (_window = _window.config) === null || _window === void 0 ? void 0 : _window.modRewriteWorking) === true && !allOptions.noRewrite) { - return getRootUrl() + _generateUrlPath(url, params, options); - } - return getRootUrl() + "/index.php" + _generateUrlPath(url, params, options); -}; -dist.generateUrl = generateUrl; -const imagePath = (app, file) => { - if (file.indexOf(".") === -1) { - return generateFilePath(app, "img", file + ".svg"); - } - return generateFilePath(app, "img", file); -}; -dist.imagePath = imagePath; -const generateFilePath = (app, type, file) => { - var _window2; - const isCore = ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.OC) === null || _window2 === void 0 || (_window2 = _window2.coreApps) === null || _window2 === void 0 ? void 0 : _window2.indexOf(app)) !== -1; - let link = getRootUrl(); - if (file.substring(file.length - 3) === "php" && !isCore) { - link += "/index.php/apps/" + app; - if (file !== "index.php") { - link += "/"; - if (type) { - link += encodeURI(type + "/"); - } - link += file; - } - } else if (file.substring(file.length - 3) !== "php" && !isCore) { - link = getAppRootUrl(app); - if (type) { - link += "/" + type + "/"; - } - if (link.substring(link.length - 1) !== "/") { - link += "/"; - } - link += file; - } else { - if ((app === "settings" || app === "core" || app === "search") && type === "ajax") { - link += "/index.php/"; - } else { - link += "/"; - } - if (!isCore) { - link += "apps/"; - } - if (app !== "") { - app += "/"; - link += app; - } - if (type) { - link += type + "/"; - } - link += file; - } - return link; -}; -dist.generateFilePath = generateFilePath; -function getRootUrl() { - let webroot = window._oc_webroot; - if (typeof webroot === "undefined") { - webroot = location.pathname; - const pos = webroot.indexOf("/index.php/"); - if (pos !== -1) { - webroot = webroot.substr(0, pos); - } else { - webroot = webroot.substr(0, webroot.lastIndexOf("/")); - } - } - return webroot; -} -function getAppRootUrl(app) { - var _window$_oc_appswebro, _webroots$app; - const webroots = (_window$_oc_appswebro = window._oc_appswebroots) !== null && _window$_oc_appswebro !== void 0 ? _window$_oc_appswebro : {}; - return (_webroots$app = webroots[app]) !== null && _webroots$app !== void 0 ? _webroots$app : ""; -} -function getAppTranslations(appId) { - var _a2, _b, _c, _d; - return { - translations: (_b = (_a2 = window._oc_l10n_registry_translations) === null || _a2 === void 0 ? void 0 : _a2[appId]) !== null && _b !== void 0 ? _b : {}, - pluralFunction: (_d = (_c = window._oc_l10n_registry_plural_functions) === null || _c === void 0 ? void 0 : _c[appId]) !== null && _d !== void 0 ? _d : (number) => number - }; -} -function translate(app, text2, vars, number, options) { - const defaultOptions = { - escape: true, - sanitize: true - }; - const allOptions = Object.assign({}, defaultOptions, {}); - const identity = (value) => value; - const optSanitize = allOptions.sanitize ? purify.sanitize : identity; - allOptions.escape ? escapeHTML : identity; - const bundle = getAppTranslations(app); - let translation = bundle.translations[text2] || text2; - translation = Array.isArray(translation) ? translation[0] : translation; - { - return optSanitize(translation); - } -} -const FolderZipSvg = ''; -/*! third party licenses: js/vendor.LICENSE.txt */ -const action = new FileAction({ - id: "extract", - displayName: () => translate("extract", "Extract here"), - iconSvgInline: () => FolderZipSvg, - // Only works on single files - enabled(nodes) { - if (nodes.length !== 1) { - return false; - } - if (nodes[0].attributes.getcontenttype === "application/zip" || nodes[0].attributes.getcontenttype === "application/x-tar" || nodes[0].attributes.getcontenttype === "application/gzip" || nodes[0].attributes.getcontenttype === "application/x-rar-compressed" || nodes[0].attributes.getcontenttype === "application/x-7z-compressed" || nodes[0].attributes.getcontenttype === "application/x-deb" || nodes[0].attributes.getcontenttype === "application/x-bzip2") { - return (nodes[0].permissions & Permission.UPDATE) !== 0; - } - return false; - }, - async exec(node, view, dir) { - var data2 = { - nameOfFile: node.attributes.basename, - directory: dir, - external: node.attributes["mount-type"].startsWith("external") ? 1 : 0, - mime: node.attributes.mime - }; - const url = _$1("/apps/extract/ajax/extract.php"); - cancelableClient.post(url, data2).then((resp) => resp.data).then((data22) => { - const time = data22["extracted"]["mtime"] * 1e3; - const folder = new Folder({ - id: data22["extracted"]["fileId"], - source: data22["extracted"]["source"], - root: data22["extracted"]["root"], - owner: data22["extracted"]["owner"], - permissions: data22["extracted"]["permissions"], - mtime: new Date(time), - // Include mount-type from parent folder as this is inherited - attributes: { - "mount-type": data22["extracted"]["mount-type"], - "owner-id": data22["extracted"]["owner"], - "owner-display-name": data22["extracted"]["owner-display-name"] - } - }); - emit("files:node:created", folder); - window.OCP.Files.Router.goToRoute( - null, - // use default route - { view: "files", fileid: data22["fileId"] }, - { dir } - ); - return null; - }).catch((error) => { - console.log("Could not send extract request."); - console.log(error); - }); - return null; - }, - order: 25 -}); -export { - action as a, - registerFileAction as r -}; -//# sourceMappingURL=extract-extractAction.mjs.map diff --git a/js/extract-extractAction.mjs.map b/js/extract-extractAction.mjs.map deleted file mode 100644 index 00481ac..0000000 --- a/js/extract-extractAction.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"extract-extractAction.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js","../node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","../node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs","../node_modules/@nextcloud/logger/dist/index.mjs","../node_modules/path-browserify/index.js","../node_modules/@nextcloud/paths/dist/index.mjs","../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/cancelable-promise/esm/CancelablePromise.mjs","../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/webdav/dist/web/index.js","../node_modules/@nextcloud/initial-state/dist/index.mjs","../node_modules/@nextcloud/sharing/dist/public.mjs","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/escape-html/index.js","../node_modules/@nextcloud/files/dist/index.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/@nextcloud/axios/dist/index.mjs","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/internals/regexp-exec.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/modules/es.string.replace.js","../node_modules/@nextcloud/l10n/node_modules/@nextcloud/router/dist/index.js","../node_modules/@nextcloud/l10n/dist/index.mjs","../node_modules/@mdi/svg/svg/folder-zip.svg?raw","../src/actions/extract-action.ts"],"sourcesContent":["function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar browser = {exports: {}};\n\n// shim for using process in browser\nvar process = browser.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] };\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\nvar browserExports = browser.exports;\nconst process$1 = /*@__PURE__*/getDefaultExportFromCjs(browserExports);\n\nexport { process$1 as default, process$1 as process };\n//# sourceMappingURL=index.js.map\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","import valid from \"semver/functions/valid.js\";\nimport major from \"semver/functions/major.js\";\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h) => h !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h) => {\n try {\n h(event);\n } catch (e) {\n console.error(\"could not invoke event listener\", e);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\nexport {\n ProxyBus,\n SimpleBus,\n emit,\n subscribe,\n unsubscribe\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass ScopedStorage {\n constructor(scope, wrapped, persistent) {\n _defineProperty(this, \"scope\", void 0);\n _defineProperty(this, \"wrapped\", void 0);\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n clear() {\n Object.keys(this.wrapped).filter(key => key.startsWith(this.scope)).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n}\nexports.default = ScopedStorage;\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass StorageBuilder {\n constructor(appId) {\n _defineProperty(this, \"appId\", void 0);\n _defineProperty(this, \"persisted\", false);\n _defineProperty(this, \"clearedOnLogout\", false);\n this.appId = appId;\n }\n persist() {\n let persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.persisted = persist;\n return this;\n }\n clearOnLogout() {\n let clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n}\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\nexports.getBuilder = getBuilder;\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/**\n * Get the storage builder for an app\n * @param appId App ID to scope storage\n */\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\n\n/**\n * Clear values from storage\n * @param storage The storage to clear\n * @param pred Callback to check if value should be cleared\n */\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(k => pred ? pred(k) : true).map(storage.removeItem.bind(storage));\n}\n\n/**\n * Clear all values from all storages\n */\nfunction clearAll() {\n const storages = [window.sessionStorage, window.localStorage];\n storages.map(s => clearStorage(s));\n}\n\n/**\n * Clear ony non persistent values\n */\nfunction clearNonPersistent() {\n const storages = [window.sessionStorage, window.localStorage];\n storages.map(s => clearStorage(s, k => !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT)));\n}\n//# sourceMappingURL=index.js.map","import { subscribe } from \"@nextcloud/event-bus\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nlet token;\nconst observers = [];\nfunction getRequestToken() {\n if (token === void 0) {\n token = document.head.dataset.requesttoken ?? null;\n }\n return token;\n}\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n}\nsubscribe(\"csrf-token-update\", (e) => {\n token = e.token;\n observers.forEach((observer) => {\n try {\n observer(token);\n } catch (e2) {\n console.error(\"Error updating CSRF token observer\", e2);\n }\n });\n});\nfunction getCSPNonce() {\n const meta = document?.querySelector('meta[name=\"csp-nonce\"]');\n if (!meta) {\n const token2 = getRequestToken();\n return token2 ? btoa(token2) : void 0;\n }\n return meta.nonce;\n}\nconst browserStorage = getBuilder(\"public\").persist().build();\nfunction getGuestNickname() {\n return browserStorage.getItem(\"guestNickname\");\n}\nfunction setGuestNickname(nickname) {\n browserStorage.setItem(\"guestNickname\", nickname);\n}\nlet currentUser;\nconst getAttribute = (el, attribute) => {\n if (el) {\n return el.getAttribute(attribute);\n }\n return null;\n};\nfunction getCurrentUser() {\n if (currentUser !== void 0) {\n return currentUser;\n }\n const head = document?.getElementsByTagName(\"head\")[0];\n if (!head) {\n return null;\n }\n const uid = getAttribute(head, \"data-user\");\n if (uid === null) {\n currentUser = null;\n return currentUser;\n }\n currentUser = {\n uid,\n displayName: getAttribute(head, \"data-user-displayname\"),\n isAdmin: !!window._oc_isadmin\n };\n return currentUser;\n}\nexport {\n getCSPNonce,\n getCurrentUser,\n getGuestNickname,\n getRequestToken,\n onRequestTokenUpdate,\n setGuestNickname\n};\n","import { getCurrentUser } from \"@nextcloud/auth\";\nvar LogLevel = /* @__PURE__ */ ((LogLevel2) => {\n LogLevel2[LogLevel2[\"Debug\"] = 0] = \"Debug\";\n LogLevel2[LogLevel2[\"Info\"] = 1] = \"Info\";\n LogLevel2[LogLevel2[\"Warn\"] = 2] = \"Warn\";\n LogLevel2[LogLevel2[\"Error\"] = 3] = \"Error\";\n LogLevel2[LogLevel2[\"Fatal\"] = 4] = \"Fatal\";\n return LogLevel2;\n})(LogLevel || {});\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass ConsoleLogger {\n constructor(context) {\n __publicField$1(this, \"context\");\n this.context = context || {};\n }\n formatMessage(message, level, context) {\n let msg = \"[\" + LogLevel[level].toUpperCase() + \"] \";\n if (context && context.app) {\n msg += context.app + \": \";\n }\n if (typeof message === \"string\")\n return msg + message;\n msg += \"Unexpected \".concat(message.name);\n if (message.message)\n msg += ' \"'.concat(message.message, '\"');\n if (level === LogLevel.Debug && message.stack)\n msg += \"\\n\\nStack trace:\\n\".concat(message.stack);\n return msg;\n }\n log(level, message, context) {\n var _a, _b;\n if (typeof ((_a = this.context) == null ? void 0 : _a.level) === \"number\" && level < ((_b = this.context) == null ? void 0 : _b.level)) {\n return;\n }\n if (typeof message === \"object\" && (context == null ? void 0 : context.error) === void 0) {\n context.error = message;\n }\n switch (level) {\n case LogLevel.Debug:\n console.debug(this.formatMessage(message, LogLevel.Debug, context), context);\n break;\n case LogLevel.Info:\n console.info(this.formatMessage(message, LogLevel.Info, context), context);\n break;\n case LogLevel.Warn:\n console.warn(this.formatMessage(message, LogLevel.Warn, context), context);\n break;\n case LogLevel.Error:\n console.error(this.formatMessage(message, LogLevel.Error, context), context);\n break;\n case LogLevel.Fatal:\n default:\n console.error(this.formatMessage(message, LogLevel.Fatal, context), context);\n break;\n }\n }\n debug(message, context) {\n this.log(LogLevel.Debug, message, Object.assign({}, this.context, context));\n }\n info(message, context) {\n this.log(LogLevel.Info, message, Object.assign({}, this.context, context));\n }\n warn(message, context) {\n this.log(LogLevel.Warn, message, Object.assign({}, this.context, context));\n }\n error(message, context) {\n this.log(LogLevel.Error, message, Object.assign({}, this.context, context));\n }\n fatal(message, context) {\n this.log(LogLevel.Fatal, message, Object.assign({}, this.context, context));\n }\n}\nfunction buildConsoleLogger(context) {\n return new ConsoleLogger(context);\n}\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass LoggerBuilder {\n constructor(factory) {\n __publicField(this, \"context\");\n __publicField(this, \"factory\");\n this.context = {};\n this.factory = factory;\n }\n /**\n * Set the app name within the logging context\n *\n * @param appId App name\n */\n setApp(appId) {\n this.context.app = appId;\n return this;\n }\n /**\n * Set the logging level within the logging context\n *\n * @param level Logging level\n */\n setLogLevel(level) {\n this.context.level = level;\n return this;\n }\n /* eslint-disable jsdoc/no-undefined-types */\n /**\n * Set the user id within the logging context\n * @param uid User ID\n * @see {@link detectUser}\n */\n /* eslint-enable jsdoc/no-undefined-types */\n setUid(uid) {\n this.context.uid = uid;\n return this;\n }\n /**\n * Detect the currently logged in user and set the user id within the logging context\n */\n detectUser() {\n const user = getCurrentUser();\n if (user !== null) {\n this.context.uid = user.uid;\n }\n return this;\n }\n /**\n * Detect and use logging level configured in nextcloud config\n */\n detectLogLevel() {\n const self = this;\n const onLoaded = () => {\n var _a, _b;\n if (document.readyState === \"complete\" || document.readyState === \"interactive\") {\n self.context.level = (_b = (_a = window._oc_config) == null ? void 0 : _a.loglevel) != null ? _b : LogLevel.Warn;\n if (window._oc_debug) {\n self.context.level = LogLevel.Debug;\n }\n document.removeEventListener(\"readystatechange\", onLoaded);\n } else {\n document.addEventListener(\"readystatechange\", onLoaded);\n }\n };\n onLoaded();\n return this;\n }\n /** Build a logger using the logging context and factory */\n build() {\n if (this.context.level === void 0) {\n this.detectLogLevel();\n }\n return this.factory(this.context);\n }\n}\nfunction getLoggerBuilder() {\n return new LoggerBuilder(buildConsoleLogger);\n}\nfunction getLogger() {\n return getLoggerBuilder().build();\n}\nexport {\n LogLevel,\n getLogger,\n getLoggerBuilder\n};\n","// 'path' module extracted from Node.js v8.11.1 (only the posix part)\n// transplited with Babel\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));\n }\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47 /*/*/)\n break;\n else\n code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nvar posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n },\n\n normalize: function normalize(path) {\n assertPath(path);\n\n if (path.length === 0) return '.';\n\n var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute) path = '.';\n if (path.length > 0 && trailingSeparator) path += '/';\n\n if (isAbsolute) return '/' + path;\n return path;\n },\n\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to) return '';\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n }\n },\n\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\n\nposix.posix = posix;\n\nmodule.exports = posix;\n","function encodePath(path) {\n if (!path) {\n return path;\n }\n return path.split(\"/\").map(encodeURIComponent).join(\"/\");\n}\nfunction basename(path) {\n return path.replace(/\\\\/g, \"/\").replace(/.*\\//, \"\");\n}\nfunction dirname(path) {\n return path.replace(/\\\\/g, \"/\").replace(/\\/[^\\/]*$/, \"\");\n}\nfunction joinPaths(...args) {\n if (arguments.length < 1) {\n return \"\";\n }\n const nonEmptyArgs = args.filter((arg) => arg.length > 0);\n if (nonEmptyArgs.length < 1) {\n return \"\";\n }\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === \"/\";\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === \"/\";\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split(\"/\")), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === \"\") {\n return acc;\n }\n if (first) {\n first = false;\n return acc + section;\n }\n return acc + \"/\" + section;\n }, \"\");\n if (trailingSlash) {\n return path + \"/\";\n }\n return path;\n}\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || \"\").split(\"/\").filter((p) => p !== \".\");\n const pathSections2 = (path2 || \"\").split(\"/\").filter((p) => p !== \".\");\n path1 = joinPaths.apply(void 0, pathSections1);\n path2 = joinPaths.apply(void 0, pathSections2);\n return path1 === path2;\n}\nexport {\n basename,\n dirname,\n encodePath,\n isSamePath,\n joinPaths\n};\n","const R = (n, e) => d(n, \"\", e), g = (n) => \"/remote.php/\" + n, U = (n, e) => {\n var o;\n return ((o = e == null ? void 0 : e.baseURL) != null ? o : w()) + g(n);\n}, v = (n, e, o) => {\n var c;\n const i = Object.assign({\n ocsVersion: 2\n }, o || {}).ocsVersion === 1 ? 1 : 2;\n return ((c = o == null ? void 0 : o.baseURL) != null ? c : w()) + \"/ocs/v\" + i + \".php\" + u(n, e, o);\n}, u = (n, e, o) => {\n const c = Object.assign({\n escape: !0\n }, o || {}), r = function(i, s) {\n return s = s || {}, i.replace(\n /{([^{}]*)}/g,\n function(l, t) {\n const a = s[t];\n return c.escape ? encodeURIComponent(typeof a == \"string\" || typeof a == \"number\" ? a.toString() : l) : typeof a == \"string\" || typeof a == \"number\" ? a.toString() : l;\n }\n );\n };\n return n.charAt(0) !== \"/\" && (n = \"/\" + n), r(n, e || {});\n}, _ = (n, e, o) => {\n var c, r, i;\n const s = Object.assign({\n noRewrite: !1\n }, o || {}), l = (c = o == null ? void 0 : o.baseURL) != null ? c : f();\n return ((i = (r = window == null ? void 0 : window.OC) == null ? void 0 : r.config) == null ? void 0 : i.modRewriteWorking) === !0 && !s.noRewrite ? l + u(n, e, o) : l + \"/index.php\" + u(n, e, o);\n}, h = (n, e) => e.includes(\".\") ? d(n, \"img\", e) : d(n, \"img\", \"\".concat(e, \".svg\")), d = (n, e, o) => {\n var c, r, i;\n const s = (i = (r = (c = window == null ? void 0 : window.OC) == null ? void 0 : c.coreApps) == null ? void 0 : r.includes(n)) != null ? i : !1, l = o.slice(-3) === \"php\";\n let t = f();\n return l && !s ? (t += \"/index.php/apps/\".concat(n), e && (t += \"/\".concat(encodeURI(e))), o !== \"index.php\" && (t += \"/\".concat(o))) : !l && !s ? (t = b(n), e && (t += \"/\".concat(e, \"/\")), t.at(-1) !== \"/\" && (t += \"/\"), t += o) : ((n === \"settings\" || n === \"core\" || n === \"search\") && e === \"ajax\" && (t += \"/index.php\"), n && (t += \"/\".concat(n)), e && (t += \"/\".concat(e)), t += \"/\".concat(o)), t;\n}, w = () => window.location.protocol + \"//\" + window.location.host + f();\nfunction f() {\n let n = window._oc_webroot;\n if (typeof n > \"u\") {\n n = location.pathname;\n const e = n.indexOf(\"/index.php/\");\n if (e !== -1)\n n = n.slice(0, e);\n else {\n const o = n.indexOf(\"/\", 1);\n n = n.slice(0, o > 0 ? o : void 0);\n }\n }\n return n;\n}\nfunction b(n) {\n var e, o;\n return (o = ((e = window._oc_appswebroots) != null ? e : {})[n]) != null ? o : \"\";\n}\nexport {\n d as generateFilePath,\n v as generateOcsUrl,\n U as generateRemoteUrl,\n _ as generateUrl,\n b as getAppRootUrl,\n w as getBaseUrl,\n f as getRootUrl,\n h as imagePath,\n R as linkTo\n};\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nvar toStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : '@@toStringTag';\n\nvar _internals = /*#__PURE__*/new WeakMap();\n\nvar _promise = /*#__PURE__*/new WeakMap();\n\nclass CancelablePromiseInternal {\n constructor(_ref) {\n var {\n executor = () => {},\n internals = defaultInternals(),\n promise = new Promise((resolve, reject) => executor(resolve, reject, onCancel => {\n internals.onCancelList.push(onCancel);\n }))\n } = _ref;\n\n _classPrivateFieldInitSpec(this, _internals, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n\n _defineProperty(this, toStringTag, 'CancelablePromise');\n\n this.cancel = this.cancel.bind(this);\n\n _classPrivateFieldSet(this, _internals, internals);\n\n _classPrivateFieldSet(this, _promise, promise || new Promise((resolve, reject) => executor(resolve, reject, onCancel => {\n internals.onCancelList.push(onCancel);\n })));\n }\n\n then(onfulfilled, onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).then(createCallback(onfulfilled, _classPrivateFieldGet(this, _internals)), createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n catch(onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).catch(createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n finally(onfinally, runWhenCanceled) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList.push(onfinally);\n }\n\n return makeCancelable(_classPrivateFieldGet(this, _promise).finally(createCallback(() => {\n if (onfinally) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList = _classPrivateFieldGet(this, _internals).onCancelList.filter(callback => callback !== onfinally);\n }\n\n return onfinally();\n }\n }, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n cancel() {\n _classPrivateFieldGet(this, _internals).isCanceled = true;\n\n var callbacks = _classPrivateFieldGet(this, _internals).onCancelList;\n\n _classPrivateFieldGet(this, _internals).onCancelList = [];\n\n for (var callback of callbacks) {\n if (typeof callback === 'function') {\n try {\n callback();\n } catch (err) {\n console.error(err);\n }\n }\n }\n }\n\n isCanceled() {\n return _classPrivateFieldGet(this, _internals).isCanceled === true;\n }\n\n}\n\nexport class CancelablePromise extends CancelablePromiseInternal {\n constructor(executor) {\n super({\n executor\n });\n }\n\n}\n\n_defineProperty(CancelablePromise, \"all\", function all(iterable) {\n return makeAllCancelable(iterable, Promise.all(iterable));\n});\n\n_defineProperty(CancelablePromise, \"allSettled\", function allSettled(iterable) {\n return makeAllCancelable(iterable, Promise.allSettled(iterable));\n});\n\n_defineProperty(CancelablePromise, \"any\", function any(iterable) {\n return makeAllCancelable(iterable, Promise.any(iterable));\n});\n\n_defineProperty(CancelablePromise, \"race\", function race(iterable) {\n return makeAllCancelable(iterable, Promise.race(iterable));\n});\n\n_defineProperty(CancelablePromise, \"resolve\", function resolve(value) {\n return cancelable(Promise.resolve(value));\n});\n\n_defineProperty(CancelablePromise, \"reject\", function reject(reason) {\n return cancelable(Promise.reject(reason));\n});\n\n_defineProperty(CancelablePromise, \"isCancelable\", isCancelablePromise);\n\nexport default CancelablePromise;\nexport function cancelable(promise) {\n return makeCancelable(promise, defaultInternals());\n}\nexport function isCancelablePromise(promise) {\n return promise instanceof CancelablePromise || promise instanceof CancelablePromiseInternal;\n}\n\nfunction createCallback(onResult, internals) {\n if (onResult) {\n return arg => {\n if (!internals.isCanceled) {\n var result = onResult(arg);\n\n if (isCancelablePromise(result)) {\n internals.onCancelList.push(result.cancel);\n }\n\n return result;\n }\n\n return arg;\n };\n }\n}\n\nfunction makeCancelable(promise, internals) {\n return new CancelablePromiseInternal({\n internals,\n promise\n });\n}\n\nfunction makeAllCancelable(iterable, promise) {\n var internals = defaultInternals();\n internals.onCancelList.push(() => {\n for (var resolvable of iterable) {\n if (isCancelablePromise(resolvable)) {\n resolvable.cancel();\n }\n }\n });\n return new CancelablePromiseInternal({\n internals,\n promise\n });\n}\n\nfunction defaultInternals() {\n return {\n isCanceled: false,\n onCancelList: []\n };\n}\n//# sourceMappingURL=CancelablePromise.mjs.map","const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","/*! For license information please see index.js.LICENSE.txt */\nvar t={2:t=>{function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var i=r(t,e,o);return i&&{start:i[0],end:i[1],pre:o.slice(0,i[0]),body:o.slice(i[0]+t.length,i[1]),post:o.slice(i[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,i,s,a,u=n.indexOf(t),c=n.indexOf(e,u+1),l=u;if(u>=0&&c>0){for(r=[],i=n.length;l>=0&&!a;)l==u?(r.push(l),u=n.indexOf(t,l+1)):1==r.length?a=[r.pop(),c]:((o=r.pop())=0?u:c;r.length&&(a=[i,s])}return a}t.exports=e,e.range=r},101:function(t,e,n){var r;t=n.nmd(t),function(o){var i=(t&&t.exports,\"object\"==typeof global&&global);i.global!==i&&i.window;var s=function(t){this.message=t};(s.prototype=new Error).name=\"InvalidCharacterError\";var a=function(t){throw new s(t)},u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=/[\\t\\n\\f\\r ]/g,l={encode:function(t){t=String(t),/[^\\0-\\xFF]/.test(t)&&a(\"The string to be encoded contains characters outside of the Latin1 range.\");for(var e,n,r,o,i=t.length%3,s=\"\",c=-1,l=t.length-i;++c>18&63)+u.charAt(o>>12&63)+u.charAt(o>>6&63)+u.charAt(63&o);return 2==i?(e=t.charCodeAt(c)<<8,n=t.charCodeAt(++c),s+=u.charAt((o=e+n)>>10)+u.charAt(o>>4&63)+u.charAt(o<<2&63)+\"=\"):1==i&&(o=t.charCodeAt(c),s+=u.charAt(o>>2)+u.charAt(o<<4&63)+\"==\"),s},decode:function(t){var e=(t=String(t).replace(c,\"\")).length;e%4==0&&(e=(t=t.replace(/==?$/,\"\")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(t))&&a(\"Invalid character: the string to be decoded is not correctly encoded.\");for(var n,r,o=0,i=\"\",s=-1;++s>(-2*o&6)));return i},version:\"1.0.0\"};void 0===(r=function(){return l}.call(e,n,e,t))||(t.exports=r)}()},172:(t,e)=>{e.d=function(t){if(!t)return 0;for(var e=(t=t.toString()).length,n=t.length;n--;){var r=t.charCodeAt(n);56320<=r&&r<=57343&&n--,127{var e={utf8:{stringToBytes:function(t){return e.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(e.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n{var e,n;e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n={rotl:function(t,e){return t<>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&n.rotl(t,8)|4278255360&n.rotl(t,24);for(var e=0;e0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join(\"\")},hexToBytes:function(t){for(var e=[],n=0;n>>6*(3-i)&63)):n.push(\"=\");return n.join(\"\")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\\/]/gi,\"\");for(var n=[],r=0,o=0;r>>6-2*o);return n}},t.exports=n},635:(t,e,n)=>{const r=n(31),o=n(338),i=n(221);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:i}},705:(t,e)=>{const n=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",r=\"[\"+n+\"][\"+n+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*\",o=new RegExp(\"^\"+r+\"$\");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,n){if(e){const r=Object.keys(e),o=r.length;for(let i=0;i{const r=n(705),o={allowBooleanAttributes:!1,unpairedTags:[]};function i(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function s(t,e){const n=e;for(;e5&&\"xml\"===r)return d(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",m(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}}return e}function a(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let n=1;for(e+=8;e\"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e\"===t[e+2]){e+=2;break}return e}e.validate=function(t,e){e=Object.assign({},o,e);const n=[];let u=!1,c=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let o=0;o\"!==t[o]&&\" \"!==t[o]&&\"\\t\"!==t[o]&&\"\\n\"!==t[o]&&\"\\r\"!==t[o];o++)v+=t[o];if(v=v.trim(),\"/\"===v[v.length-1]&&(v=v.substring(0,v.length-1),o--),h=v,!r.isName(h)){let e;return e=0===v.trim().length?\"Invalid space after '<'.\":\"Tag '\"+v+\"' is an invalid name.\",d(\"InvalidTag\",e,m(t,o))}const b=l(t,o);if(!1===b)return d(\"InvalidAttr\",\"Attributes for '\"+v+\"' have open quote.\",m(t,o));let w=b.value;if(o=b.index,\"/\"===w[w.length-1]){const n=o-w.length;w=w.substring(0,w.length-1);const r=p(w,e);if(!0!==r)return d(r.err.code,r.err.msg,m(t,n+r.err.line));u=!0}else if(y){if(!b.tagClosed)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' doesn't have proper closing.\",m(t,o));if(w.trim().length>0)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' can't have attributes or invalid starting.\",m(t,g));if(0===n.length)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' has not been opened.\",m(t,g));{const e=n.pop();if(v!==e.tagName){let n=m(t,e.tagStartPos);return d(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+n.line+\", col \"+n.col+\") instead of closing tag '\"+v+\"'.\",m(t,g))}0==n.length&&(c=!0)}}else{const r=p(w,e);if(!0!==r)return d(r.err.code,r.err.msg,m(t,o-w.length+r.err.line));if(!0===c)return d(\"InvalidXml\",\"Multiple possible root nodes found.\",m(t,o));-1!==e.unpairedTags.indexOf(v)||n.push({tagName:v,tagStartPos:g}),u=!0}for(o++;o0)||d(\"InvalidXml\",\"Invalid '\"+JSON.stringify(n.map((t=>t.tagName)),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):d(\"InvalidXml\",\"Start tag expected.\",1)};const u='\"',c=\"'\";function l(t,e){let n=\"\",r=\"\",o=!1;for(;e\"===t[e]&&\"\"===r){o=!0;break}n+=t[e]}return\"\"===r&&{value:n,index:e,tagClosed:o}}const h=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function p(t,e){const n=r.getAllMatches(t,h),o={};for(let t=0;t{const r=n(87),o={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&\"},{regex:new RegExp(\">\",\"g\"),val:\">\"},{regex:new RegExp(\"<\",\"g\"),val:\"<\"},{regex:new RegExp(\"'\",\"g\"),val:\"'\"},{regex:new RegExp('\"',\"g\"),val:\""\"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(t){this.options=Object.assign({},o,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=u),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function s(t,e,n){const r=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,n):this.buildObjectNode(r.val,e,r.attrStr,n)}function a(t){return this.options.indentBy.repeat(t)}function u(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}i.prototype.build=function(t){return this.options.preserveOrder?r(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},i.prototype.j2x=function(t,e){let n=\"\",r=\"\";for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(void 0===t[o])this.isAttribute(o)&&(r+=\"\");else if(null===t[o])this.isAttribute(o)?r+=\"\":\"?\"===o[0]?r+=this.indentate(e)+\"<\"+o+\"?\"+this.tagEndChar:r+=this.indentate(e)+\"<\"+o+\"/\"+this.tagEndChar;else if(t[o]instanceof Date)r+=this.buildTextValNode(t[o],o,\"\",e);else if(\"object\"!=typeof t[o]){const i=this.isAttribute(o);if(i)n+=this.buildAttrPairStr(i,\"\"+t[o]);else if(o===this.options.textNodeName){let e=this.options.tagValueProcessor(o,\"\"+t[o]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[o],o,\"\",e)}else if(Array.isArray(t[o])){const n=t[o].length;let i=\"\",s=\"\";for(let a=0;a\"+t+o}},i.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+`\\x3c!--${t}--\\x3e`+this.newLine;if(\"?\"===e[0])return this.indentate(r)+\"<\"+e+n+\"?\"+this.tagEndChar;{let o=this.options.tagValueProcessor(e,t);return o=this.replaceEntitiesValue(o),\"\"===o?this.indentate(r)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+\"<\"+e+n+\">\"+o+\"0&&this.options.processEntities)for(let e=0;e{function e(t,s,a,u){let c=\"\",l=!1;for(let h=0;h`,l=!1;continue}if(f===s.commentPropName){c+=u+`\\x3c!--${p[f][0][s.textNodeName]}--\\x3e`,l=!0;continue}if(\"?\"===f[0]){const t=r(p[\":@\"],s),e=\"?xml\"===f?\"\":u;let n=p[f][0][s.textNodeName];n=0!==n.length?\" \"+n:\"\",c+=e+`<${f}${n}${t}?>`,l=!0;continue}let g=u;\"\"!==g&&(g+=s.indentBy);const m=u+`<${f}${r(p[\":@\"],s)}`,y=e(p[f],s,d,g);-1!==s.unpairedTags.indexOf(f)?s.suppressUnpairedNode?c+=m+\">\":c+=m+\"/>\":y&&0!==y.length||!s.suppressEmptyNode?y&&y.endsWith(\">\")?c+=m+`>${y}${u}`:(c+=m+\">\",y&&\"\"!==u&&(y.includes(\"/>\")||y.includes(\"`):c+=m+\"/>\",l=!0}return c}function n(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n0&&(r=\"\\n\"),e(t,n,\"\",r)}},193:(t,e,n)=>{const r=n(705);function o(t,e){let n=\"\";for(;e\"===t[e]){if(p?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(p=!1,r--):r--,0===r)break}else\"[\"===t[e]?h=!0:f+=t[e];else{if(h&&s(t,e))e+=7,[entityName,val,e]=o(t,e+1),-1===val.indexOf(\"&\")&&(n[l(entityName)]={regx:RegExp(`&${entityName};`,\"g\"),val});else if(h&&a(t,e))e+=8;else if(h&&u(t,e))e+=8;else if(h&&c(t,e))e+=9;else{if(!i)throw new Error(\"Invalid DOCTYPE\");p=!0}r++,f=\"\"}if(0!==r)throw new Error(\"Unclosed DOCTYPE\")}return{entities:n,i:e}}},63:(t,e)=>{const n={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};e.buildOptions=function(t){return Object.assign({},n,t)},e.defaultOptions=n},299:(t,e,n)=>{const r=n(705),o=n(365),i=n(193),s=n(494);function a(t){const e=Object.keys(t);for(let n=0;n0)){s||(t=this.replaceEntitiesValue(t));const r=this.options.tagValueProcessor(e,t,n,o,i);return null==r?t:typeof r!=typeof t||r!==t?r:this.options.trimValues||t.trim()===t?w(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function c(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),n=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=n+e[1])}return t}const l=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function h(t,e,n){if(!this.options.ignoreAttributes&&\"string\"==typeof t){const n=r.getAllMatches(t,l),o=n.length,i={};for(let t=0;t\",a,\"Closing Tag is not closed.\");let o=t.substring(a+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(\":\");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(r=this.saveTextToParentTag(r,n,s));const i=s.substring(s.lastIndexOf(\".\")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let u=0;i&&-1!==this.options.unpairedTags.indexOf(i)?(u=s.lastIndexOf(\".\",s.lastIndexOf(\".\")-1),this.tagsNodeStack.pop()):u=s.lastIndexOf(\".\"),s=s.substring(0,u),n=this.tagsNodeStack.pop(),r=\"\",a=e}else if(\"?\"===t[a+1]){let e=v(t,a,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");if(r=this.saveTextToParentTag(r,n,s),this.options.ignoreDeclaration&&\"?xml\"===e.tagName||this.options.ignorePiTags);else{const t=new o(e.tagName);t.add(this.options.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[\":@\"]=this.buildAttributesMap(e.tagExp,s,e.tagName)),this.addChild(n,t,s)}a=e.closeIndex+1}else if(\"!--\"===t.substr(a+1,3)){const e=y(t,\"--\\x3e\",a+4,\"Comment is not closed.\");if(this.options.commentPropName){const o=t.substring(a+4,e-2);r=this.saveTextToParentTag(r,n,s),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}a=e}else if(\"!D\"===t.substr(a+1,2)){const e=i(t,a);this.docTypeEntities=e.entities,a=e.i}else if(\"![\"===t.substr(a+1,2)){const e=y(t,\"]]>\",a,\"CDATA is not closed.\")-2,o=t.substring(a+9,e);r=this.saveTextToParentTag(r,n,s);let i=this.parseTextData(o,n.tagname,s,!0,!1,!0,!0);null==i&&(i=\"\"),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,i),a=e+2}else{let i=v(t,a,this.options.removeNSPrefix),u=i.tagName;const c=i.rawTagName;let l=i.tagExp,h=i.attrExpPresent,p=i.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&r&&\"!xml\"!==n.tagname&&(r=this.saveTextToParentTag(r,n,s,!1));const f=n;if(f&&-1!==this.options.unpairedTags.indexOf(f.tagname)&&(n=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf(\".\"))),u!==e.tagname&&(s+=s?\".\"+u:u),this.isItStopNode(this.options.stopNodes,s,u)){let e=\"\";if(l.length>0&&l.lastIndexOf(\"/\")===l.length-1)\"/\"===u[u.length-1]?(u=u.substr(0,u.length-1),s=s.substr(0,s.length-1),l=u):l=l.substr(0,l.length-1),a=i.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))a=i.closeIndex;else{const n=this.readStopNodeData(t,c,p+1);if(!n)throw new Error(`Unexpected end of ${c}`);a=n.i,e=n.tagContent}const r=new o(u);u!==l&&h&&(r[\":@\"]=this.buildAttributesMap(l,s,u)),e&&(e=this.parseTextData(e,u,s,!0,h,!0,!0)),s=s.substr(0,s.lastIndexOf(\".\")),r.add(this.options.textNodeName,e),this.addChild(n,r,s)}else{if(l.length>0&&l.lastIndexOf(\"/\")===l.length-1){\"/\"===u[u.length-1]?(u=u.substr(0,u.length-1),s=s.substr(0,s.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));const t=new o(u);u!==l&&h&&(t[\":@\"]=this.buildAttributesMap(l,s,u)),this.addChild(n,t,s),s=s.substr(0,s.lastIndexOf(\".\"))}else{const t=new o(u);this.tagsNodeStack.push(n),u!==l&&h&&(t[\":@\"]=this.buildAttributesMap(l,s,u)),this.addChild(n,t,s),n=t}r=\"\",a=p}}else r+=t[a];return e.child};function f(t,e,n){const r=this.options.updateTag(e.tagname,n,e[\":@\"]);!1===r||(\"string\"==typeof r?(e.tagname=r,t.addChild(e)):t.addChild(e))}const d=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function g(t,e,n,r){return t&&(void 0===r&&(r=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,r))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function m(t,e,n){const r=\"*.\"+n;for(const n in t){const o=t[n];if(r===o||e===o)return!0}return!1}function y(t,e,n,r){const o=t.indexOf(e,n);if(-1===o)throw new Error(r);return o+e.length-1}function v(t,e,n){const r=function(t,e){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\">\",o=\"\";for(let i=e;i3&&void 0!==arguments[3]?arguments[3]:\">\");if(!r)return;let o=r.data;const i=r.index,s=o.search(/\\s/);let a=o,u=!0;-1!==s&&(a=o.substring(0,s),o=o.substring(s+1).trimStart());const c=a;if(n){const t=a.indexOf(\":\");-1!==t&&(a=a.substr(t+1),u=a!==r.data.substr(t+1))}return{tagName:a,tagExp:o,closeIndex:i,attrExpPresent:u,rawTagName:c}}function b(t,e,n){const r=n;let o=1;for(;n\",n,`${e} is not closed`);if(t.substring(n+2,i).trim()===e&&(o--,0===o))return{tagContent:t.substring(r,n),i};n=i}else if(\"?\"===t[n+1])n=y(t,\"?>\",n+1,\"StopNode is not closed.\");else if(\"!--\"===t.substr(n+1,3))n=y(t,\"--\\x3e\",n+3,\"StopNode is not closed.\");else if(\"![\"===t.substr(n+1,2))n=y(t,\"]]>\",n,\"StopNode is not closed.\")-2;else{const r=v(t,n,\">\");r&&((r&&r.tagName)===e&&\"/\"!==r.tagExp[r.tagExp.length-1]&&o++,n=r.closeIndex)}}function w(t,e,n){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&s(t,n)}return r.isExist(t)?t:\"\"}t.exports=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:\"'\"},gt:{regex:/&(gt|#62|#x3E);/g,val:\">\"},lt:{regex:/&(lt|#60|#x3C);/g,val:\"<\"},quot:{regex:/&(quot|#34|#x22);/g,val:'\"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:\"&\"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:\" \"},cent:{regex:/&(cent|#162);/g,val:\"¢\"},pound:{regex:/&(pound|#163);/g,val:\"£\"},yen:{regex:/&(yen|#165);/g,val:\"¥\"},euro:{regex:/&(euro|#8364);/g,val:\"€\"},copyright:{regex:/&(copy|#169);/g,val:\"©\"},reg:{regex:/&(reg|#174);/g,val:\"®\"},inr:{regex:/&(inr|#8377);/g,val:\"₹\"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=a,this.parseXml=p,this.parseTextData=u,this.resolveNameSpace=c,this.buildAttributesMap=h,this.isItStopNode=m,this.replaceEntitiesValue=d,this.readStopNodeData=b,this.saveTextToParentTag=g,this.addChild=f}}},338:(t,e,n)=>{const{buildOptions:r}=n(63),o=n(299),{prettify:i}=n(728),s=n(31);t.exports=class{constructor(t){this.externalEntities={},this.options=r(t)}parse(t,e){if(\"string\"==typeof t);else{if(!t.toString)throw new Error(\"XML data is accepted in String or Bytes[] form.\");t=t.toString()}if(e){!0===e&&(e={});const n=s.validate(t,e);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new o(this.options);n.addExternalEntities(this.externalEntities);const r=n.parseXml(t);return this.options.preserveOrder||void 0===r?r:i(r,this.options)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}}},728:(t,e)=>{function n(t,e,s){let a;const u={};for(let c=0;c0&&(u[e.textNodeName]=a):void 0!==a&&(u[e.textNodeName]=a),u}function r(t){const e=Object.keys(t);for(let t=0;t{t.exports=class{constructor(t){this.tagname=t,this.child=[],this[\":@\"]={}}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child})}}},135:t=>{function e(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(e(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&e(t.slice(0,0))}(t)||!!t._isBuffer)}},542:(t,e,n)=>{!function(){var e=n(298),r=n(526).utf8,o=n(135),i=n(526).bin,s=function(t,n){t.constructor==String?t=n&&\"binary\"===n.encoding?i.stringToBytes(t):r.stringToBytes(t):o(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||t.constructor===Uint8Array||(t=t.toString());for(var a=e.bytesToWords(t),u=8*t.length,c=1732584193,l=-271733879,h=-1732584194,p=271733878,f=0;f>>24)|4278255360&(a[f]<<24|a[f]>>>8);a[u>>>5]|=128<>>9<<4)]=u;var d=s._ff,g=s._gg,m=s._hh,y=s._ii;for(f=0;f>>0,l=l+b>>>0,h=h+w>>>0,p=p+x>>>0}return e.endian([c,l,h,p])};s._ff=function(t,e,n,r,o,i,s){var a=t+(e&n|~e&r)+(o>>>0)+s;return(a<>>32-i)+e},s._gg=function(t,e,n,r,o,i,s){var a=t+(e&r|n&~r)+(o>>>0)+s;return(a<>>32-i)+e},s._hh=function(t,e,n,r,o,i,s){var a=t+(e^n^r)+(o>>>0)+s;return(a<>>32-i)+e},s._ii=function(t,e,n,r,o,i,s){var a=t+(n^(e|~r))+(o>>>0)+s;return(a<>>32-i)+e},s._blocksize=16,s._digestsize=16,t.exports=function(t,n){if(null==t)throw new Error(\"Illegal argument \"+t);var r=e.wordsToBytes(s(t,n));return n&&n.asBytes?r:n&&n.asString?i.bytesToString(r):e.bytesToHex(r)}}()},285:(t,e,n)=>{var r=n(2);t.exports=function(t){return t?(\"{}\"===t.substr(0,2)&&(t=\"\\\\{\\\\}\"+t.substr(2)),m(function(t){return t.split(\"\\\\\\\\\").join(o).split(\"\\\\{\").join(i).split(\"\\\\}\").join(s).split(\"\\\\,\").join(a).split(\"\\\\.\").join(u)}(t),!0).map(l)):[]};var o=\"\\0SLASH\"+Math.random()+\"\\0\",i=\"\\0OPEN\"+Math.random()+\"\\0\",s=\"\\0CLOSE\"+Math.random()+\"\\0\",a=\"\\0COMMA\"+Math.random()+\"\\0\",u=\"\\0PERIOD\"+Math.random()+\"\\0\";function c(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function l(t){return t.split(o).join(\"\\\\\").split(i).join(\"{\").split(s).join(\"}\").split(a).join(\",\").split(u).join(\".\")}function h(t){if(!t)return[\"\"];var e=[],n=r(\"{\",\"}\",t);if(!n)return t.split(\",\");var o=n.pre,i=n.body,s=n.post,a=o.split(\",\");a[a.length-1]+=\"{\"+i+\"}\";var u=h(s);return s.length&&(a[a.length-1]+=u.shift(),a.push.apply(a,u)),e.push.apply(e,a),e}function p(t){return\"{\"+t+\"}\"}function f(t){return/^-?0\\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function m(t,e){var n=[],o=r(\"{\",\"}\",t);if(!o)return[t];var i=o.pre,a=o.post.length?m(o.post,!1):[\"\"];if(/\\$$/.test(o.pre))for(var u=0;u=0;if(!x&&!N)return o.post.match(/,.*\\}/)?m(t=o.pre+\"{\"+o.body+s+o.post):[t];if(x)y=o.body.split(/\\.\\./);else if(1===(y=h(o.body)).length&&1===(y=m(y[0],!1).map(p)).length)return a.map((function(t){return o.pre+y[0]+t}));if(x){var P=c(y[0]),A=c(y[1]),O=Math.max(y[0].length,y[1].length),E=3==y.length?Math.abs(c(y[2])):1,T=d;A0){var I=new Array(C+1).join(\"0\");$=S<0?\"-\"+I+$.slice(1):I+$}}v.push($)}}else{v=[];for(var k=0;k{function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},e(t)}function n(t){var e=\"function\"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf(\"[native code]\")))return t;var n;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,s)}function s(){return r(t,arguments,i(this).constructor)}return s.prototype=Object.create(t.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),o(s,t)},n(t)}function r(t,e,n){return r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&o(i,n.prototype),i},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}var s=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,n),(r=function(t,n){return!n||\"object\"!==e(n)&&\"function\"!=typeof n?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):n}(this,i(n).call(this,t))).name=\"ObjectPrototypeMutationError\",r}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split(\".\"),i=o.length,s=function(e){var n=o[e];if(!t)return{v:void 0};if(\"+\"===n){if(Array.isArray(t))return{v:t.map((function(n,i){var s=o.slice(e+1);return s.length>0?a(n,s.join(\".\"),r):r(t,i,o,e)}))};var i=o.slice(0,e).join(\".\");throw new Error(\"Object at wildcard (\".concat(i,\") is not an array\"))}t=r(t,n,o,e)},u=0;u2&&void 0!==arguments[2]?arguments[2]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;if(\"number\"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,i){if(!u(n,i))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var i=!1,s=!1;return a(t,n,(function(t,n,o,a){return i=i||t===r||!!t&&t[n]===r,s=u(o,a)&&\"object\"===e(t)&&n in t,t&&t[n]})),o.validPath?i&&s:i}catch(t){return!1}},ObjectPrototypeMutationError:s}},47:(t,e,n)=>{var r=n(410),o=function(t){return\"string\"==typeof t};function i(t,e){for(var n=[],r=0;r=-1&&!e;n--){var r=n>=0?arguments[n]:process.cwd();if(!o(r))throw new TypeError(\"Arguments to path.resolve must be strings\");r&&(t=r+\"/\"+t,e=\"/\"===r.charAt(0))}return(e?\"/\":\"\")+(t=i(t.split(\"/\"),!e).join(\"/\"))||\".\"},a.normalize=function(t){var e=a.isAbsolute(t),n=\"/\"===t.substr(-1);return(t=i(t.split(\"/\"),!e).join(\"/\"))||e||(t=\".\"),t&&n&&(t+=\"/\"),(e?\"/\":\"\")+t},a.isAbsolute=function(t){return\"/\"===t.charAt(0)},a.join=function(){for(var t=\"\",e=0;e=0&&\"\"===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=a.resolve(t).substr(1),e=a.resolve(e).substr(1);for(var r=n(t.split(\"/\")),o=n(e.split(\"/\")),i=Math.min(r.length,o.length),s=i,u=0;u{var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\\+/g,\" \"))}catch(t){return null}}function o(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||\"\";var r,i,s=[];for(i in\"string\"!=typeof e&&(e=\"?\"),t)if(n.call(t,i)){if((r=t[i])||null!=r&&!isNaN(r)||(r=\"\"),i=o(i),r=o(r),null===i||null===r)continue;s.push(i+\"=\"+r)}return s.length?e+s.join(\"&\"):\"\"},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,o={};e=n.exec(t);){var i=r(e[1]),s=r(e[2]);null===i||null===s||i in o||(o[i]=s)}return o}},670:t=>{t.exports=function(t,e){if(e=e.split(\":\")[0],!(t=+t))return!1;switch(e){case\"http\":case\"ws\":return 80!==t;case\"https\":case\"wss\":return 443!==t;case\"ftp\":return 21!==t;case\"gopher\":return 70!==t;case\"file\":return!1}return 0!==t}},494:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0};t.exports=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o=Object.assign({},r,o),!t||\"string\"!=typeof t)return t;let i=t.trim();if(void 0!==o.skipLike&&o.skipLike.test(i))return t;if(o.hex&&e.test(i))return Number.parseInt(i,16);{const e=n.exec(i);if(e){const n=e[1],r=e[2];let a=(s=e[3])&&-1!==s.indexOf(\".\")?(\".\"===(s=s.replace(/0+$/,\"\"))?s=\"0\":\".\"===s[0]?s=\"0\"+s:\".\"===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;const u=e[4]||e[6];if(!o.leadingZeros&&r.length>0&&n&&\".\"!==i[2])return t;if(!o.leadingZeros&&r.length>0&&!n&&\".\"!==i[1])return t;{const e=Number(i),s=\"\"+e;return-1!==s.search(/[eE]/)||u?o.eNotation?e:t:-1!==i.indexOf(\".\")?\"0\"===s&&\"\"===a||s===a||n&&s===\"-\"+a?e:t:r?a===s||n+a===s?e:t:i===s||i===n+s?e:t}}return t}var s}},737:(t,e,n)=>{var r=n(670),o=n(647),i=/^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/,s=/[\\n\\r\\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,u=/:\\d+$/,c=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i,l=/^[a-zA-Z]:/;function h(t){return(t||\"\").toString().replace(i,\"\")}var p=[[\"#\",\"hash\"],[\"?\",\"query\"],function(t,e){return g(e.protocol)?t.replace(/\\\\/g,\"/\"):t},[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d*)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],f={hash:1,query:1};function d(t){var e,n=(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).location||{},r={},o=typeof(t=t||n);if(\"blob:\"===t.protocol)r=new y(unescape(t.pathname),{});else if(\"string\"===o)for(e in r=new y(t,{}),f)delete r[e];else if(\"object\"===o){for(e in t)e in f||(r[e]=t[e]);void 0===r.slashes&&(r.slashes=a.test(t.href))}return r}function g(t){return\"file:\"===t||\"ftp:\"===t||\"http:\"===t||\"https:\"===t||\"ws:\"===t||\"wss:\"===t}function m(t,e){t=(t=h(t)).replace(s,\"\"),e=e||{};var n,r=c.exec(t),o=r[1]?r[1].toLowerCase():\"\",i=!!r[2],a=!!r[3],u=0;return i?a?(n=r[2]+r[3]+r[4],u=r[2].length+r[3].length):(n=r[2]+r[4],u=r[2].length):a?(n=r[3]+r[4],u=r[3].length):n=r[4],\"file:\"===o?u>=2&&(n=n.slice(2)):g(o)?n=r[4]:o?i&&(n=n.slice(2)):u>=2&&g(e.protocol)&&(n=r[4]),{protocol:o,slashes:i||g(o),slashesCount:u,rest:n}}function y(t,e,n){if(t=(t=h(t)).replace(s,\"\"),!(this instanceof y))return new y(t,e,n);var i,a,u,c,f,v,b=p.slice(),w=typeof e,x=this,N=0;for(\"object\"!==w&&\"string\"!==w&&(n=e,e=null),n&&\"function\"!=typeof n&&(n=o.parse),i=!(a=m(t||\"\",e=d(e))).protocol&&!a.slashes,x.slashes=a.slashes||i&&e.slashes,x.protocol=a.protocol||e.protocol||\"\",t=a.rest,(\"file:\"===a.protocol&&(2!==a.slashesCount||l.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!g(x.protocol)))&&(b[3]=[/(.*)/,\"pathname\"]);N{},388:()=>{},805:()=>{},345:()=>{},800:()=>{}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r={};n.d(r,{hT:()=>C,O4:()=>I,Kd:()=>S,YK:()=>$,UU:()=>en,Gu:()=>F,ky:()=>oe,h4:()=>ne,ch:()=>re,hq:()=>Xt,i5:()=>ie});var o=n(737),i=n.n(o);function s(t){if(!a(t))throw new Error(\"Parameter was not an error\")}function a(t){return!!t&&\"object\"==typeof t&&\"[object Error]\"===(e=t,Object.prototype.toString.call(e))||t instanceof Error;var e}class u extends Error{constructor(t,e){const n=[...arguments],{options:r,shortMessage:o}=function(t){let e,n=\"\";if(0===t.length)e={};else if(a(t[0]))e={cause:t[0]},n=t.slice(1).join(\" \")||\"\";else if(t[0]&&\"object\"==typeof t[0])e=Object.assign({},t[0]),n=t.slice(1).join(\" \")||\"\";else{if(\"string\"!=typeof t[0])throw new Error(\"Invalid arguments passed to Layerr\");e={},n=n=t.join(\" \")||\"\"}return{options:e,shortMessage:n}}(n);let i=o;if(r.cause&&(i=`${i}: ${r.cause.message}`),super(i),this.message=i,r.name&&\"string\"==typeof r.name?this.name=r.name:this.name=\"Layerr\",r.cause&&Object.defineProperty(this,\"_cause\",{value:r.cause}),Object.defineProperty(this,\"_info\",{value:{}}),r.info&&\"object\"==typeof r.info&&Object.assign(this._info,r.info),Error.captureStackTrace){const t=r.constructorOpt||this.constructor;Error.captureStackTrace(this,t)}}static cause(t){return s(t),t._cause&&a(t._cause)?t._cause:null}static fullStack(t){s(t);const e=u.cause(t);return e?`${t.stack}\\ncaused by: ${u.fullStack(e)}`:t.stack??\"\"}static info(t){s(t);const e={},n=u.cause(t);return n&&Object.assign(e,u.info(n)),t._info&&Object.assign(e,t._info),e}toString(){let t=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t=`${t}: ${this.message}`),t}}var c=n(47),l=n.n(c);const h=\"__PATH_SEPARATOR_POSIX__\",p=\"__PATH_SEPARATOR_WINDOWS__\";function f(t){try{const e=t.replace(/\\//g,h).replace(/\\\\\\\\/g,p);return encodeURIComponent(e).split(p).join(\"\\\\\\\\\").split(h).join(\"/\")}catch(t){throw new u(t,\"Failed encoding path\")}}function d(t){return t.startsWith(\"/\")?t:\"/\"+t}function g(t){let e=t;return\"/\"!==e[0]&&(e=\"/\"+e),/^.+\\/$/.test(e)&&(e=e.substr(0,e.length-1)),e}function m(t){let e=new(i())(t).pathname;return e.length<=0&&(e=\"/\"),g(e)}function y(){for(var t=arguments.length,e=new Array(t),n=0;n1){var n=t.shift();t[0]=n+t[0]}t[0].match(/^file:\\/\\/\\//)?t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1:///\"):t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1://\");for(var r=0;r0&&(o=o.replace(/^[\\/]+/,\"\")),o=r0?\"?\":\"\")+s.join(\"&\")}(\"object\"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}(e.reduce(((t,e,n)=>((0===n||\"/\"!==e||\"/\"===e&&\"/\"!==t[t.length-1])&&t.push(e),t)),[]))}var v=n(542),b=n.n(v);const w=\"abcdef0123456789\";function x(t,e){const n=t.url.replace(\"//\",\"\"),r=-1==n.indexOf(\"/\")?\"/\":n.slice(n.indexOf(\"/\")),o=t.method?t.method.toUpperCase():\"GET\",i=!!/(^|,)\\s*auth\\s*($|,)/.test(e.qop)&&\"auth\",s=`00000000${e.nc}`.slice(-8),a=function(t,e,n,r,o,i,s){const a=s||b()(`${e}:${n}:${r}`);return t&&\"md5-sess\"===t.toLowerCase()?b()(`${a}:${o}:${i}`):a}(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce,e.ha1),u=b()(`${o}:${r}`),c=i?b()(`${a}:${e.nonce}:${s}:${e.cnonce}:${i}:${u}`):b()(`${a}:${e.nonce}:${u}`),l={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:i,response:c,nc:s,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},h=[];for(const t in l)l[t]&&(\"qop\"===t||\"nc\"===t||\"algorithm\"===t?h.push(`${t}=${l[t]}`):h.push(`${t}=\"${l[t]}\"`));return`Digest ${h.join(\", \")}`}function N(t){return\"digest\"===(t.headers&&t.headers.get(\"www-authenticate\")||\"\").split(/\\s/)[0].toLowerCase()}var P=n(101),A=n.n(P);function O(t){return A().decode(t)}function E(t,e){var n;return`Basic ${n=`${t}:${e}`,A().encode(n)}`}const T=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:\"undefined\"!=typeof window?window:globalThis,j=T.fetch.bind(T),S=(T.Headers,T.Request),$=T.Response;let C=function(t){return t.Auto=\"auto\",t.Digest=\"digest\",t.None=\"none\",t.Password=\"password\",t.Token=\"token\",t}({}),I=function(t){return t.DataTypeNoLength=\"data-type-no-length\",t.InvalidAuthType=\"invalid-auth-type\",t.InvalidOutputFormat=\"invalid-output-format\",t.LinkUnsupportedAuthType=\"link-unsupported-auth\",t.InvalidUpdateRange=\"invalid-update-range\",t.NotSupported=\"not-supported\",t}({});function k(t,e,n,r,o){switch(t.authType){case C.Auto:e&&n&&(t.headers.Authorization=E(e,n));break;case C.Digest:t.digest=function(t,e,n){return{username:t,password:e,ha1:n,nc:0,algorithm:\"md5\",hasDigestAuth:!1}}(e,n,o);break;case C.None:break;case C.Password:t.headers.Authorization=E(e,n);break;case C.Token:t.headers.Authorization=`${(i=r).token_type} ${i.access_token}`;break;default:throw new u({info:{code:I.InvalidAuthType}},`Invalid auth type: ${t.authType}`)}var i}n(345),n(800);const R=\"@@HOTPATCHER\",L=()=>{};function _(t){return{original:t,methods:[t],final:!1}}class M{constructor(){this._configuration={registry:{},getEmptyAction:\"null\"},this.__type__=R}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(t){this.configuration.getEmptyAction=t}control(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t||t.__type__!==R)throw new Error(\"Failed taking control of target HotPatcher instance: Invalid type or object\");return Object.keys(t.configuration.registry).forEach((n=>{this.configuration.registry.hasOwnProperty(n)?e&&(this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])):this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])})),t._configuration=this.configuration,this}execute(t){const e=this.get(t)||L;for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o0;)o=[e.shift().apply(i,o)];return o[0]}}(...e.methods)}isPatched(t){return!!this.configuration.registry[t]}patch(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{chain:r=!1}=n;if(this.configuration.registry[t]&&this.configuration.registry[t].final)throw new Error(`Failed patching '${t}': Method marked as being final`);if(\"function\"!=typeof e)throw new Error(`Failed patching '${t}': Provided method is not a function`);if(r)this.configuration.registry[t]?this.configuration.registry[t].methods.push(e):this.configuration.registry[t]=_(e);else if(this.isPatched(t)){const{original:n}=this.configuration.registry[t];this.configuration.registry[t]=Object.assign(_(e),{original:n})}else this.configuration.registry[t]=_(e);return this}patchInline(t,e){this.isPatched(t)||this.patch(t,e);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o1?e-1:0),r=1;r{this.patch(t,e,{chain:!0})})),this}restore(t){if(!this.isPatched(t))throw new Error(`Failed restoring method: No method present for key: ${t}`);if(\"function\"!=typeof this.configuration.registry[t].original)throw new Error(`Failed restoring method: Original method not found or of invalid type for key: ${t}`);return this.configuration.registry[t].methods=[this.configuration.registry[t].original],this}setFinal(t){if(!this.configuration.registry.hasOwnProperty(t))throw new Error(`Failed marking '${t}' as final: No method found for key`);return this.configuration.registry[t].final=!0,this}}let U=null;function F(){return U||(U=new M),U}function D(t){return function(t){if(\"object\"!=typeof t||null===t||\"[object Object]\"!=Object.prototype.toString.call(t))return!1;if(null===Object.getPrototypeOf(t))return!0;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t)?Object.assign({},t):Object.setPrototypeOf(Object.assign({},t),Object.getPrototypeOf(t))}function B(){for(var t=arguments.length,e=new Array(t),n=0;n0;){const t=o.shift();r=r?W(r,t):D(t)}return r}function W(t,e){const n=D(t);return Object.keys(e).forEach((t=>{n.hasOwnProperty(t)?Array.isArray(e[t])?n[t]=Array.isArray(n[t])?[...n[t],...e[t]]:[...e[t]]:\"object\"==typeof e[t]&&e[t]?n[t]=\"object\"==typeof n[t]&&n[t]?W(n[t],e[t]):D(e[t]):n[t]=e[t]:n[t]=e[t]})),n}function V(t){const e={};for(const n of t.keys())e[n]=t.get(n);return e}function z(){for(var t=arguments.length,e=new Array(t),n=0;n(Object.keys(e).forEach((n=>{const o=n.toLowerCase();r.hasOwnProperty(o)?t[r[o]]=e[n]:(r[o]=n,t[n]=e[n])})),t)),{})}n(805);const G=\"function\"==typeof ArrayBuffer,{toString:q}=Object.prototype;function H(t){return G&&(t instanceof ArrayBuffer||\"[object ArrayBuffer]\"===q.call(t))}function X(t){return null!=t&&null!=t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function Z(t){return function(){for(var e=[],n=0;ne.patchInline(\"fetch\",j,t.url,function(t){let e={};const n={method:t.method};if(t.headers&&(e=z(e,t.headers)),void 0!==t.data){const[r,o]=function(t){if(\"string\"==typeof t)return[t,{}];if(X(t))return[t,{}];if(H(t))return[t,{}];if(t&&\"object\"==typeof t)return[JSON.stringify(t),{\"content-type\":\"application/json\"}];throw new Error(\"Unable to convert request body: Unexpected body type: \"+typeof t)}(t.data);n.body=r,e=z(e,o)}return t.signal&&(n.signal=t.signal),t.withCredentials&&(n.credentials=\"include\"),n.headers=e,n}(t))),t)}var nt=n(285);const rt=t=>{if(\"string\"!=typeof t)throw new TypeError(\"invalid pattern\");if(t.length>65536)throw new TypeError(\"pattern is too long\")},ot={\"[:alnum:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\",!0],\"[:alpha:]\":[\"\\\\p{L}\\\\p{Nl}\",!0],\"[:ascii:]\":[\"\\\\x00-\\\\x7f\",!1],\"[:blank:]\":[\"\\\\p{Zs}\\\\t\",!0],\"[:cntrl:]\":[\"\\\\p{Cc}\",!0],\"[:digit:]\":[\"\\\\p{Nd}\",!0],\"[:graph:]\":[\"\\\\p{Z}\\\\p{C}\",!0,!0],\"[:lower:]\":[\"\\\\p{Ll}\",!0],\"[:print:]\":[\"\\\\p{C}\",!0],\"[:punct:]\":[\"\\\\p{P}\",!0],\"[:space:]\":[\"\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f\",!0],\"[:upper:]\":[\"\\\\p{Lu}\",!0],\"[:word:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}\",!0],\"[:xdigit:]\":[\"A-Fa-f0-9\",!1]},it=t=>t.replace(/[[\\]\\\\-]/g,\"\\\\$&\"),st=t=>t.join(\"\"),at=(t,e)=>{const n=e;if(\"[\"!==t.charAt(n))throw new Error(\"not in a brace expression\");const r=[],o=[];let i=n+1,s=!1,a=!1,u=!1,c=!1,l=n,h=\"\";t:for(;ih?r.push(it(h)+\"-\"+it(e)):e===h&&r.push(it(e)),h=\"\",i++):t.startsWith(\"-]\",i+1)?(r.push(it(e+\"-\")),i+=2):t.startsWith(\"-\",i+1)?(h=e,i+=2):(r.push(it(e)),i++)}else u=!0,i++}else c=!0,i++}if(l1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/\\[([^\\/\\\\])\\]/g,\"$1\"):t.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,\"$1$2\").replace(/\\\\([^\\/])/g,\"$1\")},ct=new Set([\"!\",\"?\",\"+\",\"*\",\"@\"]),lt=t=>ct.has(t),ht=\"(?!\\\\.)\",pt=new Set([\"[\",\".\"]),ft=new Set([\"..\",\".\"]),dt=new Set(\"().*{}+?[]^$\\\\!\"),gt=\"[^/]\",mt=gt+\"*?\",yt=gt+\"+?\";class vt{type;#t;#e;#n=!1;#r=[];#o;#i;#s;#a=!1;#u;#c;#l=!1;constructor(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.type=t,t&&(this.#e=!0),this.#o=e,this.#t=this.#o?this.#o.#t:this,this.#u=this.#t===this?n:this.#t.#u,this.#s=this.#t===this?[]:this.#t.#s,\"!\"!==t||this.#t.#a||this.#s.push(this),this.#i=this.#o?this.#o.#r.length:0}get hasMagic(){if(void 0!==this.#e)return this.#e;for(const t of this.#r)if(\"string\"!=typeof t&&(t.type||t.hasMagic))return this.#e=!0;return this.#e}toString(){return void 0!==this.#c?this.#c:this.type?this.#c=this.type+\"(\"+this.#r.map((t=>String(t))).join(\"|\")+\")\":this.#c=this.#r.map((t=>String(t))).join(\"\")}#h(){if(this!==this.#t)throw new Error(\"should only call on root\");if(this.#a)return this;let t;for(this.toString(),this.#a=!0;t=this.#s.pop();){if(\"!\"!==t.type)continue;let e=t,n=e.#o;for(;n;){for(let r=e.#i+1;!n.type&&r\"string\"==typeof t?t:t.toJSON())):[this.type,...this.#r.map((t=>t.toJSON()))];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#t||this.#t.#a&&\"!\"===this.#o?.type)&&t.push({}),t}isStart(){if(this.#t===this)return!0;if(!this.#o?.isStart())return!1;if(0===this.#i)return!0;const t=this.#o;for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{};const n=new vt(null,void 0,e);return vt.#p(t,n,0,e),n}toMMPattern(){if(this!==this.#t)return this.#t.toMMPattern();const t=this.toString(),[e,n,r,o]=this.toRegExpSource();if(!(r||this.#e||this.#u.nocase&&!this.#u.nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return n;const i=(this.#u.nocase?\"i\":\"\")+(o?\"u\":\"\");return Object.assign(new RegExp(`^${e}$`,i),{_src:e,_glob:t})}get options(){return this.#u}toRegExpSource(t){const e=t??!!this.#u.dot;if(this.#t===this&&this.#h(),!this.type){const n=this.isStart()&&this.isEnd(),r=this.#r.map((e=>{const[r,o,i,s]=\"string\"==typeof e?vt.#f(e,this.#e,n):e.toRegExpSource(t);return this.#e=this.#e||i,this.#n=this.#n||s,r})).join(\"\");let o=\"\";if(this.isStart()&&\"string\"==typeof this.#r[0]&&(1!==this.#r.length||!ft.has(this.#r[0]))){const n=pt,i=e&&n.has(r.charAt(0))||r.startsWith(\"\\\\.\")&&n.has(r.charAt(2))||r.startsWith(\"\\\\.\\\\.\")&&n.has(r.charAt(4)),s=!e&&!t&&n.has(r.charAt(0));o=i?\"(?!(?:^|/)\\\\.\\\\.?(?:$|/))\":s?ht:\"\"}let i=\"\";return this.isEnd()&&this.#t.#a&&\"!\"===this.#o?.type&&(i=\"(?:$|\\\\/)\"),[o+r+i,ut(r),this.#e=!!this.#e,this.#n]}const n=\"*\"===this.type||\"+\"===this.type,r=\"!\"===this.type?\"(?:(?!(?:\":\"(?:\";let o=this.#d(e);if(this.isStart()&&this.isEnd()&&!o&&\"!\"!==this.type){const t=this.toString();return this.#r=[t],this.type=null,this.#e=void 0,[t,ut(this.toString()),!1,!1]}let i=!n||t||e?\"\":this.#d(!0);i===o&&(i=\"\"),i&&(o=`(?:${o})(?:${i})*?`);let s=\"\";return s=\"!\"===this.type&&this.#l?(this.isStart()&&!e?ht:\"\")+yt:r+o+(\"!\"===this.type?\"))\"+(!this.isStart()||e||t?\"\":ht)+mt+\")\":\"@\"===this.type?\")\":\"?\"===this.type?\")?\":\"+\"===this.type&&i?\")\":\"*\"===this.type&&i?\")?\":`)${this.type}`),[s,ut(o),this.#e=!!this.#e,this.#n]}#d(t){return this.#r.map((e=>{if(\"string\"==typeof e)throw new Error(\"string type in extglob ast??\");const[n,r,o,i]=e.toRegExpSource(t);return this.#n=this.#n||i,n})).filter((t=>!(this.isStart()&&this.isEnd()&&!t))).join(\"|\")}static#f(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1,o=\"\",i=!1;for(let s=0;s2&&void 0!==arguments[2]?arguments[2]:{};return rt(e),!(!n.nocomment&&\"#\"===e.charAt(0))&&new Gt(e,n).match(t)},wt=/^\\*+([^+@!?\\*\\[\\(]*)$/,xt=t=>e=>!e.startsWith(\".\")&&e.endsWith(t),Nt=t=>e=>e.endsWith(t),Pt=t=>(t=t.toLowerCase(),e=>!e.startsWith(\".\")&&e.toLowerCase().endsWith(t)),At=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),Ot=/^\\*+\\.\\*+$/,Et=t=>!t.startsWith(\".\")&&t.includes(\".\"),Tt=t=>\".\"!==t&&\"..\"!==t&&t.includes(\".\"),jt=/^\\.\\*+$/,St=t=>\".\"!==t&&\"..\"!==t&&t.startsWith(\".\"),$t=/^\\*+$/,Ct=t=>0!==t.length&&!t.startsWith(\".\"),It=t=>0!==t.length&&\".\"!==t&&\"..\"!==t,kt=/^\\?+([^+@!?\\*\\[\\(]*)?$/,Rt=t=>{let[e,n=\"\"]=t;const r=Ut([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},Lt=t=>{let[e,n=\"\"]=t;const r=Ft([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},_t=t=>{let[e,n=\"\"]=t;const r=Ft([e]);return n?t=>r(t)&&t.endsWith(n):r},Mt=t=>{let[e,n=\"\"]=t;const r=Ut([e]);return n?t=>r(t)&&t.endsWith(n):r},Ut=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&!t.startsWith(\".\")},Ft=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&\".\"!==t&&\"..\"!==t},Dt=\"object\"==typeof process&&process?\"object\"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:\"posix\";bt.sep=\"win32\"===Dt?\"\\\\\":\"/\";const Bt=Symbol(\"globstar **\");bt.GLOBSTAR=Bt,bt.filter=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n=>bt(n,t,e)};const Wt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({},t,e)};bt.defaults=t=>{if(!t||\"object\"!=typeof t||!Object.keys(t).length)return bt;const e=bt;return Object.assign((function(n,r){return e(n,r,Wt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}),{Minimatch:class extends e.Minimatch{constructor(e){super(e,Wt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}static defaults(n){return e.defaults(Wt(t,n)).Minimatch}},AST:class extends e.AST{constructor(e,n){super(e,n,Wt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.AST.fromGlob(n,Wt(t,r))}},unescape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.unescape(n,Wt(t,r))},escape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.escape(n,Wt(t,r))},filter:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.filter(n,Wt(t,r))},defaults:n=>e.defaults(Wt(t,n)),makeRe:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.makeRe(n,Wt(t,r))},braceExpand:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.braceExpand(n,Wt(t,r))},match:function(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.match(n,r,Wt(t,o))},sep:e.sep,GLOBSTAR:Bt})};const Vt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return rt(t),e.nobrace||!/\\{(?:(?!\\{).)*\\}/.test(t)?[t]:nt(t)};bt.braceExpand=Vt,bt.makeRe=function(t){return new Gt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).makeRe()},bt.match=function(t,e){const n=new Gt(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return t=t.filter((t=>n.match(t))),n.options.nonull&&!t.length&&t.push(e),t};const zt=/[?*]|[+@!]\\(.*?\\)|\\[|\\]/;class Gt{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||Dt,this.isWindows=\"win32\"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\\\/g,\"/\")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(\"string\"!=typeof e)return!0;return!1}debug(){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&\"#\"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(\"\"!==t[0]||\"\"!==t[1]||\"?\"!==t[2]&&zt.test(t[2])||zt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf(\"**\",e+1));){let n=e;for(;\"**\"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return\"**\"===e&&\"**\"===n?t:\"..\"===e&&n&&\"..\"!==n&&\".\"!==n&&\"**\"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[\"\"]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let i=n[r+1];const s=n[r+2],a=n[r+3];if(\"..\"!==i)continue;if(!s||\".\"===s||\"..\"===s||!a||\".\"===a||\"..\"===a)continue;e=!0,n.splice(r,1);const u=n.slice(0);u[r]=\"**\",t.push(u),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0,o=0,i=[],s=\"\";for(;r2&&void 0!==arguments[2]&&arguments[2];const r=this.options;if(this.isWindows){const n=\"string\"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),r=!n&&\"\"===t[0]&&\"\"===t[1]&&\"?\"===t[2]&&/^[a-z]:$/i.test(t[3]),o=\"string\"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),i=r?3:n?0:void 0,s=!o&&\"\"===e[0]&&\"\"===e[1]&&\"?\"===e[2]&&\"string\"==typeof e[3]&&/^[a-z]:$/i.test(e[3])?3:o?0:void 0;if(\"number\"==typeof i&&\"number\"==typeof s){const[n,r]=[t[i],e[s]];n.toLowerCase()===r.toLowerCase()&&(e[s]=n,s>i?e=e.slice(s):i>s&&(t=t.slice(i)))}}const{optimizationLevel:o=1}=this.options;o>=2&&(t=this.levelTwoFileOptimize(t)),this.debug(\"matchOne\",this,{file:t,pattern:e}),this.debug(\"matchOne\",t.length,e.length);for(var i=0,s=0,a=t.length,u=e.length;i>> no match, partial?\",t,h,e,p),h!==a))}let o;if(\"string\"==typeof c?(o=l===c,this.debug(\"string match\",c,l,o)):(o=c.test(l),this.debug(\"pattern match\",c,l,o)),!o)return!1}if(i===a&&s===u)return!0;if(i===a)return n;if(s===u)return i===a-1&&\"\"===t[i];throw new Error(\"wtf?\")}braceExpand(){return Vt(this.pattern,this.options)}parse(t){rt(t);const e=this.options;if(\"**\"===t)return Bt;if(\"\"===t)return\"\";let n,r=null;(n=t.match($t))?r=e.dot?It:Ct:(n=t.match(wt))?r=(e.nocase?e.dot?At:Pt:e.dot?Nt:xt)(n[1]):(n=t.match(kt))?r=(e.nocase?e.dot?Lt:Rt:e.dot?_t:Mt)(n):(n=t.match(Ot))?r=e.dot?Tt:Et:(n=t.match(jt))&&(r=St);const o=vt.fromGlob(t,this.options).toMMPattern();return r&&\"object\"==typeof o&&Reflect.defineProperty(o,\"test\",{value:r}),o}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const e=this.options,n=e.noglobstar?\"[^/]*?\":e.dot?\"(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?\":\"(?:(?!(?:\\\\/|^)\\\\.).)*?\",r=new Set(e.nocase?[\"i\"]:[]);let o=t.map((t=>{const e=t.map((t=>{if(t instanceof RegExp)for(const e of t.flags.split(\"\"))r.add(e);return\"string\"==typeof t?t.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):t===Bt?Bt:t._src}));return e.forEach(((t,r)=>{const o=e[r+1],i=e[r-1];t===Bt&&i!==Bt&&(void 0===i?void 0!==o&&o!==Bt?e[r+1]=\"(?:\\\\/|\"+n+\"\\\\/)?\"+o:e[r]=n:void 0===o?e[r-1]=i+\"(?:\\\\/|\"+n+\")?\":o!==Bt&&(e[r-1]=i+\"(?:\\\\/|\\\\/\"+n+\"\\\\/)\"+o,e[r+1]=Bt))})),e.filter((t=>t!==Bt)).join(\"/\")})).join(\"|\");const[i,s]=t.length>1?[\"(?:\",\")\"]:[\"\",\"\"];o=\"^\"+i+o+s+\"$\",this.negate&&(o=\"^(?!\"+o+\").+$\");try{this.regexp=new RegExp(o,[...r].join(\"\"))}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split(\"/\"):this.isWindows&&/^\\/\\/[^\\/]+/.test(t)?[\"\",...t.split(/\\/+/)]:t.split(/\\/+/)}match(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.partial;if(this.debug(\"match\",t,this.pattern),this.comment)return!1;if(this.empty)return\"\"===t;if(\"/\"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split(\"\\\\\").join(\"/\"));const r=this.slashSplit(t);this.debug(this.pattern,\"split\",r);const o=this.set;this.debug(this.pattern,\"set\",o);let i=r[r.length-1];if(!i)for(let t=r.length-2;!i&&t>=0;t--)i=r[t];for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:\"\"}Invalid response: ${t.status} ${t.statusText}`);return e.status=t.status,e.response=t,e}function Ht(t,e){const{status:n}=e;if(401===n&&t.digest)return e;if(n>=400)throw qt(e);return e}function Xt(t,e){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?{data:e,headers:t.headers?V(t.headers):{},status:t.status,statusText:t.statusText}:e}bt.AST=vt,bt.Minimatch=Gt,bt.escape=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/[?*()[\\]]/g,\"[$&]\"):t.replace(/[?*()[\\]\\\\]/g,\"\\\\$&\")},bt.unescape=ut;const Zt=(Yt=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"COPY\",headers:{Destination:y(t.remoteURL,f(n)),Overwrite:!1===r.overwrite?\"F\":\"T\",Depth:r.shallow?\"0\":\"infinity\"}},t,r);return s=function(e){Ht(t,e)},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s},function(){for(var t=[],e=0;e2&&void 0!==arguments[2]?arguments[2]:te.Original;const r=Qt().get(t,e);return\"array\"===n&&!1===Array.isArray(r)?[r]:\"object\"===n&&Array.isArray(r)?r[0]:r}function ne(t){return new Promise((e=>{e(function(t){const{multistatus:e}=t;if(\"\"===e)return{multistatus:{response:[]}};if(!e)throw new Error(\"Invalid response: No root multistatus found\");const n={multistatus:Array.isArray(e)?e[0]:e};return Qt().set(n,\"multistatus.response\",ee(n,\"multistatus.response\",te.Array)),Qt().set(n,\"multistatus.response\",Qt().get(n,\"multistatus.response\").map((t=>function(t){const e=Object.assign({},t);return e.status?Qt().set(e,\"status\",ee(e,\"status\",te.Object)):(Qt().set(e,\"propstat\",ee(e,\"propstat\",te.Object)),Qt().set(e,\"propstat.prop\",ee(e,\"propstat.prop\",te.Object))),e}(t)))),n}(new Kt.XMLParser({removeNSPrefix:!0,numberParseOptions:{hex:!0,leadingZeros:!1}}).parse(t)))}))}function re(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{getlastmodified:r=null,getcontentlength:o=\"0\",resourcetype:i=null,getcontenttype:s=null,getetag:a=null}=t,u=i&&\"object\"==typeof i&&void 0!==i.collection?\"directory\":\"file\",c={filename:e,basename:l().basename(e),lastmod:r,size:parseInt(o,10),type:u,etag:\"string\"==typeof a?a.replace(/\"/g,\"\"):null};return\"file\"===u&&(c.mime=s&&\"string\"==typeof s?s.split(\";\")[0]:\"\"),n&&(void 0!==t.displayname&&(t.displayname=String(t.displayname)),c.props=t),c}function oe(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=null;try{t.multistatus.response[0].propstat&&(r=t.multistatus.response[0])}catch(t){}if(!r)throw new Error(\"Failed getting item stat: bad response\");const{propstat:{prop:o,status:i}}=r,[s,a,u]=i.split(\" \",3),c=parseInt(a,10);if(c>=400){const t=new Error(`Invalid response: ${c} ${u}`);throw t.status=c,t}return re(o,g(e),n)}function ie(t){switch(String(t)){case\"-3\":return\"unlimited\";case\"-2\":case\"-1\":return\"unknown\";default:return parseInt(String(t),10)}}function se(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ae=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,o=tt({url:y(t.remoteURL,f(e)),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,n);return se(Q(o,t),(function(n){return Ht(t,n),se(n.text(),(function(t){return se(ne(t),(function(t){const o=oe(t,e,r);return Xt(n,o,r)}))}))}))}));function ue(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ce=le((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(t){if(!t||\"/\"===t)return[];let e=t;const n=[];do{n.push(e),e=l().dirname(e)}while(e&&\"/\"!==e);return n}(g(e));r.sort(((t,e)=>t.length>e.length?1:e.length>t.length?-1:0));let o=!1;return function(t,e,n){if(\"function\"==typeof t[fe]){var r,o,i,s=t[fe]();function l(t){try{for(;!(r=s.next()).done;)if((t=e(r.value))&&t.then){if(!me(t))return void t.then(l,i||(i=de.bind(null,o=new ge,2)));t=t.v}o?de(o,1,t):o=t}catch(t){de(o||(o=new ge),2,t)}}if(l(),s.return){var a=function(t){try{r.done||s.return()}catch(t){}return t};if(o&&o.then)return o.then(a,(function(t){throw a(t)}));a()}return o}if(!(\"length\"in t))throw new TypeError(\"Object is not iterable\");for(var u=[],c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if(!0===n.recursive)return ce(t,e,n);const r=tt({url:y(t.remoteURL,(o=f(e),o.endsWith(\"/\")?o:o+\"/\")),method:\"MKCOL\"},t,n);var o;return ue(Q(r,t),(function(e){Ht(t,e)}))}));var ve=n(388),be=n.n(ve);const we=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r={};if(\"object\"==typeof n.range&&\"number\"==typeof n.range.start){let t=`bytes=${n.range.start}-`;\"number\"==typeof n.range.end&&(t=`${t}${n.range.end}`),r.Range=t}const o=tt({url:y(t.remoteURL,f(e)),method:\"GET\",headers:r},t,n);return s=function(e){if(Ht(t,e),r.Range&&206!==e.status){const t=new Error(`Invalid response code for partial request: ${e.status}`);throw t.status=e.status,t}return n.callback&&setTimeout((()=>{n.callback(e)}),0),e.body},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s})),xe=()=>{},Ne=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"DELETE\"},t,n);return i=function(e){Ht(t,e)},(o=Q(r,t))&&o.then||(o=Promise.resolve(o)),i?o.then(i):o;var o,i})),Ae=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return function(r,o){try{var i=(s=ae(t,e,n),a=function(){return!0},u?a?a(s):s:(s&&s.then||(s=Promise.resolve(s)),a?s.then(a):s))}catch(t){return o(t)}var s,a,u;return i&&i.then?i.then(void 0,o):i}(0,(function(t){if(404===t.status)return!1;throw t}))}));function Oe(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ee=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e),\"/\"),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:n.deep?\"infinity\":\"1\"}},t,n);return Oe(Q(r,t),(function(r){return Ht(t,r),Oe(r.text(),(function(o){if(!o)throw new Error(\"Failed parsing directory contents: Empty response\");return Oe(ne(o),(function(o){const i=d(e);let s=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const i=l().join(e,\"/\"),{multistatus:{response:s}}=t,a=s.map((t=>{const e=function(t){try{return t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}catch(t){throw new u(t,\"Failed normalising HREF\")}}(t.href),{propstat:{prop:n}}=t;return re(n,\"/\"===i?decodeURIComponent(g(e)):g(l().relative(decodeURIComponent(i),decodeURIComponent(e))),r)}));return o?a:a.filter((t=>t.basename&&(\"file\"===t.type||t.filename!==n.replace(/\\/$/,\"\"))))}(o,d(t.remoteBasePath||t.remotePath),i,n.details,n.includeSelf);return n.glob&&(s=function(t,e){return t.filter((t=>bt(t.filename,e,{matchBase:!0})))}(s,n.glob)),Xt(r,s,n.details)}))}))}))}));function Te(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"GET\",headers:{Accept:\"text/plain\"},transformResponse:[Ie]},t,n);return Se(Q(r,t),(function(e){return Ht(t,e),Se(e.text(),(function(t){return Xt(e,t,n.details)}))}))}));function Se(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const $e=Te((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"GET\"},t,n);return Se(Q(r,t),(function(e){let r;return Ht(t,e),function(t,e){var n=t();return n&&n.then?n.then(e):e()}((function(){return Se(e.arrayBuffer(),(function(t){r=t}))}),(function(){return Xt(e,r,n.details)}))}))})),Ce=Te((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{format:r=\"binary\"}=n;if(\"binary\"!==r&&\"text\"!==r)throw new u({info:{code:I.InvalidOutputFormat}},`Invalid output format: ${r}`);return\"text\"===r?je(t,e,n):$e(t,e,n)})),Ie=t=>t;function ke(t){return new Kt.XMLBuilder({attributeNamePrefix:\"@_\",format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(Re({lockinfo:{\"@_xmlns:d\":\"DAV:\",lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:t}}},\"d\"))}function Re(t,e){const n={...t};for(const t in n)n.hasOwnProperty(t)&&(n[t]&&\"object\"==typeof n[t]&&-1===t.indexOf(\":\")?(n[`${e}:${t}`]=Re(n[t],e),delete n[t]):!1===/^@_/.test(t)&&(n[`${e}:${t}`]=n[t],delete n[t]));return n}function Le(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}function _e(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"UNLOCK\",headers:{\"Lock-Token\":n}},t,r);return Le(Q(o,t),(function(e){if(Ht(t,e),204!==e.status&&200!==e.status)throw qt(e)}))})),Ue=_e((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{refreshToken:r,timeout:o=Fe}=n,i={Accept:\"text/plain,application/xml\",Timeout:o};r&&(i.If=r);const s=tt({url:y(t.remoteURL,f(e)),method:\"LOCK\",headers:i,data:ke(t.contactHref)},t,n);return Le(Q(s,t),(function(e){return Ht(t,e),Le(e.text(),(function(t){const n=(i=t,new Kt.XMLParser({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(i)),r=Qt().get(n,\"prop.lockdiscovery.activelock.locktoken.href\"),o=Qt().get(n,\"prop.lockdiscovery.activelock.timeout\");var i;if(!r)throw qt(e,\"No lock token received: \");return{token:r,serverTimeout:o}}))}))})),Fe=\"Infinite, Second-4100000000\";function De(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Be=function(t){return function(){for(var e=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};const n=e.path||\"/\",r=tt({url:y(t.remoteURL,n),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,e);return De(Q(r,t),(function(n){return Ht(t,n),De(n.text(),(function(t){return De(ne(t),(function(t){const r=function(t){try{const[e]=t.multistatus.response,{propstat:{prop:{\"quota-used-bytes\":n,\"quota-available-bytes\":r}}}=e;return void 0!==n&&void 0!==r?{used:parseInt(String(n),10),available:ie(r)}:null}catch(t){}return null}(t);return Xt(n,r,e.details)}))}))}))}));function We(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ve=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,o=tt({url:y(t.remoteURL,f(e)),method:\"SEARCH\",headers:{Accept:\"text/plain,application/xml\",\"Content-Type\":t.headers[\"Content-Type\"]||\"application/xml; charset=utf-8\"}},t,n);return We(Q(o,t),(function(n){return Ht(t,n),We(n.text(),(function(t){return We(ne(t),(function(t){const o=function(t,e,n){const r={truncated:!1,results:[]};return r.truncated=t.multistatus.response.some((t=>\"507\"===(t.status||t.propstat?.status).split(\" \",3)?.[1]&&t.href.replace(/\\/$/,\"\").endsWith(f(e).replace(/\\/$/,\"\")))),t.multistatus.response.forEach((t=>{if(void 0===t.propstat)return;const e=t.href.split(\"/\").map(decodeURIComponent).join(\"/\");r.results.push(re(t.propstat.prop,e,n))})),r}(t,e,r);return Xt(n,o,r)}))}))}))})),ze=function(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"MOVE\",headers:{Destination:y(t.remoteURL,f(n)),Overwrite:!1===r.overwrite?\"F\":\"T\"}},t,r);return s=function(e){Ht(t,e)},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s}));var Ge=n(172);const qe=function(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const{contentLength:o=!0,overwrite:i=!0}=r,s={\"Content-Type\":\"application/octet-stream\"};!1===o||(s[\"Content-Length\"]=\"number\"==typeof o?`${o}`:`${function(t){if(H(t))return t.byteLength;if(X(t))return t.length;if(\"string\"==typeof t)return(0,Ge.d)(t);throw new u({info:{code:I.DataTypeNoLength}},\"Cannot calculate data length: Invalid type\")}(n)}`),i||(s[\"If-None-Match\"]=\"*\");const a=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:s,data:n},t,r);return l=function(e){try{Ht(t,e)}catch(t){const e=t;if(412!==e.status||i)throw e;return!1}return!0},(c=Q(a,t))&&c.then||(c=Promise.resolve(c)),l?c.then(l):c;var c,l})),He=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"OPTIONS\"},t,n);return i=function(e){try{Ht(t,e)}catch(t){throw t}return{compliance:(e.headers.get(\"DAV\")??\"\").split(\",\").map((t=>t.trim())),server:e.headers.get(\"Server\")??\"\"}},(o=Q(r,t))&&o.then||(o=Promise.resolve(o)),i?o.then(i):o;var o,i}));function Xe(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ze=Je((function(t,e,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new u({info:{code:I.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const s={\"Content-Type\":\"application/octet-stream\",\"Content-Length\":\"\"+(r-n+1),\"Content-Range\":`bytes ${n}-${r}/*`},a=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:s,data:o},t,i);return Xe(Q(a,t),(function(e){Ht(t,e)}))}));function Ye(t,e){var n=t();return n&&n.then?n.then(e):e(n)}const Ke=Je((function(t,e,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new u({info:{code:I.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const s={\"Content-Type\":\"application/x-sabredav-partialupdate\",\"Content-Length\":\"\"+(r-n+1),\"X-Update-Range\":`bytes=${n}-${r}`},a=tt({url:y(t.remoteURL,f(e)),method:\"PATCH\",headers:s,data:o},t,i);return Xe(Q(a,t),(function(e){Ht(t,e)}))}));function Je(t){return function(){for(var e=[],n=0;n5&&void 0!==arguments[5]?arguments[5]:{};return Xe(He(t,e,i),(function(s){let a=!1;return Ye((function(){if(s.compliance.includes(\"sabredav-partialupdate\"))return Xe(Ke(t,e,n,r,o,i),(function(t){return a=!0,t}))}),(function(c){let l=!1;return a?c:Ye((function(){if(s.server.includes(\"Apache\")&&s.compliance.includes(\"\"))return Xe(Ze(t,e,n,r,o,i),(function(t){return l=!0,t}))}),(function(t){if(l)return t;throw new u({info:{code:I.NotSupported}},\"Not supported\")}))}))}))})),tn=\"https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md\";function en(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{authType:n=null,remoteBasePath:r,contactHref:o=tn,ha1:i,headers:s={},httpAgent:a,httpsAgent:c,password:l,token:h,username:p,withCredentials:d}=e;let g=n;g||(g=p||l?C.Password:C.None);const v={authType:g,remoteBasePath:r,contactHref:o,ha1:i,headers:Object.assign({},s),httpAgent:a,httpsAgent:c,password:l,remotePath:m(t),remoteURL:t,token:h,username:p,withCredentials:d};return k(v,p,l,h,i),{copyFile:(t,e,n)=>Zt(v,t,e,n),createDirectory:(t,e)=>ye(v,t,e),createReadStream:(t,e)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new(0,be().PassThrough);return we(t,e,n).then((t=>{t.pipe(r)})).catch((t=>{r.emit(\"error\",t)})),r}(v,t,e),createWriteStream:(t,e,n)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:xe;const o=new(0,be().PassThrough),i={};!1===n.overwrite&&(i[\"If-None-Match\"]=\"*\");const s=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:i,data:o,maxRedirects:0},t,n);return Q(s,t).then((e=>Ht(t,e))).then((t=>{setTimeout((()=>{r(t)}),0)})).catch((t=>{o.emit(\"error\",t)})),o}(v,t,e,n),customRequest:(t,e)=>Ne(v,t,e),deleteFile:(t,e)=>Pe(v,t,e),exists:(t,e)=>Ae(v,t,e),getDirectoryContents:(t,e)=>Ee(v,t,e),getFileContents:(t,e)=>Ce(v,t,e),getFileDownloadLink:t=>function(t,e){let n=y(t.remoteURL,f(e));const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=O(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new u({info:{code:I.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getFileUploadLink:t=>function(t,e){let n=`${y(t.remoteURL,f(e))}?Content-Type=application/octet-stream`;const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=O(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new u({info:{code:I.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getHeaders:()=>Object.assign({},v.headers),getQuota:t=>Be(v,t),lock:(t,e)=>Ue(v,t,e),moveFile:(t,e,n)=>ze(v,t,e,n),putFileContents:(t,e,n)=>qe(v,t,e,n),partialUpdateFileContents:(t,e,n,r,o)=>Qe(v,t,e,n,r,o),getDAVCompliance:t=>He(v,t),search:(t,e)=>Ve(v,t,e),setHeaders:t=>{v.headers=Object.assign({},t)},stat:(t,e)=>ae(v,t,e),unlock:(t,e,n)=>Me(v,t,e,n)}}var nn=r.hT,rn=r.O4,on=r.Kd,sn=r.YK,an=r.UU,un=r.Gu,cn=r.ky,ln=r.h4,hn=r.ch,pn=r.hq,fn=r.i5;export{nn as AuthType,rn as ErrorCode,on as Request,sn as Response,an as createClient,un as getPatcher,cn as parseStat,ln as parseXML,hn as prepareFileFromProps,pn as processResponsePayload,fn as translateDiskSpace};","function loadState(app, key, fallback) {\n const elem = document.querySelector(`#initial-state-${app}-${key}`);\n if (elem === null) {\n if (fallback !== void 0) {\n return fallback;\n }\n throw new Error(`Could not find initial state ${key} of ${app}`);\n }\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(`Could not parse initial state ${key} of ${app}`);\n }\n}\nexport {\n loadState\n};\n","import { loadState } from \"@nextcloud/initial-state\";\nfunction isPublicShare() {\n return loadState(\"files_sharing\", \"isPublic\", null) ?? document.querySelector(\n 'input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]'\n ) !== null;\n}\nfunction getSharingToken() {\n return loadState(\"files_sharing\", \"sharingToken\", null) ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value ?? null;\n}\nexport {\n getSharingToken,\n isPublicShare\n};\n","/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param {Function} func - The function to be wrapped and called.\n * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param {Function} func - The constructor function to be wrapped and called.\n * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n\n/**\n * Add properties to a lookup table\n *\n * @param {Object} set - The set to which elements will be added.\n * @param {Array} array - The array containing elements to be added to the set.\n * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns {Object} The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n\n/**\n * Clean up an array to harden against CSPP\n *\n * @param {Array} array - The array to be cleaned.\n * @returns {Array} The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n\n/**\n * Shallow clone an object\n *\n * @param {Object} object - The object to be cloned.\n * @returns {Object} A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param {Object} object - The object to look up the getter function in its prototype chain.\n * @param {String} prop - The property name for which to find the getter function.\n * @returns {Function} The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n// SVG\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n ERB_EXPR: ERB_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR,\n DATA_ATTR: DATA_ATTR,\n ARIA_ATTR: ARIA_ATTR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n DOCTYPE_NAME: DOCTYPE_NAME,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT\n});\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return {TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '3.1.6';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES),\n // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR,\n // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS),\n // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS,\n // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'annotation-xml']);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n\n /**\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param {Node} root The root element or node to start traversing on.\n * @return {NodeIterator} The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n };\n\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param {Node} object object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function _isNode(object) {\n return typeof Node === 'function' && object instanceof Node;\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n arrayForEach(hooks[entryPoint], hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param {string} tagName name of the tag of the node to sanitize\n * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n const {\n attributes\n } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n let l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} cfg object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {String} tag Tag name of containing element.\n * @param {String} attr Attribute name.\n * @param {String} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { join, basename, extname, dirname } from \"path\";\nimport { encodePath } from \"@nextcloud/paths\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { CancelablePromise } from \"cancelable-promise\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/files\").detectUser().build();\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar Permission = /* @__PURE__ */ ((Permission2) => {\n Permission2[Permission2[\"NONE\"] = 0] = \"NONE\";\n Permission2[Permission2[\"CREATE\"] = 4] = \"CREATE\";\n Permission2[Permission2[\"READ\"] = 1] = \"READ\";\n Permission2[Permission2[\"UPDATE\"] = 2] = \"UPDATE\";\n Permission2[Permission2[\"DELETE\"] = 8] = \"DELETE\";\n Permission2[Permission2[\"SHARE\"] = 16] = \"SHARE\";\n Permission2[Permission2[\"ALL\"] = 31] = \"ALL\";\n return Permission2;\n})(Permission || {});\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nconst registerDavProperty = function(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n const namespaces = { ...window._nc_dav_namespaces, ...namespace };\n if (window._nc_dav_properties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n window._nc_dav_properties.push(prop);\n window._nc_dav_namespaces = namespaces;\n return true;\n};\nconst getDavProperties = function() {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n }\n return window._nc_dav_properties.map((prop) => `<${prop} />`).join(\" \");\n};\nconst getDavNameSpaces = function() {\n if (typeof window._nc_dav_namespaces === \"undefined\") {\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n return Object.keys(window._nc_dav_namespaces).map((ns) => `xmlns:${ns}=\"${window._nc_dav_namespaces?.[ns]}\"`).join(\" \");\n};\nconst davGetDefaultPropfind = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n};\nconst davGetFavoritesReport = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n};\nconst davGetRecentSearch = function(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\nconst davParsePermissions = function(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"C\") || permString.includes(\"K\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\") || permString.includes(\"N\") || permString.includes(\"V\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n};\nvar FileType = /* @__PURE__ */ ((FileType2) => {\n FileType2[\"Folder\"] = \"folder\";\n FileType2[\"File\"] = \"file\";\n return FileType2;\n})(FileType || {});\nconst isDavRessource = function(source, davService) {\n return source.match(davService) !== null;\n};\nconst validateData = (data, davService) => {\n if (data.id && typeof data.id !== \"number\") {\n throw new Error(\"Invalid id type of value\");\n }\n if (!data.source) {\n throw new Error(\"Missing mandatory source\");\n }\n try {\n new URL(data.source);\n } catch (e) {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!data.source.startsWith(\"http\")) {\n throw new Error(\"Invalid source format, only http(s) is supported\");\n }\n if (data.displayname && typeof data.displayname !== \"string\") {\n throw new Error(\"Invalid displayname type\");\n }\n if (data.mtime && !(data.mtime instanceof Date)) {\n throw new Error(\"Invalid mtime type\");\n }\n if (data.crtime && !(data.crtime instanceof Date)) {\n throw new Error(\"Invalid crtime type\");\n }\n if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error(\"Missing or invalid mandatory mime\");\n }\n if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n throw new Error(\"Invalid size type\");\n }\n if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n throw new Error(\"Invalid permissions\");\n }\n if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n throw new Error(\"Invalid owner type\");\n }\n if (data.attributes && typeof data.attributes !== \"object\") {\n throw new Error(\"Invalid attributes type\");\n }\n if (data.root && typeof data.root !== \"string\") {\n throw new Error(\"Invalid root type\");\n }\n if (data.root && !data.root.startsWith(\"/\")) {\n throw new Error(\"Root must start with a leading slash\");\n }\n if (data.root && !data.source.includes(data.root)) {\n throw new Error(\"Root must be part of the source\");\n }\n if (data.root && isDavRessource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n }\n if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n throw new Error(\"Status must be a valid NodeStatus\");\n }\n};\nvar NodeStatus = /* @__PURE__ */ ((NodeStatus2) => {\n NodeStatus2[\"NEW\"] = \"new\";\n NodeStatus2[\"FAILED\"] = \"failed\";\n NodeStatus2[\"LOADING\"] = \"loading\";\n NodeStatus2[\"LOCKED\"] = \"locked\";\n return NodeStatus2;\n})(NodeStatus || {});\nclass Node {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n handler = {\n set: (target, prop, value) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.deleteProperty(target, prop);\n },\n // TODO: This is deprecated and only needed for files v3\n get: (target, prop, receiver) => {\n if (this.readonlyAttributes.includes(prop)) {\n logger.warn(`Accessing \"Node.attributes.${prop}\" is deprecated, access it directly on the Node instance.`);\n return Reflect.get(this, prop);\n }\n return Reflect.get(target, prop, receiver);\n }\n };\n constructor(data, davService) {\n validateData(data, davService || this._knownDavService);\n this._data = {\n // TODO: Remove with next major release, this is just for compatibility\n displayname: data.attributes?.displayname,\n ...data,\n attributes: {}\n };\n this._attributes = new Proxy(this._data.attributes, this.handler);\n this.update(data.attributes ?? {});\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin } = new URL(this.source);\n return origin + encodePath(this.source.slice(origin.length));\n }\n /**\n * Get this object name\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * The nodes displayname\n * By default the display name and the `basename` are identical,\n * but it is possible to have a different name. This happens\n * on the files app for example for shared folders.\n */\n get displayname() {\n return this._data.displayname || this.basename;\n }\n /**\n * Set the displayname\n */\n set displayname(displayname) {\n this._data.displayname = displayname;\n }\n /**\n * Get this object's extension\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n *\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get dirname() {\n if (this.root) {\n let source = this.source;\n if (this.isDavRessource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return dirname(source.slice(firstMatch + root.length) || \"/\");\n }\n const url = new URL(this.source);\n return dirname(url.pathname);\n }\n /**\n * Get the file mime\n * There is no setter as the mime is not meant to be changed\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Set the file modification time\n */\n set mtime(mtime) {\n this._data.mtime = mtime;\n }\n /**\n * Get the file creation time\n * There is no setter as the creation time is not meant to be changed\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Set the file size\n */\n set size(size) {\n this.updateMtime();\n this._data.size = size;\n }\n /**\n * Get the file attribute\n * This contains all additional attributes not provided by the Node class\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n if (this.owner === null && !this.isDavRessource) {\n return Permission.READ;\n }\n return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n }\n /**\n * Set the file permissions\n */\n set permissions(permissions) {\n this.updateMtime();\n this._data.permissions = permissions;\n }\n /**\n * Get the file owner\n * There is no setter as the owner is not meant to be changed\n */\n get owner() {\n if (!this.isDavRessource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return isDavRessource(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n * There is no setter as the root is not meant to be changed\n */\n get root() {\n if (this._data.root) {\n return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n }\n if (this.isDavRessource) {\n const root = dirname(this.source);\n return root.split(this._knownDavService).pop() || null;\n }\n return null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n let source = this.source;\n if (this.isDavRessource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return source.slice(firstMatch + root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * There is no setter as the fileid is not meant to be changed\n */\n get fileid() {\n return this._data?.id;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(status) {\n this._data.status = status;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n const oldBasename = this.basename;\n this._data.source = destination;\n if (this.displayname === oldBasename && this.basename !== oldBasename) {\n this.displayname = this.basename;\n }\n this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(basename2) {\n if (basename2.includes(\"/\")) {\n throw new Error(\"Invalid basename\");\n }\n this.move(dirname(this.source) + \"/\" + basename2);\n }\n /**\n * Update the mtime if exists\n */\n updateMtime() {\n if (this._data.mtime) {\n this._data.mtime = /* @__PURE__ */ new Date();\n }\n }\n /**\n * Update the attributes of the node\n * Warning, updating attributes will NOT automatically update the mtime.\n *\n * @param attributes The new attributes to update on the Node attributes\n */\n update(attributes) {\n for (const [name, value] of Object.entries(attributes)) {\n try {\n if (value === void 0) {\n delete this.attributes[name];\n } else {\n this.attributes[name] = value;\n }\n } catch (e) {\n if (e instanceof TypeError) {\n continue;\n }\n throw e;\n }\n }\n }\n}\nclass File extends Node {\n get type() {\n return FileType.File;\n }\n}\nclass Folder extends Node {\n constructor(data) {\n super({\n ...data,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\nfunction davGetRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst davRootPath = davGetRootPath();\nfunction davGetRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst davRemoteURL = davGetRemoteURL();\nconst davGetClient = function(remoteURL = davRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n};\nconst getFavoriteNodes = (davClient, path = \"/\", davRoot = davRootPath) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await davClient.getDirectoryContents(`${davRoot}${path}`, {\n signal: controller.signal,\n details: true,\n data: davGetFavoritesReport(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n const nodes = contentsResponse.data.filter((node) => node.filename !== path).map((result) => davResultToNode(result, davRoot));\n resolve(nodes);\n } catch (error) {\n reject(error);\n }\n });\n};\nconst davResultToNode = function(node, filesRoot = davRootPath, remoteURL = davRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = davParsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: new Date(Date.parse(node.lastmod)),\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n) => `(${n})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a, b) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator$2 = {};\nvar util$3 = {};\n(function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n if (arrayMode === \"strict\") {\n target[keys[i]] = [a[keys[i]]];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n})(util$3);\nconst util$2 = util$3;\nconst defaultOptions$2 = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nvalidator$2.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions$2, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i = 0; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\" && xmlData[i + 1] === \"?\") {\n i += 2;\n i = readPI(xmlData, i);\n if (i.err) return i;\n } else if (xmlData[i] === \"<\") {\n let tagStartPos = i;\n i++;\n if (xmlData[i] === \"!\") {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === \"/\") {\n closingTag = true;\n i++;\n }\n let tagName = \"\";\n for (; i < xmlData.length && xmlData[i] !== \">\" && xmlData[i] !== \" \" && xmlData[i] !== \"\t\" && xmlData[i] !== \"\\n\" && xmlData[i] !== \"\\r\"; i++) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i));\n }\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\") {\n if (xmlData[i + 1] === \"!\") {\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i + 1] === \"?\") {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else {\n break;\n }\n } else if (xmlData[i] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n }\n if (xmlData[i] === \"<\") {\n i--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i] + \"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t2) => t2.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n};\nfunction isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n}\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == \"?\" || xmlData[i] == \" \") {\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == \"?\" && xmlData[i + 1] == \">\") {\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \"-\") {\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === \"-\" && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \">\") {\n i += 2;\n break;\n }\n }\n } else if (xmlData.length > i + 8 && xmlData[i + 1] === \"D\" && xmlData[i + 2] === \"O\" && xmlData[i + 3] === \"C\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"Y\" && xmlData[i + 6] === \"P\" && xmlData[i + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i + 9 && xmlData[i + 1] === \"[\" && xmlData[i + 2] === \"C\" && xmlData[i + 3] === \"D\" && xmlData[i + 4] === \"A\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"A\" && xmlData[i + 7] === \"[\") {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === \"]\" && xmlData[i + 1] === \"]\" && xmlData[i + 2] === \">\") {\n i += 2;\n break;\n }\n }\n }\n return i;\n}\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\nfunction readAttributeStr(xmlData, i) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i,\n tagClosed\n };\n}\nconst validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction validateAttributeString(attrStr, options) {\n const matches = util$2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i][2] + \"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n return true;\n}\nfunction validateNumberAmpersand(xmlData, i) {\n let re2 = /\\d/;\n if (xmlData[i] === \"x\") {\n i++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === \";\")\n return i;\n if (!xmlData[i].match(re2))\n break;\n }\n return -1;\n}\nfunction validateAmpersand(xmlData, i) {\n i++;\n if (xmlData[i] === \";\")\n return -1;\n if (xmlData[i] === \"#\") {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === \";\")\n break;\n return -1;\n }\n return i;\n}\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n}\nfunction validateAttrName(attrName) {\n return util$2.isName(attrName);\n}\nfunction validateTagName(tagname) {\n return util$2.isName(tagname);\n}\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\nvar OptionsBuilder = {};\nconst defaultOptions$1 = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val2) {\n return val2;\n },\n attributeValueProcessor: function(attrName, val2) {\n return val2;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n};\nconst buildOptions$1 = function(options) {\n return Object.assign({}, defaultOptions$1, options);\n};\nOptionsBuilder.buildOptions = buildOptions$1;\nOptionsBuilder.defaultOptions = defaultOptions$1;\nclass XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val2) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val2 });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n}\nvar xmlNode$1 = XmlNode;\nconst util$1 = util$3;\nfunction readDocType$1(xmlData, i) {\n const entities = {};\n if (xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"C\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"Y\" && xmlData[i + 7] === \"P\" && xmlData[i + 8] === \"E\") {\n i = i + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i)) {\n i += 7;\n [entityName, val, i] = readEntityExp(xmlData, i + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i)) i += 8;\n else if (hasBody && isAttlist(xmlData, i)) i += 8;\n else if (hasBody && isNotation(xmlData, i)) i += 9;\n else if (isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === \">\") {\n if (comment) {\n if (xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i };\n}\nfunction readEntityExp(xmlData, i) {\n let entityName2 = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"'); i++) {\n entityName2 += xmlData[i];\n }\n entityName2 = entityName2.trim();\n if (entityName2.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i++];\n let val2 = \"\";\n for (; i < xmlData.length && xmlData[i] !== startChar; i++) {\n val2 += xmlData[i];\n }\n return [entityName2, val2, i];\n}\nfunction isComment(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"-\" && xmlData[i + 3] === \"-\") return true;\n return false;\n}\nfunction isEntity(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"N\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"I\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"Y\") return true;\n return false;\n}\nfunction isElement(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"L\" && xmlData[i + 4] === \"E\" && xmlData[i + 5] === \"M\" && xmlData[i + 6] === \"E\" && xmlData[i + 7] === \"N\" && xmlData[i + 8] === \"T\") return true;\n return false;\n}\nfunction isAttlist(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"A\" && xmlData[i + 3] === \"T\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"L\" && xmlData[i + 6] === \"I\" && xmlData[i + 7] === \"S\" && xmlData[i + 8] === \"T\") return true;\n return false;\n}\nfunction isNotation(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"N\" && xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"A\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"I\" && xmlData[i + 8] === \"O\" && xmlData[i + 9] === \"N\") return true;\n return false;\n}\nfunction validateEntityName(name) {\n if (util$1.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\nvar DocTypeReader = readDocType$1;\nconst hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\nconst consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n};\nfunction toNumber$1(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n}\nfunction trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n}\nvar strnum = toNumber$1;\nconst util = util$3;\nconst xmlNode = xmlNode$1;\nconst readDocType = DocTypeReader;\nconst toNumber = strnum;\nlet OrderedObjParser$1 = class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue$1;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n }\n};\nfunction addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n}\nfunction parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val2 !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val2 = val2.trim();\n }\n if (val2.length > 0) {\n if (!escapeEntities) val2 = this.replaceEntitiesValue(val2);\n const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val2;\n } else if (typeof newval !== typeof val2 || newval !== val2) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val2.trim();\n if (trimmedVal === val2) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val2;\n }\n }\n }\n }\n}\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\nconst attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (!this.options.ignoreAttributes && typeof attrStr === \"string\") {\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i = 0; i < xmlData.length; i++) {\n const ch = xmlData[i];\n if (ch === \"<\") {\n if (xmlData[i + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i = closeIndex;\n } else if (xmlData[i + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i = tagData.closeIndex + 1;\n } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i = endIndex;\n } else if (xmlData.substr(i + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n } else if (xmlData.substr(i + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val2 == void 0) val2 = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val2);\n }\n i = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n } else {\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n};\nfunction addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n}\nconst replaceEntitiesValue$1 = function(val2) {\n if (this.options.processEntities) {\n for (let entityName2 in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName2];\n val2 = val2.replace(entity.regx, entity.val);\n }\n for (let entityName2 in this.lastEntities) {\n const entity = this.lastEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName2 in this.htmlEntities) {\n const entity = this.htmlEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n }\n val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val2;\n};\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\nfunction isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n}\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n}\nfunction findClosingIndex(xmlData, str, i, errMsg) {\n const closingIndex = xmlData.indexOf(str, i);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n}\nfunction readTagExp(xmlData, i, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n}\nfunction readStopNodeData(xmlData, tagName, i) {\n const startIndex = i;\n let openTagCount = 1;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\") {\n if (xmlData[i + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i: closeIndex\n };\n }\n }\n i = closeIndex;\n } else if (xmlData[i + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i + 1, \"StopNode is not closed.\");\n i = closeIndex;\n } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i + 3, \"StopNode is not closed.\");\n i = closeIndex;\n } else if (xmlData.substr(i + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i = tagData.closeIndex;\n }\n }\n }\n }\n}\nfunction parseValue(val2, shouldParse, options) {\n if (shouldParse && typeof val2 === \"string\") {\n const newval = val2.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val2, options);\n } else {\n if (util.isExist(val2)) {\n return val2;\n } else {\n return \"\";\n }\n }\n}\nvar OrderedObjParser_1 = OrderedObjParser$1;\nvar node2json = {};\nfunction prettify$1(node, options) {\n return compress(node, options);\n}\nfunction compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName$1(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val2 = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val2, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val2, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val2 = val2[options.textNodeName];\n } else if (Object.keys(val2).length === 0) {\n if (options.alwaysCreateTextNode) val2[options.textNodeName] = \"\";\n else val2 = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val2);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val2];\n } else {\n compressedObj[property] = val2;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\nfunction propName$1(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\nfunction assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\nfunction isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n}\nnode2json.prettify = prettify$1;\nconst { buildOptions } = OptionsBuilder;\nconst OrderedObjParser2 = OrderedObjParser_1;\nconst { prettify } = node2json;\nconst validator$1 = validator$2;\nlet XMLParser$1 = class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator$1.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser2(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n};\nvar XMLParser_1 = XMLParser$1;\nconst EOL = \"\\n\";\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n}\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nvar orderedJs2Xml = toXml;\nconst buildFromOrderedJs = orderedJs2Xml;\nconst defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n}\nBuilder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0).val;\n }\n};\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = \"\";\n let val2 = \"\";\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val2 += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val2 += \"\";\n } else if (key[0] === \"?\") {\n val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val2 += this.replaceEntitiesValue(newval);\n } else {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1);\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val2 += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], \"\" + jObj[key][Ks[j]]);\n }\n } else {\n val2 += this.processTextOrObjNode(jObj[key], key, level);\n }\n }\n }\n return { attrStr, val: val2 };\n};\nBuilder.prototype.buildAttrPairStr = function(attrName, val2) {\n val2 = this.options.attributeValueProcessor(attrName, \"\" + val2);\n val2 = this.replaceEntitiesValue(val2);\n if (this.options.suppressBooleanAttributes && val2 === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val2 + '\"';\n};\nfunction processTextOrObjNode(object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\nBuilder.prototype.buildObjectNode = function(val2, key, attrStr, level) {\n if (val2 === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"\" + val2 + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp;\n }\n }\n};\nBuilder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val2);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \" 0 && this.options.processEntities) {\n for (let i = 0; i < this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n};\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\nfunction isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\nvar json2xml = Builder;\nconst validator = validator$2;\nconst XMLParser2 = XMLParser_1;\nconst XMLBuilder = json2xml;\nvar fxp = {\n XMLParser: XMLParser2,\n XMLValidator: validator,\n XMLBuilder\n};\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxp.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxp.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (view.columns && view.columns.length > 0 && (!view.caption || typeof view.caption !== \"string\")) {\n throw new Error(\"View caption is required for top-level views and must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (!(\"order\" in view) || typeof view.order !== \"number\") {\n throw new Error(\"View order is required and must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nconst debug$1 = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n};\nvar debug_1 = debug$1;\nconst SEMVER_SPEC_VERSION = \"2.0.0\";\nconst MAX_LENGTH$1 = 256;\nconst MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n9007199254740991;\nconst MAX_SAFE_COMPONENT_LENGTH = 16;\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH$1 - 6;\nconst RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n];\nvar constants = {\n MAX_LENGTH: MAX_LENGTH$1,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n};\nvar re$1 = { exports: {} };\n(function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH2,\n MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH2,\n MAX_LENGTH: MAX_LENGTH2\n } = constants;\n const debug2 = debug_1;\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH2],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH2]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug2(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH2}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n})(re$1, re$1.exports);\nvar reExports = re$1.exports;\nconst looseOption = Object.freeze({ loose: true });\nconst emptyOpts = Object.freeze({});\nconst parseOptions$1 = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n};\nvar parseOptions_1 = parseOptions$1;\nconst numeric = /^[0-9]+$/;\nconst compareIdentifiers$1 = (a, b) => {\n const anum = numeric.test(a);\n const bnum = numeric.test(b);\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\nconst rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a);\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers\n};\nconst debug = debug_1;\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = constants;\nconst { safeRe: re, t } = reExports;\nconst parseOptions = parseOptions_1;\nconst { compareIdentifiers } = identifiers;\nlet SemVer$2 = class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m[5] ? m[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i = 0;\n do {\n const a = this.prerelease[i];\n const b = other.prerelease[i];\n debug(\"prerelease compare\", i, a, b);\n if (a === void 0 && b === void 0) {\n return 0;\n } else if (b === void 0) {\n return 1;\n } else if (a === void 0) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i = 0;\n do {\n const a = this.build[i];\n const b = other.build[i];\n debug(\"build compare\", i, a, b);\n if (a === void 0 && b === void 0) {\n return 0;\n } else if (b === void 0) {\n return 1;\n } else if (a === void 0) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === \"number\") {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n};\nvar semver = SemVer$2;\nconst SemVer$1 = semver;\nconst parse$1 = (version, options, throwErrors = false) => {\n if (version instanceof SemVer$1) {\n return version;\n }\n try {\n return new SemVer$1(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n};\nvar parse_1 = parse$1;\nconst parse = parse_1;\nconst valid = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n};\nvar valid_1 = valid;\nconst valid$1 = /* @__PURE__ */ getDefaultExportFromCjs(valid_1);\nconst SemVer2 = semver;\nconst major = (a, loose) => new SemVer2(a, loose).major;\nvar major_1 = major;\nconst major$1 = /* @__PURE__ */ getDefaultExportFromCjs(major_1);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid$1(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major$1(bus2.getVersion()) !== major$1(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h) => h !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h) => {\n try {\n h(event);\n } catch (e) {\n console.error(\"could not invoke event listener\", e);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a, b) => {\n if (a.order !== void 0 && b.order !== void 0 && a.order !== b.order) {\n return a.order - b.order;\n }\n return a.displayName.localeCompare(b.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n File,\n FileAction,\n FileListFilter,\n FileType,\n FilesSortingMode,\n Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n Node,\n NodeStatus,\n Permission,\n View,\n addNewFileMenuEntry,\n davGetClient,\n davGetDefaultPropfind,\n davGetFavoritesReport,\n davGetRecentSearch,\n davGetRemoteURL,\n davGetRootPath,\n davParsePermissions,\n davRemoteURL,\n davResultToNode,\n davRootPath,\n defaultDavNamespaces,\n defaultDavProperties,\n formatFileSize,\n getDavNameSpaces,\n getDavProperties,\n getFavoriteNodes,\n getFileActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n registerDavProperty,\n registerFileAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return ''\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import Axios from \"axios\";\nimport { isAxiosError, isCancel } from \"axios\";\nimport { getRequestToken, onRequestTokenUpdate } from \"@nextcloud/auth\";\nimport { generateUrl } from \"@nextcloud/router\";\nconst RETRY_KEY = Symbol(\"csrf-retry\");\nconst onError$2 = (axios) => async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n if (status === 412 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === \"CSRF check failed\" && config[RETRY_KEY] === void 0) {\n console.warn(\"Request to \".concat(responseURL, \" failed because of a CSRF mismatch. Fetching a new token\"));\n const { data: { token } } = await axios.get(generateUrl(\"/csrftoken\"));\n console.debug(\"New request token \".concat(token, \" fetched\"));\n axios.defaults.headers.requesttoken = token;\n return axios({\n ...config,\n headers: {\n ...config.headers,\n requesttoken: token\n },\n [RETRY_KEY]: true\n });\n }\n return Promise.reject(error);\n};\nconst RETRY_DELAY_KEY = Symbol(\"retryDelay\");\nconst onError$1 = (axios) => async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n const headers = response == null ? void 0 : response.headers;\n if (status === 503 && headers[\"x-nextcloud-maintenance-mode\"] === \"1\" && config.retryIfMaintenanceMode && (!config[RETRY_DELAY_KEY] || config[RETRY_DELAY_KEY] <= 32)) {\n const retryDelay = ((_a2 = config[RETRY_DELAY_KEY]) != null ? _a2 : 1) * 2;\n console.warn(\"Request to \".concat(responseURL, \" failed because of maintenance mode. Retrying in \").concat(retryDelay, \"s\"));\n await new Promise((resolve) => {\n setTimeout(resolve, retryDelay * 1e3);\n });\n return axios({\n ...config,\n [RETRY_DELAY_KEY]: retryDelay\n });\n }\n return Promise.reject(error);\n};\nconst onError = async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n if (status === 401 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === \"Current user is not logged in\" && config.reloadExpiredSession && (window == null ? void 0 : window.location)) {\n console.error(\"Request to \".concat(responseURL, \" failed because the user session expired. Reloading the page …\"));\n window.location.reload();\n }\n return Promise.reject(error);\n};\nvar _a;\nconst client = Axios.create({\n headers: {\n requesttoken: (_a = getRequestToken()) != null ? _a : \"\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n});\nconst cancelableClient = Object.assign(client, {\n CancelToken: Axios.CancelToken,\n isCancel: Axios.isCancel\n});\ncancelableClient.interceptors.response.use((r) => r, onError$2(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onError$1(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onError);\nonRequestTokenUpdate((token) => {\n client.defaults.headers.requesttoken = token;\n});\nexport {\n cancelableClient as default,\n isAxiosError,\n isCancel\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.37.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.37.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.generateUrl = exports.generateRemoteUrl = exports.generateOcsUrl = exports.generateFilePath = void 0;\nexports.getAppRootUrl = getAppRootUrl;\nexports.getRootUrl = getRootUrl;\nexports.linkTo = exports.imagePath = void 0;\nrequire(\"core-js/modules/es.string.replace.js\");\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexports.linkTo = linkTo;\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\nexports.generateRemoteUrl = generateRemoteUrl;\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\nexports.generateOcsUrl = generateOcsUrl;\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n const _build = function (text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n return _build(url, params || {});\n};\n\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\nconst generateUrl = (url, params, options) => {\n var _window;\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n if (((_window = window) === null || _window === void 0 || (_window = _window.OC) === null || _window === void 0 || (_window = _window.config) === null || _window === void 0 ? void 0 : _window.modRewriteWorking) === true && !allOptions.noRewrite) {\n return getRootUrl() + _generateUrlPath(url, params, options);\n }\n return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\nexports.generateUrl = generateUrl;\nconst imagePath = (app, file) => {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n return generateFilePath(app, 'img', file);\n};\n\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\nexports.imagePath = imagePath;\nconst generateFilePath = (app, type, file) => {\n var _window2;\n const isCore = ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.OC) === null || _window2 === void 0 || (_window2 = _window2.coreApps) === null || _window2 === void 0 ? void 0 : _window2.indexOf(app)) !== -1;\n let link = getRootUrl();\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n if (file !== 'index.php') {\n link += '/';\n if (type) {\n link += encodeURI(type + '/');\n }\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = getAppRootUrl(app);\n if (type) {\n link += '/' + type + '/';\n }\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n if (!isCore) {\n link += 'apps/';\n }\n if (app !== '') {\n app += '/';\n link += app;\n }\n if (type) {\n link += type + '/';\n }\n link += file;\n }\n return link;\n};\n\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\nexports.generateFilePath = generateFilePath;\nfunction getRootUrl() {\n let webroot = window._oc_webroot;\n if (typeof webroot === 'undefined') {\n webroot = location.pathname;\n const pos = webroot.indexOf('/index.php/');\n if (pos !== -1) {\n webroot = webroot.substr(0, pos);\n } else {\n webroot = webroot.substr(0, webroot.lastIndexOf('/'));\n }\n }\n return webroot;\n}\n\n/**\n * Return the web root path for a given app\n * @param {string} app The ID of the app\n */\nfunction getAppRootUrl(app) {\n var _window$_oc_appswebro, _webroots$app;\n const webroots = (_window$_oc_appswebro = window._oc_appswebroots) !== null && _window$_oc_appswebro !== void 0 ? _window$_oc_appswebro : {};\n return (_webroots$app = webroots[app]) !== null && _webroots$app !== void 0 ? _webroots$app : '';\n}\n//# sourceMappingURL=index.js.map","import { generateFilePath } from '@nextcloud/router';\nimport DOMPurify from 'dompurify';\nimport escapeHTML from 'escape-html';\n\n/// \n/**\n * Get the first day of the week\n *\n * @return {number}\n */\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ];\n }\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n }\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return [\n 'Jan.',\n 'Feb.',\n 'Mar.',\n 'Apr.',\n 'May.',\n 'Jun.',\n 'Jul.',\n 'Aug.',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Dec.',\n ];\n }\n return window.monthNamesShort;\n}\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n return document.documentElement.dataset.locale || 'en';\n}\n/**\n * Returns user's locale in canonical form\n * E.g. `en-US` instead of `en_US`\n */\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\nfunction getLanguage() {\n return document.documentElement.lang || 'en';\n}\n/**\n * Check whether the current, or a given, language is read right-to-left\n *\n * @param language Language code to check, defaults to current language\n */\nfunction isRTL(language) {\n const languageCode = language || getLanguage();\n // Source: https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code\n const rtlLanguages = [\n /* eslint-disable no-multi-spaces */\n 'ae',\n 'ar',\n 'arc',\n 'arz',\n 'bcc',\n 'bqi',\n 'ckb',\n 'dv',\n 'fa',\n 'glk',\n 'ha',\n 'he',\n 'khw',\n 'ks',\n 'ku',\n 'mzn',\n 'nqo',\n 'pnb',\n 'ps',\n 'sd',\n 'ug',\n 'ur',\n 'uzs',\n 'yi', // 'ייִדיש', Yiddish\n /* eslint-enable no-multi-spaces */\n ];\n // special case for Uzbek Afghan\n if ((language || getCanonicalLocale()).startsWith('uz-AF')) {\n return true;\n }\n return rtlLanguages.includes(languageCode);\n}\n\n/// \n/**\n * Check if translations and plural function are set for given app\n *\n * @param {string} appId the app id\n * @return {boolean}\n */\nfunction hasAppTranslations(appId) {\n var _a, _b;\n return (((_a = window._oc_l10n_registry_translations) === null || _a === void 0 ? void 0 : _a[appId]) !== undefined\n && ((_b = window._oc_l10n_registry_plural_functions) === null || _b === void 0 ? void 0 : _b[appId]) !== undefined);\n}\n/**\n * Register new, or extend available, translations for an app\n *\n * @param {string} appId the app id\n * @param {object} translations the translations list\n * @param {Function} pluralFunction the plural function\n */\nfunction registerAppTranslations(appId, translations, pluralFunction) {\n var _a;\n window._oc_l10n_registry_translations = Object.assign(window._oc_l10n_registry_translations || {}, {\n [appId]: Object.assign(((_a = window._oc_l10n_registry_translations) === null || _a === void 0 ? void 0 : _a[appId]) || {}, translations),\n });\n window._oc_l10n_registry_plural_functions = Object.assign(window._oc_l10n_registry_plural_functions || {}, {\n [appId]: pluralFunction,\n });\n}\n/**\n * Unregister all translations and plural function for given app\n *\n * @param {string} appId the app id\n */\nfunction unregisterAppTranslations(appId) {\n var _a, _b;\n (_a = window._oc_l10n_registry_translations) === null || _a === void 0 ? true : delete _a[appId];\n (_b = window._oc_l10n_registry_plural_functions) === null || _b === void 0 ? true : delete _b[appId];\n}\n/**\n * Get translations bundle for given app and current locale\n *\n * @param {string} appId the app id\n * @return {object}\n */\nfunction getAppTranslations(appId) {\n var _a, _b, _c, _d;\n return {\n translations: (_b = (_a = window._oc_l10n_registry_translations) === null || _a === void 0 ? void 0 : _a[appId]) !== null && _b !== void 0 ? _b : {},\n pluralFunction: (_d = (_c = window._oc_l10n_registry_plural_functions) === null || _c === void 0 ? void 0 : _c[appId]) !== null && _d !== void 0 ? _d : ((number) => number),\n };\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, number, options) {\n const defaultOptions = {\n escape: true,\n sanitize: true,\n };\n const allOptions = Object.assign({}, defaultOptions, options || {});\n const identity = (value) => value;\n const optSanitize = allOptions.sanitize ? DOMPurify.sanitize : identity;\n const optEscape = allOptions.escape ? escapeHTML : identity;\n // TODO: cache this function to avoid inline recreation\n // of the same function over and over again in case\n // translate() is used in a loop\n const _build = (text, vars, number) => {\n return text.replace(/%n/g, '' + number).replace(/{([^{}]*)}/g, (match, key) => {\n if (vars === undefined || !(key in vars)) {\n return optSanitize(match);\n }\n const r = vars[key];\n if (typeof r === 'string' || typeof r === 'number') {\n return optSanitize(optEscape(r));\n }\n else {\n return optSanitize(match);\n }\n });\n };\n const bundle = getAppTranslations(app);\n let translation = bundle.translations[text] || text;\n translation = Array.isArray(translation) ? translation[0] : translation;\n if (typeof vars === 'object' || number !== undefined) {\n return optSanitize(_build(translation, vars, number));\n }\n else {\n return optSanitize(translation);\n }\n}\n/**\n * Translate a string containing an object which possibly requires a plural form\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} number number to determine whether to use singular or plural\n * @param {object} vars of placeholder key to value\n * @param {object} options options object\n */\nfunction translatePlural(app, textSingular, textPlural, number, vars, options) {\n const identifier = '_' + textSingular + '_::_' + textPlural + '_';\n const bundle = getAppTranslations(app);\n const value = bundle.translations[identifier];\n if (typeof value !== 'undefined') {\n const translation = value;\n if (Array.isArray(translation)) {\n const plural = bundle.pluralFunction(number);\n return translate(app, translation[plural], vars, number, options);\n }\n }\n if (number === 1) {\n return translate(app, textSingular, vars, number, options);\n }\n else {\n return translate(app, textPlural, vars, number, options);\n }\n}\n/**\n * Load an app's translation bundle if not loaded already.\n *\n * @param {string} appName name of the app\n * @param {Function} callback callback to be called when\n * the translations are loaded\n * @return {Promise} promise\n */\nfunction loadTranslations(appName, callback) {\n if (hasAppTranslations(appName) || getLocale() === 'en') {\n return Promise.resolve().then(callback);\n }\n const url = generateFilePath(appName, 'l10n', getLocale() + '.json');\n const promise = new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open('GET', url, true);\n request.onerror = () => {\n reject(new Error(request.statusText || 'Network error'));\n };\n request.onload = () => {\n if (request.status >= 200 && request.status < 300) {\n try {\n const bundle = JSON.parse(request.responseText);\n if (typeof bundle.translations === 'object')\n resolve(bundle);\n }\n catch (error) {\n // error is probably a SyntaxError due to invalid response text, this is handled by next line\n }\n reject(new Error('Invalid content of translation bundle'));\n }\n else {\n reject(new Error(request.statusText));\n }\n };\n request.send();\n });\n // load JSON translation bundle per AJAX\n return promise\n .then((result) => {\n register(appName, result.translations);\n return result;\n })\n .then(callback);\n}\n/**\n * Register an app's translation bundle.\n *\n * @param {string} appName name of the app\n * @param {Object} bundle translation bundle\n */\nfunction register(appName, bundle) {\n registerAppTranslations(appName, bundle, getPlural);\n}\n/**\n * Unregister all translations of an app\n *\n * @param appName name of the app\n * @since 2.1.0\n */\nfunction unregister(appName) {\n return unregisterAppTranslations(appName);\n}\n/**\n * Get array index of translations for a plural form\n *\n *\n * @param {number} number the number of elements\n * @return {number} 0 for the singular form(, 1 for the first plural form, ...)\n */\nfunction getPlural(number) {\n let language = getLanguage();\n if (language === 'pt-BR') {\n // temporary set a locale for brazilian\n language = 'xbr';\n }\n if (language.length > 3) {\n language = language.substring(0, language.lastIndexOf('-'));\n }\n /*\n * The plural rules are derived from code of the Zend Framework (2010-09-25),\n * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd).\n * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)\n */\n switch (language) {\n case 'az':\n case 'bo':\n case 'dz':\n case 'id':\n case 'ja':\n case 'jv':\n case 'ka':\n case 'km':\n case 'kn':\n case 'ko':\n case 'ms':\n case 'th':\n case 'tr':\n case 'vi':\n case 'zh':\n return 0;\n case 'af':\n case 'bn':\n case 'bg':\n case 'ca':\n case 'da':\n case 'de':\n case 'el':\n case 'en':\n case 'eo':\n case 'es':\n case 'et':\n case 'eu':\n case 'fa':\n case 'fi':\n case 'fo':\n case 'fur':\n case 'fy':\n case 'gl':\n case 'gu':\n case 'ha':\n case 'he':\n case 'hu':\n case 'is':\n case 'it':\n case 'ku':\n case 'lb':\n case 'ml':\n case 'mn':\n case 'mr':\n case 'nah':\n case 'nb':\n case 'ne':\n case 'nl':\n case 'nn':\n case 'no':\n case 'oc':\n case 'om':\n case 'or':\n case 'pa':\n case 'pap':\n case 'ps':\n case 'pt':\n case 'so':\n case 'sq':\n case 'sv':\n case 'sw':\n case 'ta':\n case 'te':\n case 'tk':\n case 'ur':\n case 'zu':\n return number === 1 ? 0 : 1;\n case 'am':\n case 'bh':\n case 'fil':\n case 'fr':\n case 'gun':\n case 'hi':\n case 'hy':\n case 'ln':\n case 'mg':\n case 'nso':\n case 'xbr':\n case 'ti':\n case 'wa':\n return number === 0 || number === 1 ? 0 : 1;\n case 'be':\n case 'bs':\n case 'hr':\n case 'ru':\n case 'sh':\n case 'sr':\n case 'uk':\n return number % 10 === 1 && number % 100 !== 11\n ? 0\n : number % 10 >= 2\n && number % 10 <= 4\n && (number % 100 < 10 || number % 100 >= 20)\n ? 1\n : 2;\n case 'cs':\n case 'sk':\n return number === 1 ? 0 : number >= 2 && number <= 4 ? 1 : 2;\n case 'ga':\n return number === 1 ? 0 : number === 2 ? 1 : 2;\n case 'lt':\n return number % 10 === 1 && number % 100 !== 11\n ? 0\n : number % 10 >= 2 && (number % 100 < 10 || number % 100 >= 20)\n ? 1\n : 2;\n case 'sl':\n return number % 100 === 1\n ? 0\n : number % 100 === 2\n ? 1\n : number % 100 === 3 || number % 100 === 4\n ? 2\n : 3;\n case 'mk':\n return number % 10 === 1 ? 0 : 1;\n case 'mt':\n return number === 1\n ? 0\n : number === 0 || (number % 100 > 1 && number % 100 < 11)\n ? 1\n : number % 100 > 10 && number % 100 < 20\n ? 2\n : 3;\n case 'lv':\n return number === 0\n ? 0\n : number % 10 === 1 && number % 100 !== 11\n ? 1\n : 2;\n case 'pl':\n return number === 1\n ? 0\n : number % 10 >= 2\n && number % 10 <= 4\n && (number % 100 < 12 || number % 100 > 14)\n ? 1\n : 2;\n case 'cy':\n return number === 1\n ? 0\n : number === 2\n ? 1\n : number === 8 || number === 11\n ? 2\n : 3;\n case 'ro':\n return number === 1\n ? 0\n : number === 0 || (number % 100 > 0 && number % 100 < 20)\n ? 1\n : 2;\n case 'ar':\n return number === 0\n ? 0\n : number === 1\n ? 1\n : number === 2\n ? 2\n : number % 100 >= 3 && number % 100 <= 10\n ? 3\n : number % 100 >= 11 && number % 100 <= 99\n ? 4\n : 5;\n default:\n return 0;\n }\n}\n\nexport { getCanonicalLocale, getDayNames, getDayNamesMin, getDayNamesShort, getFirstDay, getLanguage, getLocale, getMonthNames, getMonthNamesShort, getPlural, isRTL, loadTranslations, register, translate, translatePlural, unregister };\n","export default \"\"","import axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { Node, View, Permission, Folder, FileAction } from '@nextcloud/files'\nimport { generateUrl } from '@nextcloud/router'\nimport { translate as t } from '@nextcloud/l10n'\n// import type VueRouter from 'vue-router'\nimport FolderZipSvg from '@mdi/svg/svg/folder-zip.svg?raw'\n\nexport const action = new FileAction({\n\tid: 'extract',\n\tdisplayName: () => t('extract', 'Extract here'),\n\ticonSvgInline: () => FolderZipSvg,\n\t// Only works on single files\n\tenabled(nodes: Node[]) {\n\t\t// Only works on single node\n\t\tif (nodes.length !== 1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (nodes[0].attributes.getcontenttype === 'application/zip'\n\t\t\t|| nodes[0].attributes.getcontenttype === 'application/x-tar'\n\t\t\t|| nodes[0].attributes.getcontenttype === 'application/gzip'\n\t\t\t|| nodes[0].attributes.getcontenttype === 'application/x-rar-compressed'\n\t\t\t|| nodes[0].attributes.getcontenttype === 'application/x-7z-compressed'\n\t\t\t|| nodes[0].attributes.getcontenttype === 'application/x-deb'\n\t\t\t|| nodes[0].attributes.getcontenttype === 'application/x-bzip2'\n\t\t) {\n\t\t\treturn (nodes[0].permissions & Permission.UPDATE) !== 0\n\t\t}\n\n\t\treturn false\n\t},\n\tasync exec(node: Node, view: View, dir: string) {\n\t\tvar data = {\n\t\t\tnameOfFile: node.attributes.basename,\n\t\t\tdirectory: dir,\n\t\t\texternal: node.attributes[\"mount-type\"].startsWith(\"external\") ? 1 : 0,\n\t\t\tmime: node.attributes.mime,\n\t\t};\n\t\tconst url = generateUrl('/apps/extract/ajax/extract.php')\n\t\taxios.post(url, data)\n\t\t\t.then(resp => resp.data)\n\t\t\t.then(data => {\n\t\t\t\t// We need the extracted folder so we can emit it in the next step.\n\t\t\t\t// Just like it's done when a new folder is created.\n\t\t\t\tconst time = data['extracted']['mtime'] * 1000\n\t\t\t\tconst folder = new Folder({\n\t\t\t\t\tid: data['extracted']['fileId'],\n\t\t\t\t\tsource: data['extracted']['source'],\n\t\t\t\t\troot: data['extracted']['root'],\n\t\t\t\t\towner: data['extracted']['owner'],\n\t\t\t\t\tpermissions: data['extracted']['permissions'],\n\t\t\t\t\tmtime: new Date(time),\n\t\t\t\t\t// Include mount-type from parent folder as this is inherited\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\t'mount-type': data['extracted']['mount-type'],\n\t\t\t\t\t\t'owner-id': data['extracted']['owner'],\n\t\t\t\t\t\t'owner-display-name': data['extracted']['owner-display-name'],\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\temit('files:node:created', folder)\n\n\t\t\t\twindow.OCP.Files.Router.goToRoute(\n\t\t\t\t\tnull, // use default route\n\t\t\t\t\t{ view: 'files', fileid: data['fileId'] },\n\t\t\t\t\t{ dir: dir },\n\t\t\t\t)\n\t\t\t\treturn null\n\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.log('Could not send extract request.')\n\t\t\t\tconsole.log(error)\n\t\t\t})\n\t\treturn null\n\t},\n\torder: 25,\n})"],"names":["getDefaultExportFromCjs","x","process","e","noop","process$1","debug","define_process_env_default","debug_1","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","constants","require$$0","require$$1","re","t","R","token","max","parseOptions","compareIdentifiers","a","b","require$$2","require$$3","require$$4","version","m","id","SemVer","parse","v","valid","major","h","_defineProperty","_toPropertyKey","_toPrimitive","r","_scopedstorage","_interopRequireDefault","dist","k","s","e2","getBuilder","uid","_a","self","code","isAbsolute","g","n","U","o","w","u","c","l","_","f","action","resolve","reject","global","i","d","y","p","N","P","A","O","E","T","j","S","$","C","I","getPrototypeOf","getOwnPropertyDescriptor","create","apply","freeze","seal","construct","stringIndexOf","set","html$1","html","getGlobal","_createTrustedTypesPolicy","window","document","Node","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","CUSTOM_ELEMENT","isRegexOrFunction","_parseConfig","_checkValidNamespace","_forceRemove","_removeAttribute","_initDocument","_createNodeIterator","_isClobbered","_isNode","_executeHook","data","_sanitizeElements","_isValidAttribute","_isBasicCustomElement","_sanitizeAttributes","_sanitizeShadowDOM","match","escape","join","origin","basename","extname","dirname","generateRemoteUrl","keys","toString","val","isObject","prototype","descriptors","filter","hasOwnProperty","buffer","rt","Buffer","byteLength","isBuffer","concat","indexOf","toJSON","min","utils","encode","URLSearchParams","FormData","Blob","platform","isFormData","isFileList","transitional","format","validateStatus","push","isURLSameOrigin","merge","signal","done","test","res","adapters","validators","validator","all","axios","generateUrl","Axios","fails","exec","NATIVE_BIND","FunctionPrototype","call","it","this","V","createPropertyDescriptor","uncurryThis","stringSlice","classofRaw","classof","$Object","isNullOrUndefined","$TypeError","requireObjectCoercible","toIndexedObject","isCallable","getBuiltIn","$String","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","isSymbol","tryToString","aCallable","getMethod","ordinaryToPrimitive","defineProperty","defineGlobalProperty","globalThis","store","sharedStoreModule","shared","toObject","hasOwn","require$$5","Symbol","wellKnownSymbol","toPrimitive","toPropertyKey","EXISTS","documentCreateElement","DESCRIPTORS","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","anObject","V8_PROTOTYPE_DEFINE_BUG","CONFIGURABLE","definePropertyModule","createNonEnumerableProperty","inspectSource","WeakMap","sharedKey","hiddenKeys","TypeError","getInternalState","replace","makeBuiltIn","makeBuiltInModule","defineBuiltIn","floor","trunc","toIntegerOrInfinity","toAbsoluteIndex","toLength","lengthOfArrayLike","createMethod","enumBugKeys","internalObjectKeys","ownKeys","copyConstructorProperties","isForced","normalize","TO_STRING_TAG","regexpFlags","$RegExp","UNSUPPORTED_Y","objectKeys","activeXDocument","require$$8","require$$9","charAt","regexpExec","advanceStringIndex","getSubstitution","replacement","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","nativeReplace","text","DOMPurify"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164]} \ No newline at end of file diff --git a/js/extract-init.mjs b/js/extract-init.mjs deleted file mode 100644 index 78aa268..0000000 --- a/js/extract-init.mjs +++ /dev/null @@ -1,7 +0,0 @@ -/*! third party licenses: js/vendor.LICENSE.txt */ -const appName = "extract"; -const appVersion = "1.4.0"; -import { r as registerFileAction, a as action } from "./extract-extractAction.mjs"; -/*! third party licenses: js/vendor.LICENSE.txt */ -registerFileAction(action); -//# sourceMappingURL=extract-init.mjs.map diff --git a/js/extract-init.mjs.map b/js/extract-init.mjs.map deleted file mode 100644 index 95bb851..0000000 --- a/js/extract-init.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"extract-init.mjs","sources":["../src/init.ts"],"sourcesContent":["import { registerFileAction } from '@nextcloud/files'\n\nimport { action as extractAction } from './actions/extract-action'\n\nregisterFileAction(extractAction)"],"names":["extractAction"],"mappings":";;;;;AAIA,mBAAmBA,MAAa;"} \ No newline at end of file diff --git a/js/vendor.LICENSE.txt b/js/vendor.LICENSE.txt deleted file mode 100644 index c29f615..0000000 --- a/js/vendor.LICENSE.txt +++ /dev/null @@ -1,85 +0,0 @@ -Included dependencies: - -@mdi/svg -version: 7.4.47 -license: Apache-2.0 - -@nextcloud/auth -version: 2.4.0 -license: GPL-3.0-or-later - -@nextcloud/axios -version: 2.5.0 -license: GPL-3.0 - -@nextcloud/browser-storage -version: 0.4.0 -license: GPL-3.0-or-later - -@nextcloud/event-bus -version: 3.3.1 -license: GPL-3.0-or-later - -@nextcloud/files -version: 3.8.0 -license: AGPL-3.0-or-later - -@nextcloud/initial-state -version: 2.2.0 -license: GPL-3.0-or-later - -@nextcloud/l10n -version: 2.2.0 -license: GPL-3.0-or-later - -@nextcloud/logger -version: 3.0.2 -license: GPL-3.0-or-later - -@nextcloud/paths -version: 2.2.1 -license: GPL-3.0-or-later - -@nextcloud/router -version: 3.0.1 -license: GPL-3.0-or-later - -@nextcloud/sharing -version: 0.2.3 -license: GPL-3.0-or-later - -axios -version: 1.7.7 -license: MIT - -cancelable-promise -version: 4.3.1 -license: MIT - -core-js -version: 3.37.0 -license: MIT - -dompurify -version: 3.1.6 -license: (MPL-2.0 OR Apache-2.0) - -escape-html -version: 1.0.3 -license: MIT - -path-browserify -version: 1.0.1 -license: MIT - -semver -version: 7.6.3 -license: ISC - -vite-plugin-node-polyfills -version: 0.22.0 -license: MIT - -webdav -version: 5.7.1 -license: MIT \ No newline at end of file