diff --git a/packages/action/dist/index.cjs b/packages/action/dist/index.cjs index 1842505c..0c625343 100644 --- a/packages/action/dist/index.cjs +++ b/packages/action/dist/index.cjs @@ -1,334 +1,454 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; +'use strict' +var __create = Object.create +var __defProp = Object.defineProperty +var __getOwnPropDesc = Object.getOwnPropertyDescriptor +var __getOwnPropNames = Object.getOwnPropertyNames +var __getProtoOf = Object.getPrototypeOf +var __hasOwnProp = Object.prototype.hasOwnProperty +var __esm = (fn, res) => + function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])((fn = 0))), res + } +var __commonJS = (cb, mod) => + function __require() { + return ( + mod || + (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), + mod.exports + ) + } var __export = (target, all) => { for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; + __defProp(target, name, { get: all[name], enumerable: true }) +} var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + __defProp(to, key, { + get: () => from[key], + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable + }) } - return to; -}; -var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + return to +} +var __reExport = (target, mod, secondTarget) => ( + __copyProps(target, mod, 'default'), + secondTarget && __copyProps(secondTarget, mod, 'default') +) +var __toESM = (mod, isNodeMode, target) => ( + (target = mod != null ? __create(__getProtoOf(mod)) : {}), + __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule + ? __defProp(target, 'default', { value: mod, enumerable: true }) + : target, + mod + ) +) +var __toCommonJS = (mod) => + __copyProps(__defProp({}, '__esModule', { value: true }), mod) // ../../node_modules/.pnpm/@actions+io@1.1.3/node_modules/@actions/io/lib/io-util.js var require_io_util = __commonJS({ - "../../node_modules/.pnpm/@actions+io@1.1.3/node_modules/@actions/io/lib/io-util.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+io@1.1.3/node_modules/@actions/io/lib/io-util.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var _a; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; - var fs = __importStar(require("fs")); - var path = __importStar(require("path")); - _a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; - exports.IS_WINDOWS = process.platform === "win32"; - exports.UV_FS_O_EXLOCK = 268435456; - exports.READONLY = fs.constants.O_RDONLY; + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } + } + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + var _a + Object.defineProperty(exports, '__esModule', { value: true }) + exports.getCmdPath = + exports.tryGetExecutablePath = + exports.isRooted = + exports.isDirectory = + exports.exists = + exports.READONLY = + exports.UV_FS_O_EXLOCK = + exports.IS_WINDOWS = + exports.unlink = + exports.symlink = + exports.stat = + exports.rmdir = + exports.rm = + exports.rename = + exports.readlink = + exports.readdir = + exports.open = + exports.mkdir = + exports.lstat = + exports.copyFile = + exports.chmod = + void 0 + var fs = __importStar(require('fs')) + var path = __importStar(require('path')) + ;(_a = fs.promises), + (exports.chmod = _a.chmod), + (exports.copyFile = _a.copyFile), + (exports.lstat = _a.lstat), + (exports.mkdir = _a.mkdir), + (exports.open = _a.open), + (exports.readdir = _a.readdir), + (exports.readlink = _a.readlink), + (exports.rename = _a.rename), + (exports.rm = _a.rm), + (exports.rmdir = _a.rmdir), + (exports.stat = _a.stat), + (exports.symlink = _a.symlink), + (exports.unlink = _a.unlink) + exports.IS_WINDOWS = process.platform === 'win32' + exports.UV_FS_O_EXLOCK = 268435456 + exports.READONLY = fs.constants.O_RDONLY function exists(fsPath) { return __awaiter(this, void 0, void 0, function* () { try { - yield exports.stat(fsPath); + yield exports.stat(fsPath) } catch (err) { - if (err.code === "ENOENT") { - return false; + if (err.code === 'ENOENT') { + return false } - throw err; + throw err } - return true; - }); + return true + }) } - exports.exists = exists; + exports.exists = exists function isDirectory(fsPath, useStat = false) { return __awaiter(this, void 0, void 0, function* () { - const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); - return stats.isDirectory(); - }); + const stats = useStat + ? yield exports.stat(fsPath) + : yield exports.lstat(fsPath) + return stats.isDirectory() + }) } - exports.isDirectory = isDirectory; + exports.isDirectory = isDirectory function isRooted(p) { - p = normalizeSeparators(p); + p = normalizeSeparators(p) if (!p) { - throw new Error('isRooted() parameter "p" cannot be empty'); + throw new Error('isRooted() parameter "p" cannot be empty') } if (exports.IS_WINDOWS) { - return p.startsWith("\\") || /^[A-Z]:/i.test(p); + return p.startsWith('\\') || /^[A-Z]:/i.test(p) } - return p.startsWith("/"); + return p.startsWith('/') } - exports.isRooted = isRooted; + exports.isRooted = isRooted function tryGetExecutablePath(filePath, extensions) { return __awaiter(this, void 0, void 0, function* () { - let stats = void 0; + let stats = void 0 try { - stats = yield exports.stat(filePath); + stats = yield exports.stat(filePath) } catch (err) { - if (err.code !== "ENOENT") { - console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + if (err.code !== 'ENOENT') { + console.log( + `Unexpected error attempting to determine if executable file exists '${filePath}': ${err}` + ) } } if (stats && stats.isFile()) { if (exports.IS_WINDOWS) { - const upperExt = path.extname(filePath).toUpperCase(); - if (extensions.some((validExt) => validExt.toUpperCase() === upperExt)) { - return filePath; + const upperExt = path.extname(filePath).toUpperCase() + if ( + extensions.some((validExt) => validExt.toUpperCase() === upperExt) + ) { + return filePath } } else { if (isUnixExecutable(stats)) { - return filePath; + return filePath } } } - const originalFilePath = filePath; + const originalFilePath = filePath for (const extension of extensions) { - filePath = originalFilePath + extension; - stats = void 0; + filePath = originalFilePath + extension + stats = void 0 try { - stats = yield exports.stat(filePath); + stats = yield exports.stat(filePath) } catch (err) { - if (err.code !== "ENOENT") { - console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + if (err.code !== 'ENOENT') { + console.log( + `Unexpected error attempting to determine if executable file exists '${filePath}': ${err}` + ) } } if (stats && stats.isFile()) { if (exports.IS_WINDOWS) { try { - const directory = path.dirname(filePath); - const upperName = path.basename(filePath).toUpperCase(); + const directory = path.dirname(filePath) + const upperName = path.basename(filePath).toUpperCase() for (const actualName of yield exports.readdir(directory)) { if (upperName === actualName.toUpperCase()) { - filePath = path.join(directory, actualName); - break; + filePath = path.join(directory, actualName) + break } } } catch (err) { - console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); + console.log( + `Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}` + ) } - return filePath; + return filePath } else { if (isUnixExecutable(stats)) { - return filePath; + return filePath } } } } - return ""; - }); + return '' + }) } - exports.tryGetExecutablePath = tryGetExecutablePath; + exports.tryGetExecutablePath = tryGetExecutablePath function normalizeSeparators(p) { - p = p || ""; + p = p || '' if (exports.IS_WINDOWS) { - p = p.replace(/\//g, "\\"); - return p.replace(/\\\\+/g, "\\"); + p = p.replace(/\//g, '\\') + return p.replace(/\\\\+/g, '\\') } - return p.replace(/\/\/+/g, "/"); + return p.replace(/\/\/+/g, '/') } function isUnixExecutable(stats) { - return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid(); + return ( + (stats.mode & 1) > 0 || + ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || + ((stats.mode & 64) > 0 && stats.uid === process.getuid()) + ) } function getCmdPath() { - var _a2; - return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; + var _a2 + return (_a2 = process.env['COMSPEC']) !== null && _a2 !== void 0 + ? _a2 + : `cmd.exe` } - exports.getCmdPath = getCmdPath; + exports.getCmdPath = getCmdPath } -}); +}) // ../../node_modules/.pnpm/@actions+io@1.1.3/node_modules/@actions/io/lib/io.js var require_io = __commonJS({ - "../../node_modules/.pnpm/@actions+io@1.1.3/node_modules/@actions/io/lib/io.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+io@1.1.3/node_modules/@actions/io/lib/io.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; - var assert_1 = require("assert"); - var path = __importStar(require("path")); - var ioUtil = __importStar(require_io_util()); + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.findInPath = + exports.which = + exports.mkdirP = + exports.rmRF = + exports.mv = + exports.cp = + void 0 + var assert_1 = require('assert') + var path = __importStar(require('path')) + var ioUtil = __importStar(require_io_util()) function cp(source, dest, options = {}) { return __awaiter(this, void 0, void 0, function* () { - const { force, recursive, copySourceDirectory } = readCopyOptions(options); - const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; + const { force, recursive, copySourceDirectory } = + readCopyOptions(options) + const destStat = (yield ioUtil.exists(dest)) + ? yield ioUtil.stat(dest) + : null if (destStat && destStat.isFile() && !force) { - return; + return } - const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path.join(dest, path.basename(source)) : dest; + const newDest = + destStat && destStat.isDirectory() && copySourceDirectory + ? path.join(dest, path.basename(source)) + : dest if (!(yield ioUtil.exists(source))) { - throw new Error(`no such file or directory: ${source}`); + throw new Error(`no such file or directory: ${source}`) } - const sourceStat = yield ioUtil.stat(source); + const sourceStat = yield ioUtil.stat(source) if (sourceStat.isDirectory()) { if (!recursive) { - throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); + throw new Error( + `Failed to copy. ${source} is a directory, but tried to copy without recursive flag.` + ) } else { - yield cpDirRecursive(source, newDest, 0, force); + yield cpDirRecursive(source, newDest, 0, force) } } else { - if (path.relative(source, newDest) === "") { - throw new Error(`'${newDest}' and '${source}' are the same file`); + if (path.relative(source, newDest) === '') { + throw new Error(`'${newDest}' and '${source}' are the same file`) } - yield copyFile(source, newDest, force); + yield copyFile(source, newDest, force) } - }); + }) } - exports.cp = cp; + exports.cp = cp function mv(source, dest, options = {}) { return __awaiter(this, void 0, void 0, function* () { if (yield ioUtil.exists(dest)) { - let destExists = true; + let destExists = true if (yield ioUtil.isDirectory(dest)) { - dest = path.join(dest, path.basename(source)); - destExists = yield ioUtil.exists(dest); + dest = path.join(dest, path.basename(source)) + destExists = yield ioUtil.exists(dest) } if (destExists) { if (options.force == null || options.force) { - yield rmRF(dest); + yield rmRF(dest) } else { - throw new Error("Destination already exists"); + throw new Error('Destination already exists') } } } - yield mkdirP(path.dirname(dest)); - yield ioUtil.rename(source, dest); - }); + yield mkdirP(path.dirname(dest)) + yield ioUtil.rename(source, dest) + }) } - exports.mv = mv; + exports.mv = mv function rmRF(inputPath) { return __awaiter(this, void 0, void 0, function* () { if (ioUtil.IS_WINDOWS) { if (/[*"<>|]/.test(inputPath)) { - throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); + throw new Error( + 'File path must not contain `*`, `"`, `<`, `>` or `|` on Windows' + ) } } try { @@ -337,377 +457,415 @@ var require_io = __commonJS({ maxRetries: 3, recursive: true, retryDelay: 300 - }); + }) } catch (err) { - throw new Error(`File was unable to be removed ${err}`); + throw new Error(`File was unable to be removed ${err}`) } - }); + }) } - exports.rmRF = rmRF; + exports.rmRF = rmRF function mkdirP(fsPath) { return __awaiter(this, void 0, void 0, function* () { - assert_1.ok(fsPath, "a path argument must be provided"); - yield ioUtil.mkdir(fsPath, { recursive: true }); - }); + assert_1.ok(fsPath, 'a path argument must be provided') + yield ioUtil.mkdir(fsPath, { recursive: true }) + }) } - exports.mkdirP = mkdirP; + exports.mkdirP = mkdirP function which(tool, check) { return __awaiter(this, void 0, void 0, function* () { if (!tool) { - throw new Error("parameter 'tool' is required"); + throw new Error("parameter 'tool' is required") } if (check) { - const result = yield which(tool, false); + const result = yield which(tool, false) if (!result) { if (ioUtil.IS_WINDOWS) { - throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`); + throw new Error( + `Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.` + ) } else { - throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); + throw new Error( + `Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.` + ) } } - return result; + return result } - const matches = yield findInPath(tool); + const matches = yield findInPath(tool) if (matches && matches.length > 0) { - return matches[0]; + return matches[0] } - return ""; - }); + return '' + }) } - exports.which = which; + exports.which = which function findInPath(tool) { return __awaiter(this, void 0, void 0, function* () { if (!tool) { - throw new Error("parameter 'tool' is required"); + throw new Error("parameter 'tool' is required") } - const extensions = []; - if (ioUtil.IS_WINDOWS && process.env["PATHEXT"]) { - for (const extension of process.env["PATHEXT"].split(path.delimiter)) { + const extensions = [] + if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { + for (const extension of process.env['PATHEXT'].split( + path.delimiter + )) { if (extension) { - extensions.push(extension); + extensions.push(extension) } } } if (ioUtil.isRooted(tool)) { - const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); + const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions) if (filePath) { - return [filePath]; + return [filePath] } - return []; + return [] } if (tool.includes(path.sep)) { - return []; + return [] } - const directories = []; + const directories = [] if (process.env.PATH) { for (const p of process.env.PATH.split(path.delimiter)) { if (p) { - directories.push(p); + directories.push(p) } } } - const matches = []; + const matches = [] for (const directory of directories) { - const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); + const filePath = yield ioUtil.tryGetExecutablePath( + path.join(directory, tool), + extensions + ) if (filePath) { - matches.push(filePath); + matches.push(filePath) } } - return matches; - }); + return matches + }) } - exports.findInPath = findInPath; + exports.findInPath = findInPath function readCopyOptions(options) { - const force = options.force == null ? true : options.force; - const recursive = Boolean(options.recursive); - const copySourceDirectory = options.copySourceDirectory == null ? true : Boolean(options.copySourceDirectory); - return { force, recursive, copySourceDirectory }; + const force = options.force == null ? true : options.force + const recursive = Boolean(options.recursive) + const copySourceDirectory = + options.copySourceDirectory == null + ? true + : Boolean(options.copySourceDirectory) + return { force, recursive, copySourceDirectory } } function cpDirRecursive(sourceDir, destDir, currentDepth, force) { return __awaiter(this, void 0, void 0, function* () { - if (currentDepth >= 255) - return; - currentDepth++; - yield mkdirP(destDir); - const files = yield ioUtil.readdir(sourceDir); + if (currentDepth >= 255) return + currentDepth++ + yield mkdirP(destDir) + const files = yield ioUtil.readdir(sourceDir) for (const fileName of files) { - const srcFile = `${sourceDir}/${fileName}`; - const destFile = `${destDir}/${fileName}`; - const srcFileStat = yield ioUtil.lstat(srcFile); + const srcFile = `${sourceDir}/${fileName}` + const destFile = `${destDir}/${fileName}` + const srcFileStat = yield ioUtil.lstat(srcFile) if (srcFileStat.isDirectory()) { - yield cpDirRecursive(srcFile, destFile, currentDepth, force); + yield cpDirRecursive(srcFile, destFile, currentDepth, force) } else { - yield copyFile(srcFile, destFile, force); + yield copyFile(srcFile, destFile, force) } } - yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); - }); + yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode) + }) } function copyFile(srcFile, destFile, force) { return __awaiter(this, void 0, void 0, function* () { if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { try { - yield ioUtil.lstat(destFile); - yield ioUtil.unlink(destFile); + yield ioUtil.lstat(destFile) + yield ioUtil.unlink(destFile) } catch (e) { - if (e.code === "EPERM") { - yield ioUtil.chmod(destFile, "0666"); - yield ioUtil.unlink(destFile); + if (e.code === 'EPERM') { + yield ioUtil.chmod(destFile, '0666') + yield ioUtil.unlink(destFile) } } - const symlinkFull = yield ioUtil.readlink(srcFile); - yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? "junction" : null); + const symlinkFull = yield ioUtil.readlink(srcFile) + yield ioUtil.symlink( + symlinkFull, + destFile, + ioUtil.IS_WINDOWS ? 'junction' : null + ) } else if (!(yield ioUtil.exists(destFile)) || force) { - yield ioUtil.copyFile(srcFile, destFile); + yield ioUtil.copyFile(srcFile, destFile) } - }); + }) } } -}); +}) // ../../node_modules/.pnpm/@actions+exec@1.1.1/node_modules/@actions/exec/lib/toolrunner.js var require_toolrunner = __commonJS({ - "../../node_modules/.pnpm/@actions+exec@1.1.1/node_modules/@actions/exec/lib/toolrunner.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+exec@1.1.1/node_modules/@actions/exec/lib/toolrunner.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.argStringToArray = exports.ToolRunner = void 0; - var os = __importStar(require("os")); - var events = __importStar(require("events")); - var child = __importStar(require("child_process")); - var path = __importStar(require("path")); - var io = __importStar(require_io()); - var ioUtil = __importStar(require_io_util()); - var timers_1 = require("timers"); - var IS_WINDOWS = process.platform === "win32"; + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } + } + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.argStringToArray = exports.ToolRunner = void 0 + var os = __importStar(require('os')) + var events = __importStar(require('events')) + var child = __importStar(require('child_process')) + var path = __importStar(require('path')) + var io = __importStar(require_io()) + var ioUtil = __importStar(require_io_util()) + var timers_1 = require('timers') + var IS_WINDOWS = process.platform === 'win32' var ToolRunner = class extends events.EventEmitter { constructor(toolPath, args, options) { - super(); + super() if (!toolPath) { - throw new Error("Parameter 'toolPath' cannot be null or empty."); + throw new Error("Parameter 'toolPath' cannot be null or empty.") } - this.toolPath = toolPath; - this.args = args || []; - this.options = options || {}; + this.toolPath = toolPath + this.args = args || [] + this.options = options || {} } _debug(message) { if (this.options.listeners && this.options.listeners.debug) { - this.options.listeners.debug(message); + this.options.listeners.debug(message) } } _getCommandString(options, noPrefix) { - const toolPath = this._getSpawnFileName(); - const args = this._getSpawnArgs(options); - let cmd = noPrefix ? "" : "[command]"; + const toolPath = this._getSpawnFileName() + const args = this._getSpawnArgs(options) + let cmd = noPrefix ? '' : '[command]' if (IS_WINDOWS) { if (this._isCmdFile()) { - cmd += toolPath; + cmd += toolPath for (const a of args) { - cmd += ` ${a}`; + cmd += ` ${a}` } } else if (options.windowsVerbatimArguments) { - cmd += `"${toolPath}"`; + cmd += `"${toolPath}"` for (const a of args) { - cmd += ` ${a}`; + cmd += ` ${a}` } } else { - cmd += this._windowsQuoteCmdArg(toolPath); + cmd += this._windowsQuoteCmdArg(toolPath) for (const a of args) { - cmd += ` ${this._windowsQuoteCmdArg(a)}`; + cmd += ` ${this._windowsQuoteCmdArg(a)}` } } } else { - cmd += toolPath; + cmd += toolPath for (const a of args) { - cmd += ` ${a}`; + cmd += ` ${a}` } } - return cmd; + return cmd } _processLineBuffer(data, strBuffer, onLine) { try { - let s = strBuffer + data.toString(); - let n = s.indexOf(os.EOL); + let s = strBuffer + data.toString() + let n = s.indexOf(os.EOL) while (n > -1) { - const line = s.substring(0, n); - onLine(line); - s = s.substring(n + os.EOL.length); - n = s.indexOf(os.EOL); + const line = s.substring(0, n) + onLine(line) + s = s.substring(n + os.EOL.length) + n = s.indexOf(os.EOL) } - return s; + return s } catch (err) { - this._debug(`error processing line. Failed with error ${err}`); - return ""; + this._debug(`error processing line. Failed with error ${err}`) + return '' } } _getSpawnFileName() { if (IS_WINDOWS) { if (this._isCmdFile()) { - return process.env["COMSPEC"] || "cmd.exe"; + return process.env['COMSPEC'] || 'cmd.exe' } } - return this.toolPath; + return this.toolPath } _getSpawnArgs(options) { if (IS_WINDOWS) { if (this._isCmdFile()) { - let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; + let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}` for (const a of this.args) { - argline += " "; - argline += options.windowsVerbatimArguments ? a : this._windowsQuoteCmdArg(a); + argline += ' ' + argline += options.windowsVerbatimArguments + ? a + : this._windowsQuoteCmdArg(a) } - argline += '"'; - return [argline]; + argline += '"' + return [argline] } } - return this.args; + return this.args } _endsWith(str, end) { - return str.endsWith(end); + return str.endsWith(end) } _isCmdFile() { - const upperToolPath = this.toolPath.toUpperCase(); - return this._endsWith(upperToolPath, ".CMD") || this._endsWith(upperToolPath, ".BAT"); + const upperToolPath = this.toolPath.toUpperCase() + return ( + this._endsWith(upperToolPath, '.CMD') || + this._endsWith(upperToolPath, '.BAT') + ) } _windowsQuoteCmdArg(arg) { if (!this._isCmdFile()) { - return this._uvQuoteCmdArg(arg); + return this._uvQuoteCmdArg(arg) } if (!arg) { - return '""'; + return '""' } const cmdSpecialChars = [ - " ", - " ", - "&", - "(", - ")", - "[", - "]", - "{", - "}", - "^", - "=", - ";", - "!", + ' ', + ' ', + '&', + '(', + ')', + '[', + ']', + '{', + '}', + '^', + '=', + ';', + '!', "'", - "+", - ",", - "`", - "~", - "|", - "<", - ">", + '+', + ',', + '`', + '~', + '|', + '<', + '>', '"' - ]; - let needsQuotes = false; + ] + let needsQuotes = false for (const char of arg) { if (cmdSpecialChars.some((x) => x === char)) { - needsQuotes = true; - break; + needsQuotes = true + break } } if (!needsQuotes) { - return arg; + return arg } - let reverse = '"'; - let quoteHit = true; + let reverse = '"' + let quoteHit = true for (let i = arg.length; i > 0; i--) { - reverse += arg[i - 1]; - if (quoteHit && arg[i - 1] === "\\") { - reverse += "\\"; + reverse += arg[i - 1] + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\' } else if (arg[i - 1] === '"') { - quoteHit = true; - reverse += '"'; + quoteHit = true + reverse += '"' } else { - quoteHit = false; + quoteHit = false } } - reverse += '"'; - return reverse.split("").reverse().join(""); + reverse += '"' + return reverse.split('').reverse().join('') } _uvQuoteCmdArg(arg) { if (!arg) { - return '""'; + return '""' } - if (!arg.includes(" ") && !arg.includes(" ") && !arg.includes('"')) { - return arg; + if (!arg.includes(' ') && !arg.includes(' ') && !arg.includes('"')) { + return arg } - if (!arg.includes('"') && !arg.includes("\\")) { - return `"${arg}"`; + if (!arg.includes('"') && !arg.includes('\\')) { + return `"${arg}"` } - let reverse = '"'; - let quoteHit = true; + let reverse = '"' + let quoteHit = true for (let i = arg.length; i > 0; i--) { - reverse += arg[i - 1]; - if (quoteHit && arg[i - 1] === "\\") { - reverse += "\\"; + reverse += arg[i - 1] + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\' } else if (arg[i - 1] === '"') { - quoteHit = true; - reverse += "\\"; + quoteHit = true + reverse += '\\' } else { - quoteHit = false; + quoteHit = false } } - reverse += '"'; - return reverse.split("").reverse().join(""); + reverse += '"' + return reverse.split('').reverse().join('') } _cloneExecOptions(options) { - options = options || {}; + options = options || {} const result = { cwd: options.cwd || process.cwd(), env: options.env || process.env, @@ -716,21 +874,22 @@ var require_toolrunner = __commonJS({ failOnStdErr: options.failOnStdErr || false, ignoreReturnCode: options.ignoreReturnCode || false, delay: options.delay || 1e4 - }; - result.outStream = options.outStream || process.stdout; - result.errStream = options.errStream || process.stderr; - return result; + } + result.outStream = options.outStream || process.stdout + result.errStream = options.errStream || process.stderr + return result } _getSpawnOptions(options, toolPath) { - options = options || {}; - const result = {}; - result.cwd = options.cwd; - result.env = options.env; - result["windowsVerbatimArguments"] = options.windowsVerbatimArguments || this._isCmdFile(); + options = options || {} + const result = {} + result.cwd = options.cwd + result.env = options.env + result['windowsVerbatimArguments'] = + options.windowsVerbatimArguments || this._isCmdFile() if (options.windowsVerbatimArguments) { - result.argv0 = `"${toolPath}"`; + result.argv0 = `"${toolPath}"` } - return result; + return result } /** * Exec a tool. @@ -743,347 +902,451 @@ var require_toolrunner = __commonJS({ */ exec() { return __awaiter(this, void 0, void 0, function* () { - if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) { - this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); - } - this.toolPath = yield io.which(this.toolPath, true); - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - this._debug(`exec tool: ${this.toolPath}`); - this._debug("arguments:"); - for (const arg of this.args) { - this._debug(` ${arg}`); - } - const optionsNonNull = this._cloneExecOptions(this.options); - if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); - } - const state = new ExecState(optionsNonNull, this.toolPath); - state.on("debug", (message) => { - this._debug(message); - }); - if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { - return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); - } - const fileName = this._getSpawnFileName(); - const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); - let stdbuffer = ""; - if (cp.stdout) { - cp.stdout.on("data", (data) => { - if (this.options.listeners && this.options.listeners.stdout) { - this.options.listeners.stdout(data); - } - if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(data); - } - stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => { - if (this.options.listeners && this.options.listeners.stdline) { - this.options.listeners.stdline(line); + if ( + !ioUtil.isRooted(this.toolPath) && + (this.toolPath.includes('/') || + (IS_WINDOWS && this.toolPath.includes('\\'))) + ) { + this.toolPath = path.resolve( + process.cwd(), + this.options.cwd || process.cwd(), + this.toolPath + ) + } + this.toolPath = yield io.which(this.toolPath, true) + return new Promise((resolve, reject) => + __awaiter(this, void 0, void 0, function* () { + this._debug(`exec tool: ${this.toolPath}`) + this._debug('arguments:') + for (const arg of this.args) { + this._debug(` ${arg}`) + } + const optionsNonNull = this._cloneExecOptions(this.options) + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write( + this._getCommandString(optionsNonNull) + os.EOL + ) + } + const state = new ExecState(optionsNonNull, this.toolPath) + state.on('debug', (message) => { + this._debug(message) + }) + if ( + this.options.cwd && + !(yield ioUtil.exists(this.options.cwd)) + ) { + return reject( + new Error(`The cwd: ${this.options.cwd} does not exist!`) + ) + } + const fileName = this._getSpawnFileName() + const cp = child.spawn( + fileName, + this._getSpawnArgs(optionsNonNull), + this._getSpawnOptions(this.options, fileName) + ) + let stdbuffer = '' + if (cp.stdout) { + cp.stdout.on('data', (data) => { + if (this.options.listeners && this.options.listeners.stdout) { + this.options.listeners.stdout(data) } - }); - }); - } - let errbuffer = ""; - if (cp.stderr) { - cp.stderr.on("data", (data) => { - state.processStderr = true; - if (this.options.listeners && this.options.listeners.stderr) { - this.options.listeners.stderr(data); - } - if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { - const s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); - } - errbuffer = this._processLineBuffer(data, errbuffer, (line) => { - if (this.options.listeners && this.options.listeners.errline) { - this.options.listeners.errline(line); + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(data) } - }); - }); - } - cp.on("error", (err) => { - state.processError = err.message; - state.processExited = true; - state.processClosed = true; - state.CheckComplete(); - }); - cp.on("exit", (code) => { - state.processExitCode = code; - state.processExited = true; - this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); - state.CheckComplete(); - }); - cp.on("close", (code) => { - state.processExitCode = code; - state.processExited = true; - state.processClosed = true; - this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); - state.CheckComplete(); - }); - state.on("done", (error, exitCode) => { - if (stdbuffer.length > 0) { - this.emit("stdline", stdbuffer); - } - if (errbuffer.length > 0) { - this.emit("errline", errbuffer); + stdbuffer = this._processLineBuffer( + data, + stdbuffer, + (line) => { + if ( + this.options.listeners && + this.options.listeners.stdline + ) { + this.options.listeners.stdline(line) + } + } + ) + }) } - cp.removeAllListeners(); - if (error) { - reject(error); - } else { - resolve(exitCode); + let errbuffer = '' + if (cp.stderr) { + cp.stderr.on('data', (data) => { + state.processStderr = true + if (this.options.listeners && this.options.listeners.stderr) { + this.options.listeners.stderr(data) + } + if ( + !optionsNonNull.silent && + optionsNonNull.errStream && + optionsNonNull.outStream + ) { + const s = optionsNonNull.failOnStdErr + ? optionsNonNull.errStream + : optionsNonNull.outStream + s.write(data) + } + errbuffer = this._processLineBuffer( + data, + errbuffer, + (line) => { + if ( + this.options.listeners && + this.options.listeners.errline + ) { + this.options.listeners.errline(line) + } + } + ) + }) } - }); - if (this.options.input) { - if (!cp.stdin) { - throw new Error("child process missing stdin"); + cp.on('error', (err) => { + state.processError = err.message + state.processExited = true + state.processClosed = true + state.CheckComplete() + }) + cp.on('exit', (code) => { + state.processExitCode = code + state.processExited = true + this._debug( + `Exit code ${code} received from tool '${this.toolPath}'` + ) + state.CheckComplete() + }) + cp.on('close', (code) => { + state.processExitCode = code + state.processExited = true + state.processClosed = true + this._debug( + `STDIO streams have closed for tool '${this.toolPath}'` + ) + state.CheckComplete() + }) + state.on('done', (error, exitCode) => { + if (stdbuffer.length > 0) { + this.emit('stdline', stdbuffer) + } + if (errbuffer.length > 0) { + this.emit('errline', errbuffer) + } + cp.removeAllListeners() + if (error) { + reject(error) + } else { + resolve(exitCode) + } + }) + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin') + } + cp.stdin.end(this.options.input) } - cp.stdin.end(this.options.input); - } - })); - }); + }) + ) + }) } - }; - exports.ToolRunner = ToolRunner; + } + exports.ToolRunner = ToolRunner function argStringToArray(argString) { - const args = []; - let inQuotes = false; - let escaped = false; - let arg = ""; + const args = [] + let inQuotes = false + let escaped = false + let arg = '' function append(c) { if (escaped && c !== '"') { - arg += "\\"; + arg += '\\' } - arg += c; - escaped = false; + arg += c + escaped = false } for (let i = 0; i < argString.length; i++) { - const c = argString.charAt(i); + const c = argString.charAt(i) if (c === '"') { if (!escaped) { - inQuotes = !inQuotes; + inQuotes = !inQuotes } else { - append(c); + append(c) } - continue; + continue } - if (c === "\\" && escaped) { - append(c); - continue; + if (c === '\\' && escaped) { + append(c) + continue } - if (c === "\\" && inQuotes) { - escaped = true; - continue; + if (c === '\\' && inQuotes) { + escaped = true + continue } - if (c === " " && !inQuotes) { + if (c === ' ' && !inQuotes) { if (arg.length > 0) { - args.push(arg); - arg = ""; + args.push(arg) + arg = '' } - continue; + continue } - append(c); + append(c) } if (arg.length > 0) { - args.push(arg.trim()); + args.push(arg.trim()) } - return args; + return args } - exports.argStringToArray = argStringToArray; + exports.argStringToArray = argStringToArray var ExecState = class _ExecState extends events.EventEmitter { constructor(options, toolPath) { - super(); - this.processClosed = false; - this.processError = ""; - this.processExitCode = 0; - this.processExited = false; - this.processStderr = false; - this.delay = 1e4; - this.done = false; - this.timeout = null; + super() + this.processClosed = false + this.processError = '' + this.processExitCode = 0 + this.processExited = false + this.processStderr = false + this.delay = 1e4 + this.done = false + this.timeout = null if (!toolPath) { - throw new Error("toolPath must not be empty"); + throw new Error('toolPath must not be empty') } - this.options = options; - this.toolPath = toolPath; + this.options = options + this.toolPath = toolPath if (options.delay) { - this.delay = options.delay; + this.delay = options.delay } } CheckComplete() { if (this.done) { - return; + return } if (this.processClosed) { - this._setResult(); + this._setResult() } else if (this.processExited) { - this.timeout = timers_1.setTimeout(_ExecState.HandleTimeout, this.delay, this); + this.timeout = timers_1.setTimeout( + _ExecState.HandleTimeout, + this.delay, + this + ) } } _debug(message) { - this.emit("debug", message); + this.emit('debug', message) } _setResult() { - let error; + let error if (this.processExited) { if (this.processError) { - error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`); - } else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { - error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); + error = new Error( + `There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}` + ) + } else if ( + this.processExitCode !== 0 && + !this.options.ignoreReturnCode + ) { + error = new Error( + `The process '${this.toolPath}' failed with exit code ${this.processExitCode}` + ) } else if (this.processStderr && this.options.failOnStdErr) { - error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); + error = new Error( + `The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream` + ) } } if (this.timeout) { - clearTimeout(this.timeout); - this.timeout = null; + clearTimeout(this.timeout) + this.timeout = null } - this.done = true; - this.emit("done", error, this.processExitCode); + this.done = true + this.emit('done', error, this.processExitCode) } static HandleTimeout(state) { if (state.done) { - return; + return } if (!state.processClosed && state.processExited) { - const message = `The STDIO streams did not close within ${state.delay / 1e3} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; - state._debug(message); + const message = `The STDIO streams did not close within ${ + state.delay / 1e3 + } seconds of the exit event from process '${ + state.toolPath + }'. This may indicate a child process inherited the STDIO streams and has not yet exited.` + state._debug(message) } - state._setResult(); + state._setResult() } - }; + } } -}); +}) // ../../node_modules/.pnpm/@actions+exec@1.1.1/node_modules/@actions/exec/lib/exec.js var require_exec = __commonJS({ - "../../node_modules/.pnpm/@actions+exec@1.1.1/node_modules/@actions/exec/lib/exec.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+exec@1.1.1/node_modules/@actions/exec/lib/exec.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getExecOutput = exports.exec = void 0; - var string_decoder_1 = require("string_decoder"); - var tr = __importStar(require_toolrunner()); + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.getExecOutput = exports.exec = void 0 + var string_decoder_1 = require('string_decoder') + var tr = __importStar(require_toolrunner()) function exec2(commandLine, args, options) { return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr.argStringToArray(commandLine); + const commandArgs = tr.argStringToArray(commandLine) if (commandArgs.length === 0) { - throw new Error(`Parameter 'commandLine' cannot be null or empty.`); + throw new Error(`Parameter 'commandLine' cannot be null or empty.`) } - const toolPath = commandArgs[0]; - args = commandArgs.slice(1).concat(args || []); - const runner = new tr.ToolRunner(toolPath, args, options); - return runner.exec(); - }); + const toolPath = commandArgs[0] + args = commandArgs.slice(1).concat(args || []) + const runner = new tr.ToolRunner(toolPath, args, options) + return runner.exec() + }) } - exports.exec = exec2; + exports.exec = exec2 function getExecOutput(commandLine, args, options) { - var _a, _b; + var _a, _b return __awaiter(this, void 0, void 0, function* () { - let stdout = ""; - let stderr = ""; - const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); - const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; - const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; + let stdout = '' + let stderr = '' + const stdoutDecoder = new string_decoder_1.StringDecoder('utf8') + const stderrDecoder = new string_decoder_1.StringDecoder('utf8') + const originalStdoutListener = + (_a = + options === null || options === void 0 + ? void 0 + : options.listeners) === null || _a === void 0 + ? void 0 + : _a.stdout + const originalStdErrListener = + (_b = + options === null || options === void 0 + ? void 0 + : options.listeners) === null || _b === void 0 + ? void 0 + : _b.stderr const stdErrListener = (data) => { - stderr += stderrDecoder.write(data); + stderr += stderrDecoder.write(data) if (originalStdErrListener) { - originalStdErrListener(data); + originalStdErrListener(data) } - }; + } const stdOutListener = (data) => { - stdout += stdoutDecoder.write(data); + stdout += stdoutDecoder.write(data) if (originalStdoutListener) { - originalStdoutListener(data); + originalStdoutListener(data) } - }; - const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); - const exitCode = yield exec2(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); - stdout += stdoutDecoder.end(); - stderr += stderrDecoder.end(); + } + const listeners = Object.assign( + Object.assign( + {}, + options === null || options === void 0 ? void 0 : options.listeners + ), + { stdout: stdOutListener, stderr: stdErrListener } + ) + const exitCode = yield exec2( + commandLine, + args, + Object.assign(Object.assign({}, options), { listeners }) + ) + stdout += stdoutDecoder.end() + stderr += stderrDecoder.end() return { exitCode, stdout, stderr - }; - }); + } + }) } - exports.getExecOutput = getExecOutput; + exports.getExecOutput = getExecOutput } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/utils.js var require_utils = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toCommandProperties = exports.toCommandValue = void 0; + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/utils.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.toCommandProperties = exports.toCommandValue = void 0 function toCommandValue(input) { if (input === null || input === void 0) { - return ""; - } else if (typeof input === "string" || input instanceof String) { - return input; + return '' + } else if (typeof input === 'string' || input instanceof String) { + return input } - return JSON.stringify(input); + return JSON.stringify(input) } - exports.toCommandValue = toCommandValue; + exports.toCommandValue = toCommandValue function toCommandProperties(annotationProperties) { if (!Object.keys(annotationProperties).length) { - return {}; + return {} } return { title: annotationProperties.title, @@ -1092,407 +1355,459 @@ var require_utils = __commonJS({ endLine: annotationProperties.endLine, col: annotationProperties.startColumn, endColumn: annotationProperties.endColumn - }; + } } - exports.toCommandProperties = toCommandProperties; + exports.toCommandProperties = toCommandProperties } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/command.js var require_command = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/command.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.issue = exports.issueCommand = void 0; - var os = __importStar(require("os")); - var utils_1 = require_utils(); + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/command.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) + } + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.issue = exports.issueCommand = void 0 + var os = __importStar(require('os')) + var utils_1 = require_utils() function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); + const cmd = new Command(command, properties, message) + process.stdout.write(cmd.toString() + os.EOL) } - exports.issueCommand = issueCommand; - function issue(name, message = "") { - issueCommand(name, {}, message); + exports.issueCommand = issueCommand + function issue(name, message = '') { + issueCommand(name, {}, message) } - exports.issue = issue; - var CMD_STRING = "::"; + exports.issue = issue + var CMD_STRING = '::' var Command = class { constructor(command, properties, message) { if (!command) { - command = "missing.command"; + command = 'missing.command' } - this.command = command; - this.properties = properties; - this.message = message; + this.command = command + this.properties = properties + this.message = message } toString() { - let cmdStr = CMD_STRING + this.command; + let cmdStr = CMD_STRING + this.command if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += " "; - let first = true; + cmdStr += ' ' + let first = true for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; + const val = this.properties[key] if (val) { if (first) { - first = false; + first = false } else { - cmdStr += ","; + cmdStr += ',' } - cmdStr += `${key}=${escapeProperty(val)}`; + cmdStr += `${key}=${escapeProperty(val)}` } } } } - cmdStr += `${CMD_STRING}${escapeData(this.message)}`; - return cmdStr; + cmdStr += `${CMD_STRING}${escapeData(this.message)}` + return cmdStr } - }; + } function escapeData(s) { - return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + return utils_1 + .toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') } function escapeProperty(s) { - return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + return utils_1 + .toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C') } } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/rng.js function rng() { if (poolPtr > rnds8Pool.length - 16) { - import_crypto.default.randomFillSync(rnds8Pool); - poolPtr = 0; + import_crypto.default.randomFillSync(rnds8Pool) + poolPtr = 0 } - return rnds8Pool.slice(poolPtr, poolPtr += 16); + return rnds8Pool.slice(poolPtr, (poolPtr += 16)) } -var import_crypto, rnds8Pool, poolPtr; +var import_crypto, rnds8Pool, poolPtr var init_rng = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/rng.js"() { - import_crypto = __toESM(require("crypto")); - rnds8Pool = new Uint8Array(256); - poolPtr = rnds8Pool.length; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/rng.js'() { + import_crypto = __toESM(require('crypto')) + rnds8Pool = new Uint8Array(256) + poolPtr = rnds8Pool.length } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/regex.js -var regex_default; +var regex_default var init_regex = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/regex.js"() { - regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/regex.js'() { + regex_default = + /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/validate.js function validate(uuid) { - return typeof uuid === "string" && regex_default.test(uuid); + return typeof uuid === 'string' && regex_default.test(uuid) } -var validate_default; +var validate_default var init_validate = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/validate.js"() { - init_regex(); - validate_default = validate; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/validate.js'() { + init_regex() + validate_default = validate } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/stringify.js function stringify(arr, offset = 0) { - const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); + const uuid = ( + byteToHex[arr[offset + 0]] + + byteToHex[arr[offset + 1]] + + byteToHex[arr[offset + 2]] + + byteToHex[arr[offset + 3]] + + '-' + + byteToHex[arr[offset + 4]] + + byteToHex[arr[offset + 5]] + + '-' + + byteToHex[arr[offset + 6]] + + byteToHex[arr[offset + 7]] + + '-' + + byteToHex[arr[offset + 8]] + + byteToHex[arr[offset + 9]] + + '-' + + byteToHex[arr[offset + 10]] + + byteToHex[arr[offset + 11]] + + byteToHex[arr[offset + 12]] + + byteToHex[arr[offset + 13]] + + byteToHex[arr[offset + 14]] + + byteToHex[arr[offset + 15]] + ).toLowerCase() if (!validate_default(uuid)) { - throw TypeError("Stringified UUID is invalid"); + throw TypeError('Stringified UUID is invalid') } - return uuid; + return uuid } -var byteToHex, stringify_default; +var byteToHex, stringify_default var init_stringify = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/stringify.js"() { - init_validate(); - byteToHex = []; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/stringify.js'() { + init_validate() + byteToHex = [] for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 256).toString(16).substr(1)); + byteToHex.push((i + 256).toString(16).substr(1)) } - stringify_default = stringify; + stringify_default = stringify } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v1.js function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; + let i = (buf && offset) || 0 + const b = buf || new Array(16) + options = options || {} + let node = options.node || _nodeId + let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || rng)(); + const seedBytes = options.random || (options.rng || rng)() if (node == null) { - node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + node = _nodeId = [ + seedBytes[0] | 1, + seedBytes[1], + seedBytes[2], + seedBytes[3], + seedBytes[4], + seedBytes[5] + ] } if (clockseq == null) { - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; + clockseq = _clockseq = ((seedBytes[6] << 8) | seedBytes[7]) & 16383 } } - let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); - let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + let msecs = options.msecs !== void 0 ? options.msecs : Date.now() + let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1 + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4 if (dt < 0 && options.clockseq === void 0) { - clockseq = clockseq + 1 & 16383; + clockseq = (clockseq + 1) & 16383 } if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { - nsecs = 0; + nsecs = 0 } if (nsecs >= 1e4) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec") } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - msecs += 122192928e5; - const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b[i++] = tl >>> 24 & 255; - b[i++] = tl >>> 16 & 255; - b[i++] = tl >>> 8 & 255; - b[i++] = tl & 255; - const tmh = msecs / 4294967296 * 1e4 & 268435455; - b[i++] = tmh >>> 8 & 255; - b[i++] = tmh & 255; - b[i++] = tmh >>> 24 & 15 | 16; - b[i++] = tmh >>> 16 & 255; - b[i++] = clockseq >>> 8 | 128; - b[i++] = clockseq & 255; + _lastMSecs = msecs + _lastNSecs = nsecs + _clockseq = clockseq + msecs += 122192928e5 + const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296 + b[i++] = (tl >>> 24) & 255 + b[i++] = (tl >>> 16) & 255 + b[i++] = (tl >>> 8) & 255 + b[i++] = tl & 255 + const tmh = ((msecs / 4294967296) * 1e4) & 268435455 + b[i++] = (tmh >>> 8) & 255 + b[i++] = tmh & 255 + b[i++] = ((tmh >>> 24) & 15) | 16 + b[i++] = (tmh >>> 16) & 255 + b[i++] = (clockseq >>> 8) | 128 + b[i++] = clockseq & 255 for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; + b[i + n] = node[n] } - return buf || stringify_default(b); + return buf || stringify_default(b) } -var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; +var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default var init_v1 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v1.js"() { - init_rng(); - init_stringify(); - _lastMSecs = 0; - _lastNSecs = 0; - v1_default = v1; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v1.js'() { + init_rng() + init_stringify() + _lastMSecs = 0 + _lastNSecs = 0 + v1_default = v1 } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/parse.js function parse(uuid) { if (!validate_default(uuid)) { - throw TypeError("Invalid UUID"); + throw TypeError('Invalid UUID') } - let v; - const arr = new Uint8Array(16); - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 255; - arr[2] = v >>> 8 & 255; - arr[3] = v & 255; - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 255; - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 255; - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 255; - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; - arr[11] = v / 4294967296 & 255; - arr[12] = v >>> 24 & 255; - arr[13] = v >>> 16 & 255; - arr[14] = v >>> 8 & 255; - arr[15] = v & 255; - return arr; + let v + const arr = new Uint8Array(16) + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24 + arr[1] = (v >>> 16) & 255 + arr[2] = (v >>> 8) & 255 + arr[3] = v & 255 + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8 + arr[5] = v & 255 + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8 + arr[7] = v & 255 + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8 + arr[9] = v & 255 + arr[10] = ((v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776) & 255 + arr[11] = (v / 4294967296) & 255 + arr[12] = (v >>> 24) & 255 + arr[13] = (v >>> 16) & 255 + arr[14] = (v >>> 8) & 255 + arr[15] = v & 255 + return arr } -var parse_default; +var parse_default var init_parse = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/parse.js"() { - init_validate(); - parse_default = parse; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/parse.js'() { + init_validate() + parse_default = parse } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v35.js function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); - const bytes = []; + str = unescape(encodeURIComponent(str)) + const bytes = [] for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); + bytes.push(str.charCodeAt(i)) } - return bytes; + return bytes } function v35_default(name, version2, hashfunc) { function generateUUID(value, namespace, buf, offset) { - if (typeof value === "string") { - value = stringToBytes(value); + if (typeof value === 'string') { + value = stringToBytes(value) } - if (typeof namespace === "string") { - namespace = parse_default(namespace); + if (typeof namespace === 'string') { + namespace = parse_default(namespace) } if (namespace.length !== 16) { - throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); - } - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 15 | version2; - bytes[8] = bytes[8] & 63 | 128; + throw TypeError( + 'Namespace must be array-like (16 iterable integer values, 0-255)' + ) + } + let bytes = new Uint8Array(16 + value.length) + bytes.set(namespace) + bytes.set(value, namespace.length) + bytes = hashfunc(bytes) + bytes[6] = (bytes[6] & 15) | version2 + bytes[8] = (bytes[8] & 63) | 128 if (buf) { - offset = offset || 0; + offset = offset || 0 for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; + buf[offset + i] = bytes[i] } - return buf; + return buf } - return stringify_default(bytes); + return stringify_default(bytes) } try { - generateUUID.name = name; - } catch (err) { - } - generateUUID.DNS = DNS; - generateUUID.URL = URL2; - return generateUUID; + generateUUID.name = name + } catch (err) {} + generateUUID.DNS = DNS + generateUUID.URL = URL2 + return generateUUID } -var DNS, URL2; +var DNS, URL2 var init_v35 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v35.js"() { - init_stringify(); - init_parse(); - DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; - URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v35.js'() { + init_stringify() + init_parse() + DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8' + URL2 = '6ba7b811-9dad-11d1-80b4-00c04fd430c8' } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/md5.js function md5(bytes) { if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); + bytes = Buffer.from(bytes) + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8') } - return import_crypto2.default.createHash("md5").update(bytes).digest(); + return import_crypto2.default.createHash('md5').update(bytes).digest() } -var import_crypto2, md5_default; +var import_crypto2, md5_default var init_md5 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/md5.js"() { - import_crypto2 = __toESM(require("crypto")); - md5_default = md5; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/md5.js'() { + import_crypto2 = __toESM(require('crypto')) + md5_default = md5 } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v3.js -var v3, v3_default; +var v3, v3_default var init_v3 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v3.js"() { - init_v35(); - init_md5(); - v3 = v35_default("v3", 48, md5_default); - v3_default = v3; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v3.js'() { + init_v35() + init_md5() + v3 = v35_default('v3', 48, md5_default) + v3_default = v3 } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v4.js function v4(options, buf, offset) { - options = options || {}; - const rnds = options.random || (options.rng || rng)(); - rnds[6] = rnds[6] & 15 | 64; - rnds[8] = rnds[8] & 63 | 128; + options = options || {} + const rnds = options.random || (options.rng || rng)() + rnds[6] = (rnds[6] & 15) | 64 + rnds[8] = (rnds[8] & 63) | 128 if (buf) { - offset = offset || 0; + offset = offset || 0 for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; + buf[offset + i] = rnds[i] } - return buf; + return buf } - return stringify_default(rnds); + return stringify_default(rnds) } -var v4_default; +var v4_default var init_v4 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v4.js"() { - init_rng(); - init_stringify(); - v4_default = v4; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v4.js'() { + init_rng() + init_stringify() + v4_default = v4 } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/sha1.js function sha1(bytes) { if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); + bytes = Buffer.from(bytes) + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8') } - return import_crypto3.default.createHash("sha1").update(bytes).digest(); + return import_crypto3.default.createHash('sha1').update(bytes).digest() } -var import_crypto3, sha1_default; +var import_crypto3, sha1_default var init_sha1 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/sha1.js"() { - import_crypto3 = __toESM(require("crypto")); - sha1_default = sha1; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/sha1.js'() { + import_crypto3 = __toESM(require('crypto')) + sha1_default = sha1 } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v5.js -var v5, v5_default; +var v5, v5_default var init_v5 = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v5.js"() { - init_v35(); - init_sha1(); - v5 = v35_default("v5", 80, sha1_default); - v5_default = v5; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v5.js'() { + init_v35() + init_sha1() + v5 = v35_default('v5', 80, sha1_default) + v5_default = v5 } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/nil.js -var nil_default; +var nil_default var init_nil = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/nil.js"() { - nil_default = "00000000-0000-0000-0000-000000000000"; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/nil.js'() { + nil_default = '00000000-0000-0000-0000-000000000000' } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/version.js function version(uuid) { if (!validate_default(uuid)) { - throw TypeError("Invalid UUID"); + throw TypeError('Invalid UUID') } - return parseInt(uuid.substr(14, 1), 16); + return parseInt(uuid.substr(14, 1), 16) } -var version_default; +var version_default var init_version = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/version.js"() { - init_validate(); - version_default = version; + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/version.js'() { + init_validate() + version_default = version } -}); +}) // ../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/index.js -var esm_node_exports = {}; +var esm_node_exports = {} __export(esm_node_exports, { NIL: () => nil_default, parse: () => parse_default, @@ -1503,638 +1818,719 @@ __export(esm_node_exports, { v5: () => v5_default, validate: () => validate_default, version: () => version_default -}); +}) var init_esm_node = __esm({ - "../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/index.js"() { - init_v1(); - init_v3(); - init_v4(); - init_v5(); - init_nil(); - init_version(); - init_validate(); - init_stringify(); - init_parse(); + '../../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/index.js'() { + init_v1() + init_v3() + init_v4() + init_v5() + init_nil() + init_version() + init_validate() + init_stringify() + init_parse() } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/file-command.js var require_file_command = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/file-command.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; - var fs = __importStar(require("fs")); - var os = __importStar(require("os")); - var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); - var utils_1 = require_utils(); + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/file-command.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) + } + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.prepareKeyValueMessage = exports.issueFileCommand = void 0 + var fs = __importStar(require('fs')) + var os = __importStar(require('os')) + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)) + var utils_1 = require_utils() function issueFileCommand(command, message) { - const filePath = process.env[`GITHUB_${command}`]; + const filePath = process.env[`GITHUB_${command}`] if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command}`); + throw new Error( + `Unable to find environment variable for file command ${command}` + ) } if (!fs.existsSync(filePath)) { - throw new Error(`Missing file at path: ${filePath}`); + throw new Error(`Missing file at path: ${filePath}`) } - fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { - encoding: "utf8" - }); + fs.appendFileSync( + filePath, + `${utils_1.toCommandValue(message)}${os.EOL}`, + { + encoding: 'utf8' + } + ) } - exports.issueFileCommand = issueFileCommand; + exports.issueFileCommand = issueFileCommand function prepareKeyValueMessage(key, value) { - const delimiter = `ghadelimiter_${uuid_1.v4()}`; - const convertedValue = utils_1.toCommandValue(value); + const delimiter = `ghadelimiter_${uuid_1.v4()}` + const convertedValue = utils_1.toCommandValue(value) if (key.includes(delimiter)) { - throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + throw new Error( + `Unexpected input: name should not contain the delimiter "${delimiter}"` + ) } if (convertedValue.includes(delimiter)) { - throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + throw new Error( + `Unexpected input: value should not contain the delimiter "${delimiter}"` + ) } - return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}` } - exports.prepareKeyValueMessage = prepareKeyValueMessage; + exports.prepareKeyValueMessage = prepareKeyValueMessage } -}); +}) // ../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/proxy.js var require_proxy = __commonJS({ - "../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/proxy.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.checkBypass = exports.getProxyUrl = void 0; + '../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/proxy.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.checkBypass = exports.getProxyUrl = void 0 function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === "https:"; + const usingSsl = reqUrl.protocol === 'https:' if (checkBypass(reqUrl)) { - return void 0; + return void 0 } const proxyVar = (() => { if (usingSsl) { - return process.env["https_proxy"] || process.env["HTTPS_PROXY"]; + return process.env['https_proxy'] || process.env['HTTPS_PROXY'] } else { - return process.env["http_proxy"] || process.env["HTTP_PROXY"]; + return process.env['http_proxy'] || process.env['HTTP_PROXY'] } - })(); + })() if (proxyVar) { try { - return new URL(proxyVar); + return new URL(proxyVar) } catch (_a) { - if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) - return new URL(`http://${proxyVar}`); + if ( + !proxyVar.startsWith('http://') && + !proxyVar.startsWith('https://') + ) + return new URL(`http://${proxyVar}`) } } else { - return void 0; + return void 0 } } - exports.getProxyUrl = getProxyUrl; + exports.getProxyUrl = getProxyUrl function checkBypass(reqUrl) { if (!reqUrl.hostname) { - return false; + return false } - const reqHost = reqUrl.hostname; + const reqHost = reqUrl.hostname if (isLoopbackAddress(reqHost)) { - return true; + return true } - const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '' if (!noProxy) { - return false; + return false } - let reqPort; + let reqPort if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } else if (reqUrl.protocol === "http:") { - reqPort = 80; - } else if (reqUrl.protocol === "https:") { - reqPort = 443; - } - const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === "number") { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); - } - for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) { - if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) { - return true; + reqPort = Number(reqUrl.port) + } else if (reqUrl.protocol === 'http:') { + reqPort = 80 + } else if (reqUrl.protocol === 'https:') { + reqPort = 443 + } + const upperReqHosts = [reqUrl.hostname.toUpperCase()] + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`) + } + for (const upperNoProxyItem of noProxy + .split(',') + .map((x) => x.trim().toUpperCase()) + .filter((x) => x)) { + if ( + upperNoProxyItem === '*' || + upperReqHosts.some( + (x) => + x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)) + ) + ) { + return true } } - return false; + return false } - exports.checkBypass = checkBypass; + exports.checkBypass = checkBypass function isLoopbackAddress(host) { - const hostLower = host.toLowerCase(); - return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]"); + const hostLower = host.toLowerCase() + return ( + hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]') + ) } } -}); +}) // ../../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js var require_tunnel = __commonJS({ - "../../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js"(exports) { - "use strict"; - var net = require("net"); - var tls = require("tls"); - var http = require("http"); - var https = require("https"); - var events = require("events"); - var assert = require("assert"); - var util = require("util"); - exports.httpOverHttp = httpOverHttp; - exports.httpsOverHttp = httpsOverHttp; - exports.httpOverHttps = httpOverHttps; - exports.httpsOverHttps = httpsOverHttps; + '../../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js'( + exports + ) { + 'use strict' + var net = require('net') + var tls = require('tls') + var http = require('http') + var https = require('https') + var events = require('events') + var assert = require('assert') + var util = require('util') + exports.httpOverHttp = httpOverHttp + exports.httpsOverHttp = httpsOverHttp + exports.httpOverHttps = httpOverHttps + exports.httpsOverHttps = httpsOverHttps function httpOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - return agent; + var agent = new TunnelingAgent(options) + agent.request = http.request + return agent } function httpsOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; + var agent = new TunnelingAgent(options) + agent.request = http.request + agent.createSocket = createSecureSocket + agent.defaultPort = 443 + return agent } function httpOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - return agent; + var agent = new TunnelingAgent(options) + agent.request = https.request + return agent } function httpsOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; + var agent = new TunnelingAgent(options) + agent.request = https.request + agent.createSocket = createSecureSocket + agent.defaultPort = 443 + return agent } function TunnelingAgent(options) { - var self = this; - self.options = options || {}; - self.proxyOptions = self.options.proxy || {}; - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; - self.requests = []; - self.sockets = []; - self.on("free", function onFree(socket, host, port, localAddress) { - var options2 = toOptions(host, port, localAddress); + var self = this + self.options = options || {} + self.proxyOptions = self.options.proxy || {} + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets + self.requests = [] + self.sockets = [] + self.on('free', function onFree(socket, host, port, localAddress) { + var options2 = toOptions(host, port, localAddress) for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i]; - if (pending.host === options2.host && pending.port === options2.port) { - self.requests.splice(i, 1); - pending.request.onSocket(socket); - return; - } - } - socket.destroy(); - self.removeSocket(socket); - }); - } - util.inherits(TunnelingAgent, events.EventEmitter); - TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { - var self = this; - var options = mergeOptions({ request: req }, self.options, toOptions(host, port, localAddress)); + var pending = self.requests[i] + if ( + pending.host === options2.host && + pending.port === options2.port + ) { + self.requests.splice(i, 1) + pending.request.onSocket(socket) + return + } + } + socket.destroy() + self.removeSocket(socket) + }) + } + util.inherits(TunnelingAgent, events.EventEmitter) + TunnelingAgent.prototype.addRequest = function addRequest( + req, + host, + port, + localAddress + ) { + var self = this + var options = mergeOptions( + { request: req }, + self.options, + toOptions(host, port, localAddress) + ) if (self.sockets.length >= this.maxSockets) { - self.requests.push(options); - return; - } - self.createSocket(options, function(socket) { - socket.on("free", onFree); - socket.on("close", onCloseOrRemove); - socket.on("agentRemove", onCloseOrRemove); - req.onSocket(socket); + self.requests.push(options) + return + } + self.createSocket(options, function (socket) { + socket.on('free', onFree) + socket.on('close', onCloseOrRemove) + socket.on('agentRemove', onCloseOrRemove) + req.onSocket(socket) function onFree() { - self.emit("free", socket, options); + self.emit('free', socket, options) } function onCloseOrRemove(err) { - self.removeSocket(socket); - socket.removeListener("free", onFree); - socket.removeListener("close", onCloseOrRemove); - socket.removeListener("agentRemove", onCloseOrRemove); + self.removeSocket(socket) + socket.removeListener('free', onFree) + socket.removeListener('close', onCloseOrRemove) + socket.removeListener('agentRemove', onCloseOrRemove) } - }); - }; + }) + } TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this; - var placeholder = {}; - self.sockets.push(placeholder); + var self = this + var placeholder = {} + self.sockets.push(placeholder) var connectOptions = mergeOptions({}, self.proxyOptions, { - method: "CONNECT", - path: options.host + ":" + options.port, + method: 'CONNECT', + path: options.host + ':' + options.port, agent: false, headers: { - host: options.host + ":" + options.port + host: options.host + ':' + options.port } - }); + }) if (options.localAddress) { - connectOptions.localAddress = options.localAddress; + connectOptions.localAddress = options.localAddress } if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); - } - debug("making CONNECT request"); - var connectReq = self.request(connectOptions); - connectReq.useChunkedEncodingByDefault = false; - connectReq.once("response", onResponse); - connectReq.once("upgrade", onUpgrade); - connectReq.once("connect", onConnect); - connectReq.once("error", onError); - connectReq.end(); + connectOptions.headers = connectOptions.headers || {} + connectOptions.headers['Proxy-Authorization'] = + 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64') + } + debug('making CONNECT request') + var connectReq = self.request(connectOptions) + connectReq.useChunkedEncodingByDefault = false + connectReq.once('response', onResponse) + connectReq.once('upgrade', onUpgrade) + connectReq.once('connect', onConnect) + connectReq.once('error', onError) + connectReq.end() function onResponse(res) { - res.upgrade = true; + res.upgrade = true } function onUpgrade(res, socket, head) { - process.nextTick(function() { - onConnect(res, socket, head); - }); + process.nextTick(function () { + onConnect(res, socket, head) + }) } function onConnect(res, socket, head) { - connectReq.removeAllListeners(); - socket.removeAllListeners(); + connectReq.removeAllListeners() + socket.removeAllListeners() if (res.statusCode !== 200) { debug( - "tunneling socket could not be established, statusCode=%d", + 'tunneling socket could not be established, statusCode=%d', res.statusCode - ); - socket.destroy(); - var error = new Error("tunneling socket could not be established, statusCode=" + res.statusCode); - error.code = "ECONNRESET"; - options.request.emit("error", error); - self.removeSocket(placeholder); - return; + ) + socket.destroy() + var error = new Error( + 'tunneling socket could not be established, statusCode=' + + res.statusCode + ) + error.code = 'ECONNRESET' + options.request.emit('error', error) + self.removeSocket(placeholder) + return } if (head.length > 0) { - debug("got illegal response body from proxy"); - socket.destroy(); - var error = new Error("got illegal response body from proxy"); - error.code = "ECONNRESET"; - options.request.emit("error", error); - self.removeSocket(placeholder); - return; - } - debug("tunneling connection has established"); - self.sockets[self.sockets.indexOf(placeholder)] = socket; - return cb(socket); + debug('got illegal response body from proxy') + socket.destroy() + var error = new Error('got illegal response body from proxy') + error.code = 'ECONNRESET' + options.request.emit('error', error) + self.removeSocket(placeholder) + return + } + debug('tunneling connection has established') + self.sockets[self.sockets.indexOf(placeholder)] = socket + return cb(socket) } function onError(cause) { - connectReq.removeAllListeners(); + connectReq.removeAllListeners() debug( - "tunneling socket could not be established, cause=%s\n", + 'tunneling socket could not be established, cause=%s\n', cause.message, cause.stack - ); - var error = new Error("tunneling socket could not be established, cause=" + cause.message); - error.code = "ECONNRESET"; - options.request.emit("error", error); - self.removeSocket(placeholder); + ) + var error = new Error( + 'tunneling socket could not be established, cause=' + cause.message + ) + error.code = 'ECONNRESET' + options.request.emit('error', error) + self.removeSocket(placeholder) } - }; + } TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket); + var pos = this.sockets.indexOf(socket) if (pos === -1) { - return; + return } - this.sockets.splice(pos, 1); - var pending = this.requests.shift(); + this.sockets.splice(pos, 1) + var pending = this.requests.shift() if (pending) { - this.createSocket(pending, function(socket2) { - pending.request.onSocket(socket2); - }); + this.createSocket(pending, function (socket2) { + pending.request.onSocket(socket2) + }) } - }; + } function createSecureSocket(options, cb) { - var self = this; - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - var hostHeader = options.request.getHeader("host"); - var tlsOptions = mergeOptions({}, self.options, { - socket, - servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host - }); - var secureSocket = tls.connect(0, tlsOptions); - self.sockets[self.sockets.indexOf(socket)] = secureSocket; - cb(secureSocket); - }); + var self = this + TunnelingAgent.prototype.createSocket.call( + self, + options, + function (socket) { + var hostHeader = options.request.getHeader('host') + var tlsOptions = mergeOptions({}, self.options, { + socket, + servername: hostHeader + ? hostHeader.replace(/:.*$/, '') + : options.host + }) + var secureSocket = tls.connect(0, tlsOptions) + self.sockets[self.sockets.indexOf(socket)] = secureSocket + cb(secureSocket) + } + ) } function toOptions(host, port, localAddress) { - if (typeof host === "string") { + if (typeof host === 'string') { return { host, port, localAddress - }; + } } - return host; + return host } function mergeOptions(target) { for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i]; - if (typeof overrides === "object") { - var keys = Object.keys(overrides); + var overrides = arguments[i] + if (typeof overrides === 'object') { + var keys = Object.keys(overrides) for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j]; + var k = keys[j] if (overrides[k] !== void 0) { - target[k] = overrides[k]; + target[k] = overrides[k] } } } } - return target; + return target } - var debug; + var debug if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === "string") { - args[0] = "TUNNEL: " + args[0]; + debug = function () { + var args = Array.prototype.slice.call(arguments) + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0] } else { - args.unshift("TUNNEL:"); + args.unshift('TUNNEL:') } - console.error.apply(console, args); - }; + console.error.apply(console, args) + } } else { - debug = function() { - }; + debug = function () {} } - exports.debug = debug; + exports.debug = debug } -}); +}) // ../../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js var require_tunnel2 = __commonJS({ - "../../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js"(exports, module2) { - module2.exports = require_tunnel(); + '../../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js'( + exports, + module2 + ) { + module2.exports = require_tunnel() } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/symbols.js var require_symbols = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/symbols.js"(exports, module2) { + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/symbols.js'( + exports, + module2 + ) { module2.exports = { - kClose: Symbol("close"), - kDestroy: Symbol("destroy"), - kDispatch: Symbol("dispatch"), - kUrl: Symbol("url"), - kWriting: Symbol("writing"), - kResuming: Symbol("resuming"), - kQueue: Symbol("queue"), - kConnect: Symbol("connect"), - kConnecting: Symbol("connecting"), - kHeadersList: Symbol("headers list"), - kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), - kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), - kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), - kKeepAliveTimeoutValue: Symbol("keep alive timeout"), - kKeepAlive: Symbol("keep alive"), - kHeadersTimeout: Symbol("headers timeout"), - kBodyTimeout: Symbol("body timeout"), - kServerName: Symbol("server name"), - kLocalAddress: Symbol("local address"), - kHost: Symbol("host"), - kNoRef: Symbol("no ref"), - kBodyUsed: Symbol("used"), - kRunning: Symbol("running"), - kBlocking: Symbol("blocking"), - kPending: Symbol("pending"), - kSize: Symbol("size"), - kBusy: Symbol("busy"), - kQueued: Symbol("queued"), - kFree: Symbol("free"), - kConnected: Symbol("connected"), - kClosed: Symbol("closed"), - kNeedDrain: Symbol("need drain"), - kReset: Symbol("reset"), - kDestroyed: Symbol.for("nodejs.stream.destroyed"), - kMaxHeadersSize: Symbol("max headers size"), - kRunningIdx: Symbol("running index"), - kPendingIdx: Symbol("pending index"), - kError: Symbol("error"), - kClients: Symbol("clients"), - kClient: Symbol("client"), - kParser: Symbol("parser"), - kOnDestroyed: Symbol("destroy callbacks"), - kPipelining: Symbol("pipelining"), - kSocket: Symbol("socket"), - kHostHeader: Symbol("host header"), - kConnector: Symbol("connector"), - kStrictContentLength: Symbol("strict content length"), - kMaxRedirections: Symbol("maxRedirections"), - kMaxRequests: Symbol("maxRequestsPerClient"), - kProxy: Symbol("proxy agent options"), - kCounter: Symbol("socket request counter"), - kInterceptors: Symbol("dispatch interceptors"), - kMaxResponseSize: Symbol("max response size"), - kHTTP2Session: Symbol("http2Session"), - kHTTP2SessionState: Symbol("http2Session state"), - kHTTP2BuildRequest: Symbol("http2 build request"), - kHTTP1BuildRequest: Symbol("http1 build request"), - kHTTP2CopyHeaders: Symbol("http2 copy headers"), - kHTTPConnVersion: Symbol("http connection version") - }; + kClose: Symbol('close'), + kDestroy: Symbol('destroy'), + kDispatch: Symbol('dispatch'), + kUrl: Symbol('url'), + kWriting: Symbol('writing'), + kResuming: Symbol('resuming'), + kQueue: Symbol('queue'), + kConnect: Symbol('connect'), + kConnecting: Symbol('connecting'), + kHeadersList: Symbol('headers list'), + kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'), + kKeepAliveMaxTimeout: Symbol('max keep alive timeout'), + kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'), + kKeepAliveTimeoutValue: Symbol('keep alive timeout'), + kKeepAlive: Symbol('keep alive'), + kHeadersTimeout: Symbol('headers timeout'), + kBodyTimeout: Symbol('body timeout'), + kServerName: Symbol('server name'), + kLocalAddress: Symbol('local address'), + kHost: Symbol('host'), + kNoRef: Symbol('no ref'), + kBodyUsed: Symbol('used'), + kRunning: Symbol('running'), + kBlocking: Symbol('blocking'), + kPending: Symbol('pending'), + kSize: Symbol('size'), + kBusy: Symbol('busy'), + kQueued: Symbol('queued'), + kFree: Symbol('free'), + kConnected: Symbol('connected'), + kClosed: Symbol('closed'), + kNeedDrain: Symbol('need drain'), + kReset: Symbol('reset'), + kDestroyed: Symbol.for('nodejs.stream.destroyed'), + kMaxHeadersSize: Symbol('max headers size'), + kRunningIdx: Symbol('running index'), + kPendingIdx: Symbol('pending index'), + kError: Symbol('error'), + kClients: Symbol('clients'), + kClient: Symbol('client'), + kParser: Symbol('parser'), + kOnDestroyed: Symbol('destroy callbacks'), + kPipelining: Symbol('pipelining'), + kSocket: Symbol('socket'), + kHostHeader: Symbol('host header'), + kConnector: Symbol('connector'), + kStrictContentLength: Symbol('strict content length'), + kMaxRedirections: Symbol('maxRedirections'), + kMaxRequests: Symbol('maxRequestsPerClient'), + kProxy: Symbol('proxy agent options'), + kCounter: Symbol('socket request counter'), + kInterceptors: Symbol('dispatch interceptors'), + kMaxResponseSize: Symbol('max response size'), + kHTTP2Session: Symbol('http2Session'), + kHTTP2SessionState: Symbol('http2Session state'), + kHTTP2BuildRequest: Symbol('http2 build request'), + kHTTP1BuildRequest: Symbol('http1 build request'), + kHTTP2CopyHeaders: Symbol('http2 copy headers'), + kHTTPConnVersion: Symbol('http connection version') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/errors.js var require_errors = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/errors.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/errors.js'( + exports, + module2 + ) { + 'use strict' var UndiciError = class extends Error { constructor(message) { - super(message); - this.name = "UndiciError"; - this.code = "UND_ERR"; + super(message) + this.name = 'UndiciError' + this.code = 'UND_ERR' } - }; + } var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ConnectTimeoutError); - this.name = "ConnectTimeoutError"; - this.message = message || "Connect Timeout Error"; - this.code = "UND_ERR_CONNECT_TIMEOUT"; + super(message) + Error.captureStackTrace(this, _ConnectTimeoutError) + this.name = 'ConnectTimeoutError' + this.message = message || 'Connect Timeout Error' + this.code = 'UND_ERR_CONNECT_TIMEOUT' } - }; + } var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _HeadersTimeoutError); - this.name = "HeadersTimeoutError"; - this.message = message || "Headers Timeout Error"; - this.code = "UND_ERR_HEADERS_TIMEOUT"; + super(message) + Error.captureStackTrace(this, _HeadersTimeoutError) + this.name = 'HeadersTimeoutError' + this.message = message || 'Headers Timeout Error' + this.code = 'UND_ERR_HEADERS_TIMEOUT' } - }; + } var HeadersOverflowError = class _HeadersOverflowError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _HeadersOverflowError); - this.name = "HeadersOverflowError"; - this.message = message || "Headers Overflow Error"; - this.code = "UND_ERR_HEADERS_OVERFLOW"; + super(message) + Error.captureStackTrace(this, _HeadersOverflowError) + this.name = 'HeadersOverflowError' + this.message = message || 'Headers Overflow Error' + this.code = 'UND_ERR_HEADERS_OVERFLOW' } - }; + } var BodyTimeoutError = class _BodyTimeoutError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _BodyTimeoutError); - this.name = "BodyTimeoutError"; - this.message = message || "Body Timeout Error"; - this.code = "UND_ERR_BODY_TIMEOUT"; + super(message) + Error.captureStackTrace(this, _BodyTimeoutError) + this.name = 'BodyTimeoutError' + this.message = message || 'Body Timeout Error' + this.code = 'UND_ERR_BODY_TIMEOUT' } - }; + } var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError { constructor(message, statusCode, headers, body) { - super(message); - Error.captureStackTrace(this, _ResponseStatusCodeError); - this.name = "ResponseStatusCodeError"; - this.message = message || "Response Status Code Error"; - this.code = "UND_ERR_RESPONSE_STATUS_CODE"; - this.body = body; - this.status = statusCode; - this.statusCode = statusCode; - this.headers = headers; - } - }; + super(message) + Error.captureStackTrace(this, _ResponseStatusCodeError) + this.name = 'ResponseStatusCodeError' + this.message = message || 'Response Status Code Error' + this.code = 'UND_ERR_RESPONSE_STATUS_CODE' + this.body = body + this.status = statusCode + this.statusCode = statusCode + this.headers = headers + } + } var InvalidArgumentError = class _InvalidArgumentError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _InvalidArgumentError); - this.name = "InvalidArgumentError"; - this.message = message || "Invalid Argument Error"; - this.code = "UND_ERR_INVALID_ARG"; + super(message) + Error.captureStackTrace(this, _InvalidArgumentError) + this.name = 'InvalidArgumentError' + this.message = message || 'Invalid Argument Error' + this.code = 'UND_ERR_INVALID_ARG' } - }; + } var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _InvalidReturnValueError); - this.name = "InvalidReturnValueError"; - this.message = message || "Invalid Return Value Error"; - this.code = "UND_ERR_INVALID_RETURN_VALUE"; + super(message) + Error.captureStackTrace(this, _InvalidReturnValueError) + this.name = 'InvalidReturnValueError' + this.message = message || 'Invalid Return Value Error' + this.code = 'UND_ERR_INVALID_RETURN_VALUE' } - }; + } var RequestAbortedError = class _RequestAbortedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _RequestAbortedError); - this.name = "AbortError"; - this.message = message || "Request aborted"; - this.code = "UND_ERR_ABORTED"; + super(message) + Error.captureStackTrace(this, _RequestAbortedError) + this.name = 'AbortError' + this.message = message || 'Request aborted' + this.code = 'UND_ERR_ABORTED' } - }; + } var InformationalError = class _InformationalError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _InformationalError); - this.name = "InformationalError"; - this.message = message || "Request information"; - this.code = "UND_ERR_INFO"; + super(message) + Error.captureStackTrace(this, _InformationalError) + this.name = 'InformationalError' + this.message = message || 'Request information' + this.code = 'UND_ERR_INFO' } - }; + } var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _RequestContentLengthMismatchError); - this.name = "RequestContentLengthMismatchError"; - this.message = message || "Request body length does not match content-length header"; - this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + super(message) + Error.captureStackTrace(this, _RequestContentLengthMismatchError) + this.name = 'RequestContentLengthMismatchError' + this.message = + message || 'Request body length does not match content-length header' + this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH' } - }; + } var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ResponseContentLengthMismatchError); - this.name = "ResponseContentLengthMismatchError"; - this.message = message || "Response body length does not match content-length header"; - this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + super(message) + Error.captureStackTrace(this, _ResponseContentLengthMismatchError) + this.name = 'ResponseContentLengthMismatchError' + this.message = + message || 'Response body length does not match content-length header' + this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH' } - }; + } var ClientDestroyedError = class _ClientDestroyedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ClientDestroyedError); - this.name = "ClientDestroyedError"; - this.message = message || "The client is destroyed"; - this.code = "UND_ERR_DESTROYED"; + super(message) + Error.captureStackTrace(this, _ClientDestroyedError) + this.name = 'ClientDestroyedError' + this.message = message || 'The client is destroyed' + this.code = 'UND_ERR_DESTROYED' } - }; + } var ClientClosedError = class _ClientClosedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ClientClosedError); - this.name = "ClientClosedError"; - this.message = message || "The client is closed"; - this.code = "UND_ERR_CLOSED"; + super(message) + Error.captureStackTrace(this, _ClientClosedError) + this.name = 'ClientClosedError' + this.message = message || 'The client is closed' + this.code = 'UND_ERR_CLOSED' } - }; + } var SocketError = class _SocketError extends UndiciError { constructor(message, socket) { - super(message); - Error.captureStackTrace(this, _SocketError); - this.name = "SocketError"; - this.message = message || "Socket error"; - this.code = "UND_ERR_SOCKET"; - this.socket = socket; - } - }; + super(message) + Error.captureStackTrace(this, _SocketError) + this.name = 'SocketError' + this.message = message || 'Socket error' + this.code = 'UND_ERR_SOCKET' + this.socket = socket + } + } var NotSupportedError = class _NotSupportedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _NotSupportedError); - this.name = "NotSupportedError"; - this.message = message || "Not supported error"; - this.code = "UND_ERR_NOT_SUPPORTED"; + super(message) + Error.captureStackTrace(this, _NotSupportedError) + this.name = 'NotSupportedError' + this.message = message || 'Not supported error' + this.code = 'UND_ERR_NOT_SUPPORTED' } - }; + } var BalancedPoolMissingUpstreamError = class extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "MissingUpstreamError"; - this.message = message || "No upstream has been added to the BalancedPool"; - this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + super(message) + Error.captureStackTrace(this, NotSupportedError) + this.name = 'MissingUpstreamError' + this.message = + message || 'No upstream has been added to the BalancedPool' + this.code = 'UND_ERR_BPL_MISSING_UPSTREAM' } - }; + } var HTTPParserError = class _HTTPParserError extends Error { constructor(message, code, data) { - super(message); - Error.captureStackTrace(this, _HTTPParserError); - this.name = "HTTPParserError"; - this.code = code ? `HPE_${code}` : void 0; - this.data = data ? data.toString() : void 0; + super(message) + Error.captureStackTrace(this, _HTTPParserError) + this.name = 'HTTPParserError' + this.code = code ? `HPE_${code}` : void 0 + this.data = data ? data.toString() : void 0 } - }; + } var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ResponseExceededMaxSizeError); - this.name = "ResponseExceededMaxSizeError"; - this.message = message || "Response content exceeded max size"; - this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + super(message) + Error.captureStackTrace(this, _ResponseExceededMaxSizeError) + this.name = 'ResponseExceededMaxSizeError' + this.message = message || 'Response content exceeded max size' + this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE' } - }; + } module2.exports = { HTTPParserError, UndiciError, @@ -2155,256 +2551,340 @@ var require_errors = __commonJS({ ResponseContentLengthMismatchError, BalancedPoolMissingUpstreamError, ResponseExceededMaxSizeError - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/util.js var require_util = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols(); - var { IncomingMessage } = require("http"); - var stream = require("stream"); - var net = require("net"); - var { InvalidArgumentError } = require_errors(); - var { Blob: Blob2 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify: stringify2 } = require("querystring"); - var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); - function nop() { - } + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/util.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { kDestroyed, kBodyUsed } = require_symbols() + var { IncomingMessage } = require('http') + var stream = require('stream') + var net = require('net') + var { InvalidArgumentError } = require_errors() + var { Blob: Blob2 } = require('buffer') + var nodeUtil = require('util') + var { stringify: stringify2 } = require('querystring') + var [nodeMajor, nodeMinor] = process.versions.node + .split('.') + .map((v) => Number(v)) + function nop() {} function isStream(obj) { - return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; + return ( + obj && + typeof obj === 'object' && + typeof obj.pipe === 'function' && + typeof obj.on === 'function' + ) } function isBlobLike(object) { - return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); + return ( + (Blob2 && object instanceof Blob2) || + (object && + typeof object === 'object' && + (typeof object.stream === 'function' || + typeof object.arrayBuffer === 'function') && + /^(Blob|File)$/.test(object[Symbol.toStringTag])) + ) } function buildURL(url, queryParams) { - if (url.includes("?") || url.includes("#")) { - throw new Error('Query params cannot be passed when url already contains "?" or "#".'); + if (url.includes('?') || url.includes('#')) { + throw new Error( + 'Query params cannot be passed when url already contains "?" or "#".' + ) } - const stringified = stringify2(queryParams); + const stringified = stringify2(queryParams) if (stringified) { - url += "?" + stringified; + url += '?' + stringified } - return url; + return url } function parseURL(url) { - if (typeof url === "string") { - url = new URL(url); + if (typeof url === 'string') { + url = new URL(url) if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + throw new InvalidArgumentError( + 'Invalid URL protocol: the URL must start with `http:` or `https:`.' + ) } - return url; + return url } - if (!url || typeof url !== "object") { - throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); + if (!url || typeof url !== 'object') { + throw new InvalidArgumentError( + 'Invalid URL: The URL argument must be a non-null object.' + ) } if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + throw new InvalidArgumentError( + 'Invalid URL protocol: the URL must start with `http:` or `https:`.' + ) } if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { - throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); + if ( + url.port != null && + url.port !== '' && + !Number.isFinite(parseInt(url.port)) + ) { + throw new InvalidArgumentError( + 'Invalid URL: port must be a valid integer or a string representation of an integer.' + ) } - if (url.path != null && typeof url.path !== "string") { - throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); + if (url.path != null && typeof url.path !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL path: the path must be a string or null/undefined.' + ) } - if (url.pathname != null && typeof url.pathname !== "string") { - throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); + if (url.pathname != null && typeof url.pathname !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL pathname: the pathname must be a string or null/undefined.' + ) } - if (url.hostname != null && typeof url.hostname !== "string") { - throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); + if (url.hostname != null && typeof url.hostname !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL hostname: the hostname must be a string or null/undefined.' + ) } - if (url.origin != null && typeof url.origin !== "string") { - throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); + if (url.origin != null && typeof url.origin !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL origin: the origin must be a string or null/undefined.' + ) } - const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80; - let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`; - let path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); + const port = + url.port != null ? url.port : url.protocol === 'https:' ? 443 : 80 + let origin = + url.origin != null + ? url.origin + : `${url.protocol}//${url.hostname}:${port}` + let path = + url.path != null + ? url.path + : `${url.pathname || ''}${url.search || ''}` + if (origin.endsWith('/')) { + origin = origin.substring(0, origin.length - 1) } - if (path && !path.startsWith("/")) { - path = `/${path}`; + if (path && !path.startsWith('/')) { + path = `/${path}` } - url = new URL(origin + path); + url = new URL(origin + path) } - return url; + return url } function parseOrigin(url) { - url = parseURL(url); - if (url.pathname !== "/" || url.search || url.hash) { - throw new InvalidArgumentError("invalid url"); + url = parseURL(url) + if (url.pathname !== '/' || url.search || url.hash) { + throw new InvalidArgumentError('invalid url') } - return url; + return url } function getHostname(host) { - if (host[0] === "[") { - const idx2 = host.indexOf("]"); - assert(idx2 !== -1); - return host.substr(1, idx2 - 1); + if (host[0] === '[') { + const idx2 = host.indexOf(']') + assert(idx2 !== -1) + return host.substr(1, idx2 - 1) } - const idx = host.indexOf(":"); - if (idx === -1) - return host; - return host.substr(0, idx); + const idx = host.indexOf(':') + if (idx === -1) return host + return host.substr(0, idx) } function getServerName(host) { if (!host) { - return null; + return null } - assert.strictEqual(typeof host, "string"); - const servername = getHostname(host); + assert.strictEqual(typeof host, 'string') + const servername = getHostname(host) if (net.isIP(servername)) { - return ""; + return '' } - return servername; + return servername } function deepClone(obj) { - return JSON.parse(JSON.stringify(obj)); + return JSON.parse(JSON.stringify(obj)) } function isAsyncIterable(obj) { - return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); + return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function') } function isIterable(obj) { - return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); + return !!( + obj != null && + (typeof obj[Symbol.iterator] === 'function' || + typeof obj[Symbol.asyncIterator] === 'function') + ) } function bodyLength(body) { if (body == null) { - return 0; + return 0 } else if (isStream(body)) { - const state = body._readableState; - return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; + const state = body._readableState + return state && + state.objectMode === false && + state.ended === true && + Number.isFinite(state.length) + ? state.length + : null } else if (isBlobLike(body)) { - return body.size != null ? body.size : null; + return body.size != null ? body.size : null } else if (isBuffer(body)) { - return body.byteLength; + return body.byteLength } - return null; + return null } function isDestroyed(stream2) { - return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]); + return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]) } function isReadableAborted(stream2) { - const state = stream2 && stream2._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; + const state = stream2 && stream2._readableState + return isDestroyed(stream2) && state && !state.endEmitted } function destroy(stream2, err) { if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { - return; + return } - if (typeof stream2.destroy === "function") { + if (typeof stream2.destroy === 'function') { if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { - stream2.socket = null; + stream2.socket = null } - stream2.destroy(err); + stream2.destroy(err) } else if (err) { - process.nextTick((stream3, err2) => { - stream3.emit("error", err2); - }, stream2, err); + process.nextTick( + (stream3, err2) => { + stream3.emit('error', err2) + }, + stream2, + err + ) } if (stream2.destroyed !== true) { - stream2[kDestroyed] = true; + stream2[kDestroyed] = true } } - var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; + var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/ function parseKeepAliveTimeout(val) { - const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); - return m ? parseInt(m[1], 10) * 1e3 : null; + const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR) + return m ? parseInt(m[1], 10) * 1e3 : null } function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) - return headers; + if (!Array.isArray(headers)) return headers for (let i = 0; i < headers.length; i += 2) { - const key = headers[i].toString().toLowerCase(); - let val = obj[key]; + const key = headers[i].toString().toLowerCase() + let val = obj[key] if (!val) { if (Array.isArray(headers[i + 1])) { - obj[key] = headers[i + 1]; + obj[key] = headers[i + 1] } else { - obj[key] = headers[i + 1].toString("utf8"); + obj[key] = headers[i + 1].toString('utf8') } } else { if (!Array.isArray(val)) { - val = [val]; - obj[key] = val; + val = [val] + obj[key] = val } - val.push(headers[i + 1].toString("utf8")); + val.push(headers[i + 1].toString('utf8')) } } - if ("content-length" in obj && "content-disposition" in obj) { - obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); + if ('content-length' in obj && 'content-disposition' in obj) { + obj['content-disposition'] = Buffer.from( + obj['content-disposition'] + ).toString('latin1') } - return obj; + return obj } function parseRawHeaders(headers) { - const ret = []; - let hasContentLength = false; - let contentDispositionIdx = -1; + const ret = [] + let hasContentLength = false + let contentDispositionIdx = -1 for (let n = 0; n < headers.length; n += 2) { - const key = headers[n + 0].toString(); - const val = headers[n + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); - hasContentLength = true; - } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; + const key = headers[n + 0].toString() + const val = headers[n + 1].toString('utf8') + if ( + key.length === 14 && + (key === 'content-length' || key.toLowerCase() === 'content-length') + ) { + ret.push(key, val) + hasContentLength = true + } else if ( + key.length === 19 && + (key === 'content-disposition' || + key.toLowerCase() === 'content-disposition') + ) { + contentDispositionIdx = ret.push(key, val) - 1 } else { - ret.push(key, val); + ret.push(key, val) } } if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); + ret[contentDispositionIdx] = Buffer.from( + ret[contentDispositionIdx] + ).toString('latin1') } - return ret; + return ret } function isBuffer(buffer) { - return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer) } function validateHandler(handler, method, upgrade) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); + if (!handler || typeof handler !== 'object') { + throw new InvalidArgumentError('handler must be an object') } - if (typeof handler.onConnect !== "function") { - throw new InvalidArgumentError("invalid onConnect method"); + if (typeof handler.onConnect !== 'function') { + throw new InvalidArgumentError('invalid onConnect method') } - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (typeof handler.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method') } - if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { - throw new InvalidArgumentError("invalid onBodySent method"); + if ( + typeof handler.onBodySent !== 'function' && + handler.onBodySent !== void 0 + ) { + throw new InvalidArgumentError('invalid onBodySent method') } - if (upgrade || method === "CONNECT") { - if (typeof handler.onUpgrade !== "function") { - throw new InvalidArgumentError("invalid onUpgrade method"); + if (upgrade || method === 'CONNECT') { + if (typeof handler.onUpgrade !== 'function') { + throw new InvalidArgumentError('invalid onUpgrade method') } } else { - if (typeof handler.onHeaders !== "function") { - throw new InvalidArgumentError("invalid onHeaders method"); + if (typeof handler.onHeaders !== 'function') { + throw new InvalidArgumentError('invalid onHeaders method') } - if (typeof handler.onData !== "function") { - throw new InvalidArgumentError("invalid onData method"); + if (typeof handler.onData !== 'function') { + throw new InvalidArgumentError('invalid onData method') } - if (typeof handler.onComplete !== "function") { - throw new InvalidArgumentError("invalid onComplete method"); + if (typeof handler.onComplete !== 'function') { + throw new InvalidArgumentError('invalid onComplete method') } } } function isDisturbed(body) { - return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); + return !!( + body && + (stream.isDisturbed + ? stream.isDisturbed(body) || body[kBodyUsed] + : body[kBodyUsed] || + body.readableDidRead || + (body._readableState && body._readableState.dataEmitted) || + isReadableAborted(body)) + ) } function isErrored(body) { - return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); + return !!( + body && + (stream.isErrored + ? stream.isErrored(body) + : /state: 'errored'/.test(nodeUtil.inspect(body))) + ) } function isReadable(body) { - return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); + return !!( + body && + (stream.isReadable + ? stream.isReadable(body) + : /state: 'readable'/.test(nodeUtil.inspect(body))) + ) } function getSocketInfo(socket) { return { @@ -2416,91 +2896,104 @@ var require_util = __commonJS({ timeout: socket.timeout, bytesWritten: socket.bytesWritten, bytesRead: socket.bytesRead - }; + } } async function* convertIterableToBuffer(iterable) { for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk) } } - var ReadableStream; + var ReadableStream function ReadableStreamFrom(iterable) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } if (ReadableStream.from) { - return ReadableStream.from(convertIterableToBuffer(iterable)); + return ReadableStream.from(convertIterableToBuffer(iterable)) } - let iterator; + let iterator return new ReadableStream( { async start() { - iterator = iterable[Symbol.asyncIterator](); + iterator = iterable[Symbol.asyncIterator]() }, async pull(controller) { - const { done, value } = await iterator.next(); + const { done, value } = await iterator.next() if (done) { queueMicrotask(() => { - controller.close(); - }); + controller.close() + }) } else { - const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); + const buf = Buffer.isBuffer(value) ? value : Buffer.from(value) + controller.enqueue(new Uint8Array(buf)) } - return controller.desiredSize > 0; + return controller.desiredSize > 0 }, async cancel(reason) { - await iterator.return(); + await iterator.return() } }, 0 - ); + ) } function isFormDataLike(object) { - return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; + return ( + object && + typeof object === 'object' && + typeof object.append === 'function' && + typeof object.delete === 'function' && + typeof object.get === 'function' && + typeof object.getAll === 'function' && + typeof object.has === 'function' && + typeof object.set === 'function' && + object[Symbol.toStringTag] === 'FormData' + ) } function throwIfAborted(signal) { if (!signal) { - return; + return } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); + if (typeof signal.throwIfAborted === 'function') { + signal.throwIfAborted() } else { if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; + const err = new Error('The operation was aborted') + err.name = 'AbortError' + throw err } } } - var events; + var events function addAbortListener(signal, listener) { - if (typeof Symbol.dispose === "symbol") { + if (typeof Symbol.dispose === 'symbol') { if (!events) { - events = require("events"); + events = require('events') } - if (typeof events.addAbortListener === "function" && "aborted" in signal) { - return events.addAbortListener(signal, listener); + if ( + typeof events.addAbortListener === 'function' && + 'aborted' in signal + ) { + return events.addAbortListener(signal, listener) } } - if ("addEventListener" in signal) { - signal.addEventListener("abort", listener, { once: true }); - return () => signal.removeEventListener("abort", listener); + if ('addEventListener' in signal) { + signal.addEventListener('abort', listener, { once: true }) + return () => signal.removeEventListener('abort', listener) } - signal.addListener("abort", listener); - return () => signal.removeListener("abort", listener); + signal.addListener('abort', listener) + return () => signal.removeListener('abort', listener) } - var hasToWellFormed = !!String.prototype.toWellFormed; + var hasToWellFormed = !!String.prototype.toWellFormed function toUSVString(val) { if (hasToWellFormed) { - return `${val}`.toWellFormed(); + return `${val}`.toWellFormed() } else if (nodeUtil.toUSVString) { - return nodeUtil.toUSVString(val); + return nodeUtil.toUSVString(val) } - return `${val}`; + return `${val}` } - var kEnumerableProperty = /* @__PURE__ */ Object.create(null); - kEnumerableProperty.enumerable = true; + var kEnumerableProperty = /* @__PURE__ */ Object.create(null) + kEnumerableProperty.enumerable = true module2.exports = { kEnumerableProperty, nop, @@ -2533,1489 +3026,1459 @@ var require_util = __commonJS({ addAbortListener, nodeMajor, nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13 - }; + nodeHasAutoSelectFamily: + nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 13) + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/timers.js var require_timers = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/timers.js"(exports, module2) { - "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/timers.js'( + exports, + module2 + ) { + 'use strict' + var fastNow = Date.now() + var fastNowTimeout + var fastTimers = [] function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; + fastNow = Date.now() + let len = fastTimers.length + let idx = 0 while (idx < len) { - const timer = fastTimers[idx]; + const timer = fastTimers[idx] if (timer.state === 0) { - timer.state = fastNow + timer.delay; + timer.state = fastNow + timer.delay } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); + timer.state = -1 + timer.callback(timer.opaque) } if (timer.state === -1) { - timer.state = -2; + timer.state = -2 if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); + fastTimers[idx] = fastTimers.pop() } else { - fastTimers.pop(); + fastTimers.pop() } - len -= 1; + len -= 1 } else { - idx += 1; + idx += 1 } } if (fastTimers.length > 0) { - refreshTimeout(); + refreshTimeout() } } function refreshTimeout() { if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); + fastNowTimeout.refresh() } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); + clearTimeout(fastNowTimeout) + fastNowTimeout = setTimeout(onTimeout, 1e3) if (fastNowTimeout.unref) { - fastNowTimeout.unref(); + fastNowTimeout.unref() } } } var Timeout = class { constructor(callback, delay, opaque) { - this.callback = callback; - this.delay = delay; - this.opaque = opaque; - this.state = -2; - this.refresh(); + this.callback = callback + this.delay = delay + this.opaque = opaque + this.state = -2 + this.refresh() } refresh() { if (this.state === -2) { - fastTimers.push(this); + fastTimers.push(this) if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); + refreshTimeout() } } - this.state = 0; + this.state = 0 } clear() { - this.state = -1; + this.state = -1 } - }; + } module2.exports = { setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); + return delay < 1e3 + ? setTimeout(callback, delay, opaque) + : new Timeout(callback, delay, opaque) }, clearTimeout(timeout) { if (timeout instanceof Timeout) { - timeout.clear(); + timeout.clear() } else { - clearTimeout(timeout); + clearTimeout(timeout) } } - }; + } } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js var require_sbmh = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js'( + exports, + module2 + ) { + 'use strict' + var EventEmitter = require('node:events').EventEmitter + var inherits = require('node:util').inherits function SBMH(needle) { - if (typeof needle === "string") { - needle = Buffer.from(needle); + if (typeof needle === 'string') { + needle = Buffer.from(needle) } if (!Buffer.isBuffer(needle)) { - throw new TypeError("The needle has to be a String or a Buffer."); + throw new TypeError('The needle has to be a String or a Buffer.') } - const needleLength = needle.length; + const needleLength = needle.length if (needleLength === 0) { - throw new Error("The needle cannot be an empty String/Buffer."); + throw new Error('The needle cannot be an empty String/Buffer.') } if (needleLength > 256) { - throw new Error("The needle cannot have a length bigger than 256."); - } - this.maxMatches = Infinity; - this.matches = 0; - this._occ = new Array(256).fill(needleLength); - this._lookbehind_size = 0; - this._needle = needle; - this._bufpos = 0; - this._lookbehind = Buffer.alloc(needleLength); + throw new Error('The needle cannot have a length bigger than 256.') + } + this.maxMatches = Infinity + this.matches = 0 + this._occ = new Array(256).fill(needleLength) + this._lookbehind_size = 0 + this._needle = needle + this._bufpos = 0 + this._lookbehind = Buffer.alloc(needleLength) for (var i = 0; i < needleLength - 1; ++i) { - this._occ[needle[i]] = needleLength - 1 - i; + this._occ[needle[i]] = needleLength - 1 - i } } - inherits(SBMH, EventEmitter); - SBMH.prototype.reset = function() { - this._lookbehind_size = 0; - this.matches = 0; - this._bufpos = 0; - }; - SBMH.prototype.push = function(chunk, pos) { + inherits(SBMH, EventEmitter) + SBMH.prototype.reset = function () { + this._lookbehind_size = 0 + this.matches = 0 + this._bufpos = 0 + } + SBMH.prototype.push = function (chunk, pos) { if (!Buffer.isBuffer(chunk)) { - chunk = Buffer.from(chunk, "binary"); + chunk = Buffer.from(chunk, 'binary') } - const chlen = chunk.length; - this._bufpos = pos || 0; - let r; + const chlen = chunk.length + this._bufpos = pos || 0 + let r while (r !== chlen && this.matches < this.maxMatches) { - r = this._sbmh_feed(chunk); - } - return r; - }; - SBMH.prototype._sbmh_feed = function(data) { - const len = data.length; - const needle = this._needle; - const needleLength = needle.length; - const lastNeedleChar = needle[needleLength - 1]; - let pos = -this._lookbehind_size; - let ch; + r = this._sbmh_feed(chunk) + } + return r + } + SBMH.prototype._sbmh_feed = function (data) { + const len = data.length + const needle = this._needle + const needleLength = needle.length + const lastNeedleChar = needle[needleLength - 1] + let pos = -this._lookbehind_size + let ch if (pos < 0) { while (pos < 0 && pos <= len - needleLength) { - ch = this._sbmh_lookup_char(data, pos + needleLength - 1); - if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { - this._lookbehind_size = 0; - ++this.matches; - this.emit("info", true); - return this._bufpos = pos + needleLength; + ch = this._sbmh_lookup_char(data, pos + needleLength - 1) + if ( + ch === lastNeedleChar && + this._sbmh_memcmp(data, pos, needleLength - 1) + ) { + this._lookbehind_size = 0 + ++this.matches + this.emit('info', true) + return (this._bufpos = pos + needleLength) } - pos += this._occ[ch]; + pos += this._occ[ch] } if (pos < 0) { while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { - ++pos; + ++pos } } if (pos >= 0) { - this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); - this._lookbehind_size = 0; + this.emit('info', false, this._lookbehind, 0, this._lookbehind_size) + this._lookbehind_size = 0 } else { - const bytesToCutOff = this._lookbehind_size + pos; + const bytesToCutOff = this._lookbehind_size + pos if (bytesToCutOff > 0) { - this.emit("info", false, this._lookbehind, 0, bytesToCutOff); + this.emit('info', false, this._lookbehind, 0, bytesToCutOff) } this._lookbehind.copy( this._lookbehind, 0, bytesToCutOff, this._lookbehind_size - bytesToCutOff - ); - this._lookbehind_size -= bytesToCutOff; - data.copy(this._lookbehind, this._lookbehind_size); - this._lookbehind_size += len; - this._bufpos = len; - return len; + ) + this._lookbehind_size -= bytesToCutOff + data.copy(this._lookbehind, this._lookbehind_size) + this._lookbehind_size += len + this._bufpos = len + return len } } - pos += (pos >= 0) * this._bufpos; + pos += (pos >= 0) * this._bufpos if (data.indexOf(needle, pos) !== -1) { - pos = data.indexOf(needle, pos); - ++this.matches; + pos = data.indexOf(needle, pos) + ++this.matches if (pos > 0) { - this.emit("info", true, data, this._bufpos, pos); + this.emit('info', true, data, this._bufpos, pos) } else { - this.emit("info", true); + this.emit('info', true) } - return this._bufpos = pos + needleLength; + return (this._bufpos = pos + needleLength) } else { - pos = len - needleLength; - } - while (pos < len && (data[pos] !== needle[0] || Buffer.compare( - data.subarray(pos, pos + len - pos), - needle.subarray(0, len - pos) - ) !== 0)) { - ++pos; + pos = len - needleLength + } + while ( + pos < len && + (data[pos] !== needle[0] || + Buffer.compare( + data.subarray(pos, pos + len - pos), + needle.subarray(0, len - pos) + ) !== 0) + ) { + ++pos } if (pos < len) { - data.copy(this._lookbehind, 0, pos, pos + (len - pos)); - this._lookbehind_size = len - pos; + data.copy(this._lookbehind, 0, pos, pos + (len - pos)) + this._lookbehind_size = len - pos } if (pos > 0) { - this.emit("info", false, data, this._bufpos, pos < len ? pos : len); - } - this._bufpos = len; - return len; - }; - SBMH.prototype._sbmh_lookup_char = function(data, pos) { - return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; - }; - SBMH.prototype._sbmh_memcmp = function(data, pos, len) { + this.emit('info', false, data, this._bufpos, pos < len ? pos : len) + } + this._bufpos = len + return len + } + SBMH.prototype._sbmh_lookup_char = function (data, pos) { + return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos] + } + SBMH.prototype._sbmh_memcmp = function (data, pos, len) { for (var i = 0; i < len; ++i) { if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) { - return false; + return false } } - return true; - }; - module2.exports = SBMH; + return true + } + module2.exports = SBMH } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js var require_PartStream = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports, module2) { - "use strict"; - var inherits = require("node:util").inherits; - var ReadableStream = require("node:stream").Readable; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js'( + exports, + module2 + ) { + 'use strict' + var inherits = require('node:util').inherits + var ReadableStream = require('node:stream').Readable function PartStream(opts) { - ReadableStream.call(this, opts); + ReadableStream.call(this, opts) } - inherits(PartStream, ReadableStream); - PartStream.prototype._read = function(n) { - }; - module2.exports = PartStream; + inherits(PartStream, ReadableStream) + PartStream.prototype._read = function (n) {} + module2.exports = PartStream } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/getLimit.js var require_getLimit = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/getLimit.js'( + exports, + module2 + ) { + 'use strict' module2.exports = function getLimit(limits, name, defaultLimit) { if (!limits || limits[name] === void 0 || limits[name] === null) { - return defaultLimit; + return defaultLimit } - if (typeof limits[name] !== "number" || isNaN(limits[name])) { - throw new TypeError("Limit " + name + " is not a valid number"); + if (typeof limits[name] !== 'number' || isNaN(limits[name])) { + throw new TypeError('Limit ' + name + ' is not a valid number') } - return limits[name]; - }; + return limits[name] + } } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js var require_HeaderParser = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - var getLimit = require_getLimit(); - var StreamSearch = require_sbmh(); - var B_DCRLF = Buffer.from("\r\n\r\n"); - var RE_CRLF = /\r\n/g; - var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js'( + exports, + module2 + ) { + 'use strict' + var EventEmitter = require('node:events').EventEmitter + var inherits = require('node:util').inherits + var getLimit = require_getLimit() + var StreamSearch = require_sbmh() + var B_DCRLF = Buffer.from('\r\n\r\n') + var RE_CRLF = /\r\n/g + var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/ function HeaderParser(cfg) { - EventEmitter.call(this); - cfg = cfg || {}; - const self = this; - this.nread = 0; - this.maxed = false; - this.npairs = 0; - this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); - this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); - this.buffer = ""; - this.header = {}; - this.finished = false; - this.ss = new StreamSearch(B_DCRLF); - this.ss.on("info", function(isMatch, data, start, end) { + EventEmitter.call(this) + cfg = cfg || {} + const self = this + this.nread = 0 + this.maxed = false + this.npairs = 0 + this.maxHeaderPairs = getLimit(cfg, 'maxHeaderPairs', 2e3) + this.maxHeaderSize = getLimit(cfg, 'maxHeaderSize', 80 * 1024) + this.buffer = '' + this.header = {} + this.finished = false + this.ss = new StreamSearch(B_DCRLF) + this.ss.on('info', function (isMatch, data, start, end) { if (data && !self.maxed) { if (self.nread + end - start >= self.maxHeaderSize) { - end = self.maxHeaderSize - self.nread + start; - self.nread = self.maxHeaderSize; - self.maxed = true; + end = self.maxHeaderSize - self.nread + start + self.nread = self.maxHeaderSize + self.maxed = true } else { - self.nread += end - start; + self.nread += end - start } - self.buffer += data.toString("binary", start, end); + self.buffer += data.toString('binary', start, end) } if (isMatch) { - self._finish(); + self._finish() } - }); + }) } - inherits(HeaderParser, EventEmitter); - HeaderParser.prototype.push = function(data) { - const r = this.ss.push(data); + inherits(HeaderParser, EventEmitter) + HeaderParser.prototype.push = function (data) { + const r = this.ss.push(data) if (this.finished) { - return r; - } - }; - HeaderParser.prototype.reset = function() { - this.finished = false; - this.buffer = ""; - this.header = {}; - this.ss.reset(); - }; - HeaderParser.prototype._finish = function() { + return r + } + } + HeaderParser.prototype.reset = function () { + this.finished = false + this.buffer = '' + this.header = {} + this.ss.reset() + } + HeaderParser.prototype._finish = function () { if (this.buffer) { - this._parseHeader(); - } - this.ss.matches = this.ss.maxMatches; - const header = this.header; - this.header = {}; - this.buffer = ""; - this.finished = true; - this.nread = this.npairs = 0; - this.maxed = false; - this.emit("header", header); - }; - HeaderParser.prototype._parseHeader = function() { + this._parseHeader() + } + this.ss.matches = this.ss.maxMatches + const header = this.header + this.header = {} + this.buffer = '' + this.finished = true + this.nread = this.npairs = 0 + this.maxed = false + this.emit('header', header) + } + HeaderParser.prototype._parseHeader = function () { if (this.npairs === this.maxHeaderPairs) { - return; + return } - const lines = this.buffer.split(RE_CRLF); - const len = lines.length; - let m, h; + const lines = this.buffer.split(RE_CRLF) + const len = lines.length + let m, h for (var i = 0; i < len; ++i) { if (lines[i].length === 0) { - continue; + continue } - if (lines[i][0] === " " || lines[i][0] === " ") { + if (lines[i][0] === ' ' || lines[i][0] === ' ') { if (h) { - this.header[h][this.header[h].length - 1] += lines[i]; - continue; + this.header[h][this.header[h].length - 1] += lines[i] + continue } } - const posColon = lines[i].indexOf(":"); + const posColon = lines[i].indexOf(':') if (posColon === -1 || posColon === 0) { - return; + return } - m = RE_HDR.exec(lines[i]); - h = m[1].toLowerCase(); - this.header[h] = this.header[h] || []; - this.header[h].push(m[2] || ""); + m = RE_HDR.exec(lines[i]) + h = m[1].toLowerCase() + this.header[h] = this.header[h] || [] + this.header[h].push(m[2] || '') if (++this.npairs === this.maxHeaderPairs) { - break; + break } } - }; - module2.exports = HeaderParser; + } + module2.exports = HeaderParser } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js var require_Dicer = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var inherits = require("node:util").inherits; - var StreamSearch = require_sbmh(); - var PartStream = require_PartStream(); - var HeaderParser = require_HeaderParser(); - var DASH = 45; - var B_ONEDASH = Buffer.from("-"); - var B_CRLF = Buffer.from("\r\n"); - var EMPTY_FN = function() { - }; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js'( + exports, + module2 + ) { + 'use strict' + var WritableStream = require('node:stream').Writable + var inherits = require('node:util').inherits + var StreamSearch = require_sbmh() + var PartStream = require_PartStream() + var HeaderParser = require_HeaderParser() + var DASH = 45 + var B_ONEDASH = Buffer.from('-') + var B_CRLF = Buffer.from('\r\n') + var EMPTY_FN = function () {} function Dicer(cfg) { if (!(this instanceof Dicer)) { - return new Dicer(cfg); + return new Dicer(cfg) } - WritableStream.call(this, cfg); - if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { - throw new TypeError("Boundary required"); + WritableStream.call(this, cfg) + if (!cfg || (!cfg.headerFirst && typeof cfg.boundary !== 'string')) { + throw new TypeError('Boundary required') } - if (typeof cfg.boundary === "string") { - this.setBoundary(cfg.boundary); + if (typeof cfg.boundary === 'string') { + this.setBoundary(cfg.boundary) } else { - this._bparser = void 0; - } - this._headerFirst = cfg.headerFirst; - this._dashes = 0; - this._parts = 0; - this._finished = false; - this._realFinish = false; - this._isPreamble = true; - this._justMatched = false; - this._firstWrite = true; - this._inHeader = true; - this._part = void 0; - this._cb = void 0; - this._ignoreData = false; - this._partOpts = { highWaterMark: cfg.partHwm }; - this._pause = false; - const self = this; - this._hparser = new HeaderParser(cfg); - this._hparser.on("header", function(header) { - self._inHeader = false; - self._part.emit("header", header); - }); - } - inherits(Dicer, WritableStream); - Dicer.prototype.emit = function(ev) { - if (ev === "finish" && !this._realFinish) { + this._bparser = void 0 + } + this._headerFirst = cfg.headerFirst + this._dashes = 0 + this._parts = 0 + this._finished = false + this._realFinish = false + this._isPreamble = true + this._justMatched = false + this._firstWrite = true + this._inHeader = true + this._part = void 0 + this._cb = void 0 + this._ignoreData = false + this._partOpts = { highWaterMark: cfg.partHwm } + this._pause = false + const self = this + this._hparser = new HeaderParser(cfg) + this._hparser.on('header', function (header) { + self._inHeader = false + self._part.emit('header', header) + }) + } + inherits(Dicer, WritableStream) + Dicer.prototype.emit = function (ev) { + if (ev === 'finish' && !this._realFinish) { if (!this._finished) { - const self = this; - process.nextTick(function() { - self.emit("error", new Error("Unexpected end of multipart data")); + const self = this + process.nextTick(function () { + self.emit('error', new Error('Unexpected end of multipart data')) if (self._part && !self._ignoreData) { - const type = self._isPreamble ? "Preamble" : "Part"; - self._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data")); - self._part.push(null); - process.nextTick(function() { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - }); - return; - } - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - }); + const type = self._isPreamble ? 'Preamble' : 'Part' + self._part.emit( + 'error', + new Error( + type + + ' terminated early due to unexpected end of multipart data' + ) + ) + self._part.push(null) + process.nextTick(function () { + self._realFinish = true + self.emit('finish') + self._realFinish = false + }) + return + } + self._realFinish = true + self.emit('finish') + self._realFinish = false + }) } } else { - WritableStream.prototype.emit.apply(this, arguments); + WritableStream.prototype.emit.apply(this, arguments) } - }; - Dicer.prototype._write = function(data, encoding, cb) { + } + Dicer.prototype._write = function (data, encoding, cb) { if (!this._hparser && !this._bparser) { - return cb(); + return cb() } if (this._headerFirst && this._isPreamble) { if (!this._part) { - this._part = new PartStream(this._partOpts); + this._part = new PartStream(this._partOpts) if (this._events.preamble) { - this.emit("preamble", this._part); + this.emit('preamble', this._part) } else { - this._ignore(); + this._ignore() } } - const r = this._hparser.push(data); + const r = this._hparser.push(data) if (!this._inHeader && r !== void 0 && r < data.length) { - data = data.slice(r); + data = data.slice(r) } else { - return cb(); + return cb() } } if (this._firstWrite) { - this._bparser.push(B_CRLF); - this._firstWrite = false; + this._bparser.push(B_CRLF) + this._firstWrite = false } - this._bparser.push(data); + this._bparser.push(data) if (this._pause) { - this._cb = cb; + this._cb = cb } else { - cb(); - } - }; - Dicer.prototype.reset = function() { - this._part = void 0; - this._bparser = void 0; - this._hparser = void 0; - }; - Dicer.prototype.setBoundary = function(boundary) { - const self = this; - this._bparser = new StreamSearch("\r\n--" + boundary); - this._bparser.on("info", function(isMatch, data, start, end) { - self._oninfo(isMatch, data, start, end); - }); - }; - Dicer.prototype._ignore = function() { + cb() + } + } + Dicer.prototype.reset = function () { + this._part = void 0 + this._bparser = void 0 + this._hparser = void 0 + } + Dicer.prototype.setBoundary = function (boundary) { + const self = this + this._bparser = new StreamSearch('\r\n--' + boundary) + this._bparser.on('info', function (isMatch, data, start, end) { + self._oninfo(isMatch, data, start, end) + }) + } + Dicer.prototype._ignore = function () { if (this._part && !this._ignoreData) { - this._ignoreData = true; - this._part.on("error", EMPTY_FN); - this._part.resume(); - } - }; - Dicer.prototype._oninfo = function(isMatch, data, start, end) { - let buf; - const self = this; - let i = 0; - let r; - let shouldWriteMore = true; + this._ignoreData = true + this._part.on('error', EMPTY_FN) + this._part.resume() + } + } + Dicer.prototype._oninfo = function (isMatch, data, start, end) { + let buf + const self = this + let i = 0 + let r + let shouldWriteMore = true if (!this._part && this._justMatched && data) { while (this._dashes < 2 && start + i < end) { if (data[start + i] === DASH) { - ++i; - ++this._dashes; + ++i + ++this._dashes } else { if (this._dashes) { - buf = B_ONEDASH; + buf = B_ONEDASH } - this._dashes = 0; - break; + this._dashes = 0 + break } } if (this._dashes === 2) { if (start + i < end && this._events.trailer) { - this.emit("trailer", data.slice(start + i, end)); + this.emit('trailer', data.slice(start + i, end)) } - this.reset(); - this._finished = true; + this.reset() + this._finished = true if (self._parts === 0) { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; + self._realFinish = true + self.emit('finish') + self._realFinish = false } } if (this._dashes) { - return; + return } } if (this._justMatched) { - this._justMatched = false; + this._justMatched = false } if (!this._part) { - this._part = new PartStream(this._partOpts); - this._part._read = function(n) { - self._unpause(); - }; + this._part = new PartStream(this._partOpts) + this._part._read = function (n) { + self._unpause() + } if (this._isPreamble && this._events.preamble) { - this.emit("preamble", this._part); + this.emit('preamble', this._part) } else if (this._isPreamble !== true && this._events.part) { - this.emit("part", this._part); + this.emit('part', this._part) } else { - this._ignore(); + this._ignore() } if (!this._isPreamble) { - this._inHeader = true; + this._inHeader = true } } if (data && start < end && !this._ignoreData) { if (this._isPreamble || !this._inHeader) { if (buf) { - shouldWriteMore = this._part.push(buf); + shouldWriteMore = this._part.push(buf) } - shouldWriteMore = this._part.push(data.slice(start, end)); + shouldWriteMore = this._part.push(data.slice(start, end)) if (!shouldWriteMore) { - this._pause = true; + this._pause = true } } else if (!this._isPreamble && this._inHeader) { if (buf) { - this._hparser.push(buf); + this._hparser.push(buf) } - r = this._hparser.push(data.slice(start, end)); + r = this._hparser.push(data.slice(start, end)) if (!this._inHeader && r !== void 0 && r < end) { - this._oninfo(false, data, start + r, end); + this._oninfo(false, data, start + r, end) } } } if (isMatch) { - this._hparser.reset(); + this._hparser.reset() if (this._isPreamble) { - this._isPreamble = false; + this._isPreamble = false } else { if (start !== end) { - ++this._parts; - this._part.on("end", function() { + ++this._parts + this._part.on('end', function () { if (--self._parts === 0) { if (self._finished) { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; + self._realFinish = true + self.emit('finish') + self._realFinish = false } else { - self._unpause(); + self._unpause() } } - }); + }) } } - this._part.push(null); - this._part = void 0; - this._ignoreData = false; - this._justMatched = true; - this._dashes = 0; + this._part.push(null) + this._part = void 0 + this._ignoreData = false + this._justMatched = true + this._dashes = 0 } - }; - Dicer.prototype._unpause = function() { + } + Dicer.prototype._unpause = function () { if (!this._pause) { - return; + return } - this._pause = false; + this._pause = false if (this._cb) { - const cb = this._cb; - this._cb = void 0; - cb(); + const cb = this._cb + this._cb = void 0 + cb() } - }; - module2.exports = Dicer; + } + module2.exports = Dicer } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/decodeText.js var require_decodeText = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports, module2) { - "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/decodeText.js'( + exports, + module2 + ) { + 'use strict' + var utf8Decoder = new TextDecoder('utf-8') var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] - ]); + ['utf-8', utf8Decoder], + ['utf8', utf8Decoder] + ]) function decodeText(text, textEncoding, destEncoding) { if (text) { if (textDecoders.has(destEncoding)) { try { - return textDecoders.get(destEncoding).decode(Buffer.from(text, textEncoding)); - } catch (e) { - } + return textDecoders + .get(destEncoding) + .decode(Buffer.from(text, textEncoding)) + } catch (e) {} } else { try { - textDecoders.set(destEncoding, new TextDecoder(destEncoding)); - return textDecoders.get(destEncoding).decode(Buffer.from(text, textEncoding)); - } catch (e) { - } + textDecoders.set(destEncoding, new TextDecoder(destEncoding)) + return textDecoders + .get(destEncoding) + .decode(Buffer.from(text, textEncoding)) + } catch (e) {} } } - return text; + return text } - module2.exports = decodeText; + module2.exports = decodeText } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/parseParams.js var require_parseParams = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports, module2) { - "use strict"; - var decodeText = require_decodeText(); - var RE_ENCODED = /%([a-fA-F0-9]{2})/g; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/parseParams.js'( + exports, + module2 + ) { + 'use strict' + var decodeText = require_decodeText() + var RE_ENCODED = /%([a-fA-F0-9]{2})/g function encodedReplacer(match, byte) { - return String.fromCharCode(parseInt(byte, 16)); + return String.fromCharCode(parseInt(byte, 16)) } function parseParams(str) { - const res = []; - let state = "key"; - let charset = ""; - let inquote = false; - let escaping = false; - let p = 0; - let tmp = ""; + const res = [] + let state = 'key' + let charset = '' + let inquote = false + let escaping = false + let p = 0 + let tmp = '' for (var i = 0, len = str.length; i < len; ++i) { - const char = str[i]; - if (char === "\\" && inquote) { + const char = str[i] + if (char === '\\' && inquote) { if (escaping) { - escaping = false; + escaping = false } else { - escaping = true; - continue; + escaping = true + continue } } else if (char === '"') { if (!escaping) { if (inquote) { - inquote = false; - state = "key"; + inquote = false + state = 'key' } else { - inquote = true; + inquote = true } - continue; + continue } else { - escaping = false; + escaping = false } } else { if (escaping && inquote) { - tmp += "\\"; + tmp += '\\' } - escaping = false; - if ((state === "charset" || state === "lang") && char === "'") { - if (state === "charset") { - state = "lang"; - charset = tmp.substring(1); + escaping = false + if ((state === 'charset' || state === 'lang') && char === "'") { + if (state === 'charset') { + state = 'lang' + charset = tmp.substring(1) } else { - state = "value"; + state = 'value' } - tmp = ""; - continue; - } else if (state === "key" && (char === "*" || char === "=") && res.length) { - if (char === "*") { - state = "charset"; + tmp = '' + continue + } else if ( + state === 'key' && + (char === '*' || char === '=') && + res.length + ) { + if (char === '*') { + state = 'charset' } else { - state = "value"; + state = 'value' } - res[p] = [tmp, void 0]; - tmp = ""; - continue; - } else if (!inquote && char === ";") { - state = "key"; + res[p] = [tmp, void 0] + tmp = '' + continue + } else if (!inquote && char === ';') { + state = 'key' if (charset) { if (tmp.length) { tmp = decodeText( tmp.replace(RE_ENCODED, encodedReplacer), - "binary", + 'binary', charset - ); + ) } - charset = ""; + charset = '' } else if (tmp.length) { - tmp = decodeText(tmp, "binary", "utf8"); + tmp = decodeText(tmp, 'binary', 'utf8') } if (res[p] === void 0) { - res[p] = tmp; + res[p] = tmp } else { - res[p][1] = tmp; + res[p][1] = tmp } - tmp = ""; - ++p; - continue; - } else if (!inquote && (char === " " || char === " ")) { - continue; + tmp = '' + ++p + continue + } else if (!inquote && (char === ' ' || char === ' ')) { + continue } } - tmp += char; + tmp += char } if (charset && tmp.length) { tmp = decodeText( tmp.replace(RE_ENCODED, encodedReplacer), - "binary", + 'binary', charset - ); + ) } else if (tmp) { - tmp = decodeText(tmp, "binary", "utf8"); + tmp = decodeText(tmp, 'binary', 'utf8') } if (res[p] === void 0) { if (tmp) { - res[p] = tmp; + res[p] = tmp } } else { - res[p][1] = tmp; + res[p][1] = tmp } - return res; + return res } - module2.exports = parseParams; + module2.exports = parseParams } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/basename.js var require_basename = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/basename.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/basename.js'( + exports, + module2 + ) { + 'use strict' module2.exports = function basename(path) { - if (typeof path !== "string") { - return ""; + if (typeof path !== 'string') { + return '' } for (var i = path.length - 1; i >= 0; --i) { switch (path.charCodeAt(i)) { case 47: case 92: - path = path.slice(i + 1); - return path === ".." || path === "." ? "" : path; + path = path.slice(i + 1) + return path === '..' || path === '.' ? '' : path } } - return path === ".." || path === "." ? "" : path; - }; + return path === '..' || path === '.' ? '' : path + } } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/types/multipart.js var require_multipart = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/types/multipart.js"(exports, module2) { - "use strict"; - var { Readable } = require("node:stream"); - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var parseParams = require_parseParams(); - var decodeText = require_decodeText(); - var basename = require_basename(); - var getLimit = require_getLimit(); - var RE_BOUNDARY = /^boundary$/i; - var RE_FIELD = /^form-data$/i; - var RE_CHARSET = /^charset$/i; - var RE_FILENAME = /^filename$/i; - var RE_NAME = /^name$/i; - Multipart.detect = /^multipart\/form-data/i; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/types/multipart.js'( + exports, + module2 + ) { + 'use strict' + var { Readable } = require('node:stream') + var { inherits } = require('node:util') + var Dicer = require_Dicer() + var parseParams = require_parseParams() + var decodeText = require_decodeText() + var basename = require_basename() + var getLimit = require_getLimit() + var RE_BOUNDARY = /^boundary$/i + var RE_FIELD = /^form-data$/i + var RE_CHARSET = /^charset$/i + var RE_FILENAME = /^filename$/i + var RE_NAME = /^name$/i + Multipart.detect = /^multipart\/form-data/i function Multipart(boy, cfg) { - let i; - let len; - const self = this; - let boundary; - const limits = cfg.limits; - const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); - const parsedConType = cfg.parsedConType || []; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { highWaterMark: cfg.fileHwm }; + let i + let len + const self = this + let boundary + const limits = cfg.limits + const isPartAFile = + cfg.isPartAFile || + ((fieldName, contentType, fileName) => + contentType === 'application/octet-stream' || fileName !== void 0) + const parsedConType = cfg.parsedConType || [] + const defCharset = cfg.defCharset || 'utf8' + const preservePath = cfg.preservePath + const fileOpts = { highWaterMark: cfg.fileHwm } for (i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) { - boundary = parsedConType[i][1]; - break; + if ( + Array.isArray(parsedConType[i]) && + RE_BOUNDARY.test(parsedConType[i][0]) + ) { + boundary = parsedConType[i][1] + break } } function checkFinished() { if (nends === 0 && finished && !boy._done) { - finished = false; - self.end(); - } - } - if (typeof boundary !== "string") { - throw new Error("Multipart: Boundary not found"); - } - const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - const fileSizeLimit = getLimit(limits, "fileSize", Infinity); - const filesLimit = getLimit(limits, "files", Infinity); - const fieldsLimit = getLimit(limits, "fields", Infinity); - const partsLimit = getLimit(limits, "parts", Infinity); - const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); - const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); - let nfiles = 0; - let nfields = 0; - let nends = 0; - let curFile; - let curField; - let finished = false; - this._needDrain = false; - this._pause = false; - this._cb = void 0; - this._nparts = 0; - this._boy = boy; + finished = false + self.end() + } + } + if (typeof boundary !== 'string') { + throw new Error('Multipart: Boundary not found') + } + const fieldSizeLimit = getLimit(limits, 'fieldSize', 1 * 1024 * 1024) + const fileSizeLimit = getLimit(limits, 'fileSize', Infinity) + const filesLimit = getLimit(limits, 'files', Infinity) + const fieldsLimit = getLimit(limits, 'fields', Infinity) + const partsLimit = getLimit(limits, 'parts', Infinity) + const headerPairsLimit = getLimit(limits, 'headerPairs', 2e3) + const headerSizeLimit = getLimit(limits, 'headerSize', 80 * 1024) + let nfiles = 0 + let nfields = 0 + let nends = 0 + let curFile + let curField + let finished = false + this._needDrain = false + this._pause = false + this._cb = void 0 + this._nparts = 0 + this._boy = boy const parserCfg = { boundary, maxHeaderPairs: headerPairsLimit, maxHeaderSize: headerSizeLimit, partHwm: fileOpts.highWaterMark, highWaterMark: cfg.highWaterMark - }; - this.parser = new Dicer(parserCfg); - this.parser.on("drain", function() { - self._needDrain = false; - if (self._cb && !self._pause) { - const cb = self._cb; - self._cb = void 0; - cb(); - } - }).on("part", function onPart(part) { - if (++self._nparts > partsLimit) { - self.parser.removeListener("part", onPart); - self.parser.on("part", skipPart); - boy.hitPartsLimit = true; - boy.emit("partsLimit"); - return skipPart(part); - } - if (curField) { - const field = curField; - field.emit("end"); - field.removeAllListeners("end"); - } - part.on("header", function(header) { - let contype; - let fieldname; - let parsed; - let charset; - let encoding; - let filename; - let nsize = 0; - if (header["content-type"]) { - parsed = parseParams(header["content-type"][0]); - if (parsed[0]) { - contype = parsed[0].toLowerCase(); - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_CHARSET.test(parsed[i][0])) { - charset = parsed[i][1].toLowerCase(); - break; + } + this.parser = new Dicer(parserCfg) + this.parser + .on('drain', function () { + self._needDrain = false + if (self._cb && !self._pause) { + const cb = self._cb + self._cb = void 0 + cb() + } + }) + .on('part', function onPart(part) { + if (++self._nparts > partsLimit) { + self.parser.removeListener('part', onPart) + self.parser.on('part', skipPart) + boy.hitPartsLimit = true + boy.emit('partsLimit') + return skipPart(part) + } + if (curField) { + const field = curField + field.emit('end') + field.removeAllListeners('end') + } + part + .on('header', function (header) { + let contype + let fieldname + let parsed + let charset + let encoding + let filename + let nsize = 0 + if (header['content-type']) { + parsed = parseParams(header['content-type'][0]) + if (parsed[0]) { + contype = parsed[0].toLowerCase() + for (i = 0, len = parsed.length; i < len; ++i) { + if (RE_CHARSET.test(parsed[i][0])) { + charset = parsed[i][1].toLowerCase() + break + } + } } } - } - } - if (contype === void 0) { - contype = "text/plain"; - } - if (charset === void 0) { - charset = defCharset; - } - if (header["content-disposition"]) { - parsed = parseParams(header["content-disposition"][0]); - if (!RE_FIELD.test(parsed[0])) { - return skipPart(part); - } - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_NAME.test(parsed[i][0])) { - fieldname = parsed[i][1]; - } else if (RE_FILENAME.test(parsed[i][0])) { - filename = parsed[i][1]; - if (!preservePath) { - filename = basename(filename); - } - } - } - } else { - return skipPart(part); - } - if (header["content-transfer-encoding"]) { - encoding = header["content-transfer-encoding"][0].toLowerCase(); - } else { - encoding = "7bit"; - } - let onData, onEnd; - if (isPartAFile(fieldname, contype, filename)) { - if (nfiles === filesLimit) { - if (!boy.hitFilesLimit) { - boy.hitFilesLimit = true; - boy.emit("filesLimit"); - } - return skipPart(part); - } - ++nfiles; - if (!boy._events.file) { - self.parser._ignore(); - return; - } - ++nends; - const file = new FileStream(fileOpts); - curFile = file; - file.on("end", function() { - --nends; - self._pause = false; - checkFinished(); - if (self._cb && !self._needDrain) { - const cb = self._cb; - self._cb = void 0; - cb(); + if (contype === void 0) { + contype = 'text/plain' } - }); - file._read = function(n) { - if (!self._pause) { - return; + if (charset === void 0) { + charset = defCharset } - self._pause = false; - if (self._cb && !self._needDrain) { - const cb = self._cb; - self._cb = void 0; - cb(); - } - }; - boy.emit("file", fieldname, file, filename, encoding, contype); - onData = function(data) { - if ((nsize += data.length) > fileSizeLimit) { - const extralen = fileSizeLimit - nsize + data.length; - if (extralen > 0) { - file.push(data.slice(0, extralen)); + if (header['content-disposition']) { + parsed = parseParams(header['content-disposition'][0]) + if (!RE_FIELD.test(parsed[0])) { + return skipPart(part) + } + for (i = 0, len = parsed.length; i < len; ++i) { + if (RE_NAME.test(parsed[i][0])) { + fieldname = parsed[i][1] + } else if (RE_FILENAME.test(parsed[i][0])) { + filename = parsed[i][1] + if (!preservePath) { + filename = basename(filename) + } + } } - file.truncated = true; - file.bytesRead = fileSizeLimit; - part.removeAllListeners("data"); - file.emit("limit"); - return; - } else if (!file.push(data)) { - self._pause = true; + } else { + return skipPart(part) } - file.bytesRead = nsize; - }; - onEnd = function() { - curFile = void 0; - file.push(null); - }; - } else { - if (nfields === fieldsLimit) { - if (!boy.hitFieldsLimit) { - boy.hitFieldsLimit = true; - boy.emit("fieldsLimit"); + if (header['content-transfer-encoding']) { + encoding = header['content-transfer-encoding'][0].toLowerCase() + } else { + encoding = '7bit' } - return skipPart(part); - } - ++nfields; - ++nends; - let buffer = ""; - let truncated = false; - curField = part; - onData = function(data) { - if ((nsize += data.length) > fieldSizeLimit) { - const extralen = fieldSizeLimit - (nsize - data.length); - buffer += data.toString("binary", 0, extralen); - truncated = true; - part.removeAllListeners("data"); + let onData, onEnd + if (isPartAFile(fieldname, contype, filename)) { + if (nfiles === filesLimit) { + if (!boy.hitFilesLimit) { + boy.hitFilesLimit = true + boy.emit('filesLimit') + } + return skipPart(part) + } + ++nfiles + if (!boy._events.file) { + self.parser._ignore() + return + } + ++nends + const file = new FileStream(fileOpts) + curFile = file + file.on('end', function () { + --nends + self._pause = false + checkFinished() + if (self._cb && !self._needDrain) { + const cb = self._cb + self._cb = void 0 + cb() + } + }) + file._read = function (n) { + if (!self._pause) { + return + } + self._pause = false + if (self._cb && !self._needDrain) { + const cb = self._cb + self._cb = void 0 + cb() + } + } + boy.emit('file', fieldname, file, filename, encoding, contype) + onData = function (data) { + if ((nsize += data.length) > fileSizeLimit) { + const extralen = fileSizeLimit - nsize + data.length + if (extralen > 0) { + file.push(data.slice(0, extralen)) + } + file.truncated = true + file.bytesRead = fileSizeLimit + part.removeAllListeners('data') + file.emit('limit') + return + } else if (!file.push(data)) { + self._pause = true + } + file.bytesRead = nsize + } + onEnd = function () { + curFile = void 0 + file.push(null) + } } else { - buffer += data.toString("binary"); + if (nfields === fieldsLimit) { + if (!boy.hitFieldsLimit) { + boy.hitFieldsLimit = true + boy.emit('fieldsLimit') + } + return skipPart(part) + } + ++nfields + ++nends + let buffer = '' + let truncated = false + curField = part + onData = function (data) { + if ((nsize += data.length) > fieldSizeLimit) { + const extralen = fieldSizeLimit - (nsize - data.length) + buffer += data.toString('binary', 0, extralen) + truncated = true + part.removeAllListeners('data') + } else { + buffer += data.toString('binary') + } + } + onEnd = function () { + curField = void 0 + if (buffer.length) { + buffer = decodeText(buffer, 'binary', charset) + } + boy.emit( + 'field', + fieldname, + buffer, + false, + truncated, + encoding, + contype + ) + --nends + checkFinished() + } } - }; - onEnd = function() { - curField = void 0; - if (buffer.length) { - buffer = decodeText(buffer, "binary", charset); + part._readableState.sync = false + part.on('data', onData) + part.on('end', onEnd) + }) + .on('error', function (err) { + if (curFile) { + curFile.emit('error', err) } - boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); - --nends; - checkFinished(); - }; - } - part._readableState.sync = false; - part.on("data", onData); - part.on("end", onEnd); - }).on("error", function(err) { - if (curFile) { - curFile.emit("error", err); - } - }); - }).on("error", function(err) { - boy.emit("error", err); - }).on("finish", function() { - finished = true; - checkFinished(); - }); - } - Multipart.prototype.write = function(chunk, cb) { - const r = this.parser.write(chunk); + }) + }) + .on('error', function (err) { + boy.emit('error', err) + }) + .on('finish', function () { + finished = true + checkFinished() + }) + } + Multipart.prototype.write = function (chunk, cb) { + const r = this.parser.write(chunk) if (r && !this._pause) { - cb(); + cb() } else { - this._needDrain = !r; - this._cb = cb; + this._needDrain = !r + this._cb = cb } - }; - Multipart.prototype.end = function() { - const self = this; + } + Multipart.prototype.end = function () { + const self = this if (self.parser.writable) { - self.parser.end(); + self.parser.end() } else if (!self._boy._done) { - process.nextTick(function() { - self._boy._done = true; - self._boy.emit("finish"); - }); + process.nextTick(function () { + self._boy._done = true + self._boy.emit('finish') + }) } - }; + } function skipPart(part) { - part.resume(); + part.resume() } function FileStream(opts) { - Readable.call(this, opts); - this.bytesRead = 0; - this.truncated = false; - } - inherits(FileStream, Readable); - FileStream.prototype._read = function(n) { - }; - module2.exports = Multipart; + Readable.call(this, opts) + this.bytesRead = 0 + this.truncated = false + } + inherits(FileStream, Readable) + FileStream.prototype._read = function (n) {} + module2.exports = Multipart } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/Decoder.js var require_Decoder = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports, module2) { - "use strict"; - var RE_PLUS = /\+/g; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/utils/Decoder.js'( + exports, + module2 + ) { + 'use strict' + var RE_PLUS = /\+/g var HEX = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0 + ] function Decoder() { - this.buffer = void 0; - } - Decoder.prototype.write = function(str) { - str = str.replace(RE_PLUS, " "); - let res = ""; - let i = 0; - let p = 0; - const len = str.length; + this.buffer = void 0 + } + Decoder.prototype.write = function (str) { + str = str.replace(RE_PLUS, ' ') + let res = '' + let i = 0 + let p = 0 + const len = str.length for (; i < len; ++i) { if (this.buffer !== void 0) { if (!HEX[str.charCodeAt(i)]) { - res += "%" + this.buffer; - this.buffer = void 0; - --i; + res += '%' + this.buffer + this.buffer = void 0 + --i } else { - this.buffer += str[i]; - ++p; + this.buffer += str[i] + ++p if (this.buffer.length === 2) { - res += String.fromCharCode(parseInt(this.buffer, 16)); - this.buffer = void 0; + res += String.fromCharCode(parseInt(this.buffer, 16)) + this.buffer = void 0 } } - } else if (str[i] === "%") { + } else if (str[i] === '%') { if (i > p) { - res += str.substring(p, i); - p = i; + res += str.substring(p, i) + p = i } - this.buffer = ""; - ++p; + this.buffer = '' + ++p } } if (p < len && this.buffer === void 0) { - res += str.substring(p); - } - return res; - }; - Decoder.prototype.reset = function() { - this.buffer = void 0; - }; - module2.exports = Decoder; + res += str.substring(p) + } + return res + } + Decoder.prototype.reset = function () { + this.buffer = void 0 + } + module2.exports = Decoder } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/types/urlencoded.js var require_urlencoded = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports, module2) { - "use strict"; - var Decoder = require_Decoder(); - var decodeText = require_decodeText(); - var getLimit = require_getLimit(); - var RE_CHARSET = /^charset$/i; - UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/types/urlencoded.js'( + exports, + module2 + ) { + 'use strict' + var Decoder = require_Decoder() + var decodeText = require_decodeText() + var getLimit = require_getLimit() + var RE_CHARSET = /^charset$/i + UrlEncoded.detect = /^application\/x-www-form-urlencoded/i function UrlEncoded(boy, cfg) { - const limits = cfg.limits; - const parsedConType = cfg.parsedConType; - this.boy = boy; - this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); - this.fieldsLimit = getLimit(limits, "fields", Infinity); - let charset; + const limits = cfg.limits + const parsedConType = cfg.parsedConType + this.boy = boy + this.fieldSizeLimit = getLimit(limits, 'fieldSize', 1 * 1024 * 1024) + this.fieldNameSizeLimit = getLimit(limits, 'fieldNameSize', 100) + this.fieldsLimit = getLimit(limits, 'fields', Infinity) + let charset for (var i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) { - charset = parsedConType[i][1].toLowerCase(); - break; + if ( + Array.isArray(parsedConType[i]) && + RE_CHARSET.test(parsedConType[i][0]) + ) { + charset = parsedConType[i][1].toLowerCase() + break } } if (charset === void 0) { - charset = cfg.defCharset || "utf8"; - } - this.decoder = new Decoder(); - this.charset = charset; - this._fields = 0; - this._state = "key"; - this._checkingBytes = true; - this._bytesKey = 0; - this._bytesVal = 0; - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._hitLimit = false; - } - UrlEncoded.prototype.write = function(data, cb) { + charset = cfg.defCharset || 'utf8' + } + this.decoder = new Decoder() + this.charset = charset + this._fields = 0 + this._state = 'key' + this._checkingBytes = true + this._bytesKey = 0 + this._bytesVal = 0 + this._key = '' + this._val = '' + this._keyTrunc = false + this._valTrunc = false + this._hitLimit = false + } + UrlEncoded.prototype.write = function (data, cb) { if (this._fields === this.fieldsLimit) { if (!this.boy.hitFieldsLimit) { - this.boy.hitFieldsLimit = true; - this.boy.emit("fieldsLimit"); + this.boy.hitFieldsLimit = true + this.boy.emit('fieldsLimit') } - return cb(); + return cb() } - let idxeq; - let idxamp; - let i; - let p = 0; - const len = data.length; + let idxeq + let idxamp + let i + let p = 0 + const len = data.length while (p < len) { - if (this._state === "key") { - idxeq = idxamp = void 0; + if (this._state === 'key') { + idxeq = idxamp = void 0 for (i = p; i < len; ++i) { if (!this._checkingBytes) { - ++p; + ++p } if (data[i] === 61) { - idxeq = i; - break; + idxeq = i + break } else if (data[i] === 38) { - idxamp = i; - break; + idxamp = i + break } - if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { - this._hitLimit = true; - break; + if ( + this._checkingBytes && + this._bytesKey === this.fieldNameSizeLimit + ) { + this._hitLimit = true + break } else if (this._checkingBytes) { - ++this._bytesKey; + ++this._bytesKey } } if (idxeq !== void 0) { if (idxeq > p) { - this._key += this.decoder.write(data.toString("binary", p, idxeq)); - } - this._state = "val"; - this._hitLimit = false; - this._checkingBytes = true; - this._val = ""; - this._bytesVal = 0; - this._valTrunc = false; - this.decoder.reset(); - p = idxeq + 1; + this._key += this.decoder.write(data.toString('binary', p, idxeq)) + } + this._state = 'val' + this._hitLimit = false + this._checkingBytes = true + this._val = '' + this._bytesVal = 0 + this._valTrunc = false + this.decoder.reset() + p = idxeq + 1 } else if (idxamp !== void 0) { - ++this._fields; - let key; - const keyTrunc = this._keyTrunc; + ++this._fields + let key + const keyTrunc = this._keyTrunc if (idxamp > p) { - key = this._key += this.decoder.write(data.toString("binary", p, idxamp)); + key = this._key += this.decoder.write( + data.toString('binary', p, idxamp) + ) } else { - key = this._key; - } - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); + key = this._key + } + this._hitLimit = false + this._checkingBytes = true + this._key = '' + this._bytesKey = 0 + this._keyTrunc = false + this.decoder.reset() if (key.length) { this.boy.emit( - "field", - decodeText(key, "binary", this.charset), - "", + 'field', + decodeText(key, 'binary', this.charset), + '', keyTrunc, false - ); + ) } - p = idxamp + 1; + p = idxamp + 1 if (this._fields === this.fieldsLimit) { - return cb(); + return cb() } } else if (this._hitLimit) { if (i > p) { - this._key += this.decoder.write(data.toString("binary", p, i)); + this._key += this.decoder.write(data.toString('binary', p, i)) } - p = i; - if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { - this._checkingBytes = false; - this._keyTrunc = true; + p = i + if ( + (this._bytesKey = this._key.length) === this.fieldNameSizeLimit + ) { + this._checkingBytes = false + this._keyTrunc = true } } else { if (p < len) { - this._key += this.decoder.write(data.toString("binary", p)); + this._key += this.decoder.write(data.toString('binary', p)) } - p = len; + p = len } } else { - idxamp = void 0; + idxamp = void 0 for (i = p; i < len; ++i) { if (!this._checkingBytes) { - ++p; + ++p } if (data[i] === 38) { - idxamp = i; - break; + idxamp = i + break } if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { - this._hitLimit = true; - break; + this._hitLimit = true + break } else if (this._checkingBytes) { - ++this._bytesVal; + ++this._bytesVal } } if (idxamp !== void 0) { - ++this._fields; + ++this._fields if (idxamp > p) { - this._val += this.decoder.write(data.toString("binary", p, idxamp)); + this._val += this.decoder.write( + data.toString('binary', p, idxamp) + ) } this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), + 'field', + decodeText(this._key, 'binary', this.charset), + decodeText(this._val, 'binary', this.charset), this._keyTrunc, this._valTrunc - ); - this._state = "key"; - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - p = idxamp + 1; + ) + this._state = 'key' + this._hitLimit = false + this._checkingBytes = true + this._key = '' + this._bytesKey = 0 + this._keyTrunc = false + this.decoder.reset() + p = idxamp + 1 if (this._fields === this.fieldsLimit) { - return cb(); + return cb() } } else if (this._hitLimit) { if (i > p) { - this._val += this.decoder.write(data.toString("binary", p, i)); + this._val += this.decoder.write(data.toString('binary', p, i)) } - p = i; - if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { - this._checkingBytes = false; - this._valTrunc = true; + p = i + if ( + (this._val === '' && this.fieldSizeLimit === 0) || + (this._bytesVal = this._val.length) === this.fieldSizeLimit + ) { + this._checkingBytes = false + this._valTrunc = true } } else { if (p < len) { - this._val += this.decoder.write(data.toString("binary", p)); + this._val += this.decoder.write(data.toString('binary', p)) } - p = len; + p = len } } } - cb(); - }; - UrlEncoded.prototype.end = function() { + cb() + } + UrlEncoded.prototype.end = function () { if (this.boy._done) { - return; + return } - if (this._state === "key" && this._key.length > 0) { + if (this._state === 'key' && this._key.length > 0) { this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - "", + 'field', + decodeText(this._key, 'binary', this.charset), + '', this._keyTrunc, false - ); - } else if (this._state === "val") { + ) + } else if (this._state === 'val') { this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), + 'field', + decodeText(this._key, 'binary', this.charset), + decodeText(this._val, 'binary', this.charset), this._keyTrunc, this._valTrunc - ); + ) } - this.boy._done = true; - this.boy.emit("finish"); - }; - module2.exports = UrlEncoded; + this.boy._done = true + this.boy.emit('finish') + } + module2.exports = UrlEncoded } -}); +}) // ../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/main.js var require_main = __commonJS({ - "../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/main.js"(exports, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var MultipartParser = require_multipart(); - var UrlencodedParser = require_urlencoded(); - var parseParams = require_parseParams(); + '../../node_modules/.pnpm/@fastify+busboy@2.0.0/node_modules/@fastify/busboy/lib/main.js'( + exports, + module2 + ) { + 'use strict' + var WritableStream = require('node:stream').Writable + var { inherits } = require('node:util') + var Dicer = require_Dicer() + var MultipartParser = require_multipart() + var UrlencodedParser = require_urlencoded() + var parseParams = require_parseParams() function Busboy(opts) { if (!(this instanceof Busboy)) { - return new Busboy(opts); + return new Busboy(opts) } - if (typeof opts !== "object") { - throw new TypeError("Busboy expected an options-Object."); + if (typeof opts !== 'object') { + throw new TypeError('Busboy expected an options-Object.') } - if (typeof opts.headers !== "object") { - throw new TypeError("Busboy expected an options-Object with headers-attribute."); + if (typeof opts.headers !== 'object') { + throw new TypeError( + 'Busboy expected an options-Object with headers-attribute.' + ) } - if (typeof opts.headers["content-type"] !== "string") { - throw new TypeError("Missing Content-Type-header."); + if (typeof opts.headers['content-type'] !== 'string') { + throw new TypeError('Missing Content-Type-header.') } - const { - headers, - ...streamOptions - } = opts; + const { headers, ...streamOptions } = opts this.opts = { autoDestroy: false, ...streamOptions - }; - WritableStream.call(this, this.opts); - this._done = false; - this._parser = this.getParserByHeaders(headers); - this._finished = false; - } - inherits(Busboy, WritableStream); - Busboy.prototype.emit = function(ev) { - if (ev === "finish") { + } + WritableStream.call(this, this.opts) + this._done = false + this._parser = this.getParserByHeaders(headers) + this._finished = false + } + inherits(Busboy, WritableStream) + Busboy.prototype.emit = function (ev) { + if (ev === 'finish') { if (!this._done) { - this._parser?.end(); - return; + this._parser?.end() + return } else if (this._finished) { - return; + return } - this._finished = true; + this._finished = true } - WritableStream.prototype.emit.apply(this, arguments); - }; - Busboy.prototype.getParserByHeaders = function(headers) { - const parsed = parseParams(headers["content-type"]); + WritableStream.prototype.emit.apply(this, arguments) + } + Busboy.prototype.getParserByHeaders = function (headers) { + const parsed = parseParams(headers['content-type']) const cfg = { defCharset: this.opts.defCharset, fileHwm: this.opts.fileHwm, @@ -4025,196 +4488,200 @@ var require_main = __commonJS({ limits: this.opts.limits, parsedConType: parsed, preservePath: this.opts.preservePath - }; + } if (MultipartParser.detect.test(parsed[0])) { - return new MultipartParser(this, cfg); + return new MultipartParser(this, cfg) } if (UrlencodedParser.detect.test(parsed[0])) { - return new UrlencodedParser(this, cfg); - } - throw new Error("Unsupported Content-Type."); - }; - Busboy.prototype._write = function(chunk, encoding, cb) { - this._parser.write(chunk, cb); - }; - module2.exports = Busboy; - module2.exports.default = Busboy; - module2.exports.Busboy = Busboy; - module2.exports.Dicer = Dicer; + return new UrlencodedParser(this, cfg) + } + throw new Error('Unsupported Content-Type.') + } + Busboy.prototype._write = function (chunk, encoding, cb) { + this._parser.write(chunk, cb) + } + module2.exports = Busboy + module2.exports.default = Busboy + module2.exports.Busboy = Busboy + module2.exports.Dicer = Dicer } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/constants.js var require_constants = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/constants.js"(exports, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; - var redirectStatusSet = new Set(redirectStatus); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/constants.js'( + exports, + module2 + ) { + 'use strict' + var { MessageChannel, receiveMessageOnPort } = require('worker_threads') + var corsSafeListedMethods = ['GET', 'HEAD', 'POST'] + var corsSafeListedMethodsSet = new Set(corsSafeListedMethods) + var nullBodyStatus = [101, 204, 205, 304] + var redirectStatus = [301, 302, 303, 307, 308] + var redirectStatusSet = new Set(redirectStatus) var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; - var badPortsSet = new Set(badPorts); + '1', + '7', + '9', + '11', + '13', + '15', + '17', + '19', + '20', + '21', + '22', + '23', + '25', + '37', + '42', + '43', + '53', + '69', + '77', + '79', + '87', + '95', + '101', + '102', + '103', + '104', + '109', + '110', + '111', + '113', + '115', + '117', + '119', + '123', + '135', + '137', + '139', + '143', + '161', + '179', + '389', + '427', + '465', + '512', + '513', + '514', + '515', + '526', + '530', + '531', + '532', + '540', + '548', + '554', + '556', + '563', + '587', + '601', + '636', + '989', + '990', + '993', + '995', + '1719', + '1720', + '1723', + '2049', + '3659', + '4045', + '5060', + '5061', + '6000', + '6566', + '6665', + '6666', + '6667', + '6668', + '6669', + '6697', + '10080' + ] + var badPortsSet = new Set(badPorts) var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var referrerPolicySet = new Set(referrerPolicy); - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var safeMethodsSet = new Set(safeMethods); - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; + '', + 'no-referrer', + 'no-referrer-when-downgrade', + 'same-origin', + 'origin', + 'strict-origin', + 'origin-when-cross-origin', + 'strict-origin-when-cross-origin', + 'unsafe-url' + ] + var referrerPolicySet = new Set(referrerPolicy) + var requestRedirect = ['follow', 'manual', 'error'] + var safeMethods = ['GET', 'HEAD', 'OPTIONS', 'TRACE'] + var safeMethodsSet = new Set(safeMethods) + var requestMode = ['navigate', 'same-origin', 'no-cors', 'cors'] + var requestCredentials = ['omit', 'same-origin', 'include'] var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; + 'default', + 'no-store', + 'reload', + 'no-cache', + 'force-cache', + 'only-if-cached' + ] var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", + 'content-encoding', + 'content-language', + 'content-location', + 'content-type', // See https://github.com/nodejs/undici/issues/2021 // 'Content-Length' is a forbidden header name, which is typically // removed in the Headers implementation. However, undici doesn't // filter out headers, so we add it here. - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; - var forbiddenMethodsSet = new Set(forbiddenMethods); + 'content-length' + ] + var requestDuplex = ['half'] + var forbiddenMethods = ['CONNECT', 'TRACE', 'TRACK'] + var forbiddenMethodsSet = new Set(forbiddenMethods) var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var subresourceSet = new Set(subresource); - var DOMException2 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; - } - })(); - var channel; - var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js - // structuredClone was added in v17.0.0, but fetch supports v16.8 - function structuredClone2(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); - } - if (!channel) { - channel = new MessageChannel(); - } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; + 'audio', + 'audioworklet', + 'font', + 'image', + 'manifest', + 'paintworklet', + 'script', + 'style', + 'track', + 'video', + 'xslt', + '' + ] + var subresourceSet = new Set(subresource) + var DOMException2 = + globalThis.DOMException ?? + (() => { + try { + atob('~') + } catch (err) { + return Object.getPrototypeOf(err).constructor + } + })() + var channel + var structuredClone = + globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js + // structuredClone was added in v17.0.0, but fetch supports v16.8 + function structuredClone2(value, options = void 0) { + if (arguments.length === 0) { + throw new TypeError('missing argument') + } + if (!channel) { + channel = new MessageChannel() + } + channel.port1.unref() + channel.port2.unref() + channel.port1.postMessage(value, options?.transfer) + return receiveMessageOnPort(channel.port2).message + } module2.exports = { DOMException: DOMException2, structuredClone, @@ -4239,17 +4706,20 @@ var require_constants = __commonJS({ safeMethodsSet, forbiddenMethodsSet, referrerPolicySet - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/global.js var require_global = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/global.js"(exports, module2) { - "use strict"; - var globalOrigin = Symbol.for("undici.globalOrigin.1"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/global.js'( + exports, + module2 + ) { + 'use strict' + var globalOrigin = Symbol.for('undici.globalOrigin.1') function getGlobalOrigin() { - return globalThis[globalOrigin]; + return globalThis[globalOrigin] } function setGlobalOrigin(newOrigin) { if (newOrigin === void 0) { @@ -4258,177 +4728,226 @@ var require_global = __commonJS({ writable: true, enumerable: false, configurable: false - }); - return; + }) + return } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); + const parsedURL = new URL(newOrigin) + if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { + throw new TypeError( + `Only http & https urls are allowed, received ${parsedURL.protocol}` + ) } Object.defineProperty(globalThis, globalOrigin, { value: parsedURL, writable: true, enumerable: false, configurable: false - }); + }) } module2.exports = { getGlobalOrigin, setGlobalOrigin - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/util.js var require_util2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/util.js"(exports, module2) { - "use strict"; - var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants(); - var { getGlobalOrigin } = require_global(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var crypto4; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/util.js'( + exports, + module2 + ) { + 'use strict' + var { + redirectStatusSet, + referrerPolicySet: referrerPolicyTokens, + badPortsSet + } = require_constants() + var { getGlobalOrigin } = require_global() + var { performance: performance2 } = require('perf_hooks') + var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util() + var assert = require('assert') + var { isUint8Array } = require('util/types') + var crypto4 try { - crypto4 = require("crypto"); - } catch { - } + crypto4 = require('crypto') + } catch {} function responseURL(response) { - const urlList = response.urlList; - const length = urlList.length; - return length === 0 ? null : urlList[length - 1].toString(); + const urlList = response.urlList + const length = urlList.length + return length === 0 ? null : urlList[length - 1].toString() } function responseLocationURL(response, requestFragment) { if (!redirectStatusSet.has(response.status)) { - return null; + return null } - let location = response.headersList.get("location"); + let location = response.headersList.get('location') if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); + location = new URL(location, responseURL(response)) } if (location && !location.hash) { - location.hash = requestFragment; + location.hash = requestFragment } - return location; + return location } function requestCurrentURL(request) { - return request.urlList[request.urlList.length - 1]; + return request.urlList[request.urlList.length - 1] } function requestBadPort(request) { - const url = requestCurrentURL(request); + const url = requestCurrentURL(request) if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { - return "blocked"; + return 'blocked' } - return "allowed"; + return 'allowed' } function isErrorLike(object) { - return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); + return ( + object instanceof Error || + object?.constructor?.name === 'Error' || + object?.constructor?.name === 'DOMException' + ) } function isValidReasonPhrase(statusText) { for (let i = 0; i < statusText.length; ++i) { - const c = statusText.charCodeAt(i); - if (!(c === 9 || // HTAB - c >= 32 && c <= 126 || // SP / VCHAR - c >= 128 && c <= 255)) { - return false; + const c = statusText.charCodeAt(i) + if ( + !( + c === 9 || // HTAB + (c >= 32 && c <= 126) || // SP / VCHAR + (c >= 128 && c <= 255) + ) + ) { + return false } } - return true; + return true } function isTokenChar(c) { - return !(c >= 127 || c <= 32 || c === "(" || c === ")" || c === "<" || c === ">" || c === "@" || c === "," || c === ";" || c === ":" || c === "\\" || c === '"' || c === "/" || c === "[" || c === "]" || c === "?" || c === "=" || c === "{" || c === "}"); + return !( + c >= 127 || + c <= 32 || + c === '(' || + c === ')' || + c === '<' || + c === '>' || + c === '@' || + c === ',' || + c === ';' || + c === ':' || + c === '\\' || + c === '"' || + c === '/' || + c === '[' || + c === ']' || + c === '?' || + c === '=' || + c === '{' || + c === '}' + ) } function isValidHTTPToken(characters) { - if (!characters || typeof characters !== "string") { - return false; + if (!characters || typeof characters !== 'string') { + return false } for (let i = 0; i < characters.length; ++i) { - const c = characters.charCodeAt(i); + const c = characters.charCodeAt(i) if (c > 127 || !isTokenChar(c)) { - return false; + return false } } - return true; + return true } function isValidHeaderName(potentialValue) { if (potentialValue.length === 0) { - return false; + return false } - return isValidHTTPToken(potentialValue); + return isValidHTTPToken(potentialValue) } function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; + if ( + potentialValue.startsWith(' ') || + potentialValue.startsWith(' ') || + potentialValue.endsWith(' ') || + potentialValue.endsWith(' ') + ) { + return false } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; + if ( + potentialValue.includes('\0') || + potentialValue.includes('\r') || + potentialValue.includes('\n') + ) { + return false } - return true; + return true } function setRequestReferrerPolicyOnRedirect(request, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; + const { headersList } = actualResponse + const policyHeader = (headersList.get('referrer-policy') ?? '').split(',') + let policy = '' if (policyHeader.length > 0) { for (let i = policyHeader.length; i !== 0; i--) { - const token = policyHeader[i - 1].trim(); + const token = policyHeader[i - 1].trim() if (referrerPolicyTokens.has(token)) { - policy = token; - break; + policy = token + break } } } - if (policy !== "") { - request.referrerPolicy = policy; + if (policy !== '') { + request.referrerPolicy = policy } } function crossOriginResourcePolicyCheck() { - return "allowed"; + return 'allowed' } function corsCheck() { - return "success"; + return 'success' } function TAOCheck() { - return "success"; + return 'success' } function appendFetchMetadata(httpRequest) { - let header = null; - header = httpRequest.mode; - httpRequest.headersList.set("sec-fetch-mode", header); + let header = null + header = httpRequest.mode + httpRequest.headersList.set('sec-fetch-mode', header) } function appendRequestOriginHeader(request) { - let serializedOrigin = request.origin; - if (request.responseTainting === "cors" || request.mode === "websocket") { + let serializedOrigin = request.origin + if (request.responseTainting === 'cors' || request.mode === 'websocket') { if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); + request.headersList.append('origin', serializedOrigin) } - } else if (request.method !== "GET" && request.method !== "HEAD") { + } else if (request.method !== 'GET' && request.method !== 'HEAD') { switch (request.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - case "same-origin": + case 'no-referrer': + serializedOrigin = null + break + case 'no-referrer-when-downgrade': + case 'strict-origin': + case 'strict-origin-when-cross-origin': + if ( + request.origin && + urlHasHttpsScheme(request.origin) && + !urlHasHttpsScheme(requestCurrentURL(request)) + ) { + serializedOrigin = null + } + break + case 'same-origin': if (!sameOrigin(request, requestCurrentURL(request))) { - serializedOrigin = null; + serializedOrigin = null } - break; + break default: } if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); + request.headersList.append('origin', serializedOrigin) } } } function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); + return performance2.now() } function createOpaqueTimingInfo(timingInfo) { return { @@ -4443,324 +4962,370 @@ var require_util2 = __commonJS({ encodedBodySize: 0, decodedBodySize: 0, finalConnectionTimingInfo: null - }; + } } function makePolicyContainer() { return { - referrerPolicy: "strict-origin-when-cross-origin" - }; + referrerPolicy: 'strict-origin-when-cross-origin' + } } function clonePolicyContainer(policyContainer) { return { referrerPolicy: policyContainer.referrerPolicy - }; + } } function determineRequestsReferrer(request) { - const policy = request.referrerPolicy; - assert(policy); - let referrerSource = null; - if (request.referrer === "client") { - const globalOrigin = getGlobalOrigin(); - if (!globalOrigin || globalOrigin.origin === "null") { - return "no-referrer"; - } - referrerSource = new URL(globalOrigin); + const policy = request.referrerPolicy + assert(policy) + let referrerSource = null + if (request.referrer === 'client') { + const globalOrigin = getGlobalOrigin() + if (!globalOrigin || globalOrigin.origin === 'null') { + return 'no-referrer' + } + referrerSource = new URL(globalOrigin) } else if (request.referrer instanceof URL) { - referrerSource = request.referrer; + referrerSource = request.referrer } - let referrerURL = stripURLForReferrer(referrerSource); - const referrerOrigin = stripURLForReferrer(referrerSource, true); + let referrerURL = stripURLForReferrer(referrerSource) + const referrerOrigin = stripURLForReferrer(referrerSource, true) if (referrerURL.toString().length > 4096) { - referrerURL = referrerOrigin; + referrerURL = referrerOrigin } - const areSameOrigin = sameOrigin(request, referrerURL); - const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); + const areSameOrigin = sameOrigin(request, referrerURL) + const isNonPotentiallyTrustWorthy = + isURLPotentiallyTrustworthy(referrerURL) && + !isURLPotentiallyTrustworthy(request.url) switch (policy) { - case "origin": - return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); - case "unsafe-url": - return referrerURL; - case "same-origin": - return areSameOrigin ? referrerOrigin : "no-referrer"; - case "origin-when-cross-origin": - return areSameOrigin ? referrerURL : referrerOrigin; - case "strict-origin-when-cross-origin": { - const currentURL = requestCurrentURL(request); + case 'origin': + return referrerOrigin != null + ? referrerOrigin + : stripURLForReferrer(referrerSource, true) + case 'unsafe-url': + return referrerURL + case 'same-origin': + return areSameOrigin ? referrerOrigin : 'no-referrer' + case 'origin-when-cross-origin': + return areSameOrigin ? referrerURL : referrerOrigin + case 'strict-origin-when-cross-origin': { + const currentURL = requestCurrentURL(request) if (sameOrigin(referrerURL, currentURL)) { - return referrerURL; + return referrerURL } - if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { - return "no-referrer"; + if ( + isURLPotentiallyTrustworthy(referrerURL) && + !isURLPotentiallyTrustworthy(currentURL) + ) { + return 'no-referrer' } - return referrerOrigin; + return referrerOrigin } - case "strict-origin": - case "no-referrer-when-downgrade": + case 'strict-origin': + case 'no-referrer-when-downgrade': default: - return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; + return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin } } function stripURLForReferrer(url, originOnly) { - assert(url instanceof URL); - if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { - return "no-referrer"; + assert(url instanceof URL) + if ( + url.protocol === 'file:' || + url.protocol === 'about:' || + url.protocol === 'blank:' + ) { + return 'no-referrer' } - url.username = ""; - url.password = ""; - url.hash = ""; + url.username = '' + url.password = '' + url.hash = '' if (originOnly) { - url.pathname = ""; - url.search = ""; + url.pathname = '' + url.search = '' } - return url; + return url } function isURLPotentiallyTrustworthy(url) { if (!(url instanceof URL)) { - return false; + return false } - if (url.href === "about:blank" || url.href === "about:srcdoc") { - return true; + if (url.href === 'about:blank' || url.href === 'about:srcdoc') { + return true } - if (url.protocol === "data:") - return true; - if (url.protocol === "file:") - return true; - return isOriginPotentiallyTrustworthy(url.origin); + if (url.protocol === 'data:') return true + if (url.protocol === 'file:') return true + return isOriginPotentiallyTrustworthy(url.origin) function isOriginPotentiallyTrustworthy(origin) { - if (origin == null || origin === "null") - return false; - const originAsURL = new URL(origin); - if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { - return true; - } - if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) { - return true; - } - return false; + if (origin == null || origin === 'null') return false + const originAsURL = new URL(origin) + if ( + originAsURL.protocol === 'https:' || + originAsURL.protocol === 'wss:' + ) { + return true + } + if ( + /^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test( + originAsURL.hostname + ) || + originAsURL.hostname === 'localhost' || + originAsURL.hostname.includes('localhost.') || + originAsURL.hostname.endsWith('.localhost') + ) { + return true + } + return false } } function bytesMatch(bytes, metadataList) { if (crypto4 === void 0) { - return true; + return true } - const parsedMetadata = parseMetadata(metadataList); - if (parsedMetadata === "no metadata") { - return true; + const parsedMetadata = parseMetadata(metadataList) + if (parsedMetadata === 'no metadata') { + return true } if (parsedMetadata.length === 0) { - return true; + return true } - const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo)); - const strongest = list[0].algo; - const metadata = list.filter((item) => item.algo === strongest); + const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo)) + const strongest = list[0].algo + const metadata = list.filter((item) => item.algo === strongest) for (const item of metadata) { - const algorithm = item.algo; - let expectedValue = item.hash; - if (expectedValue.endsWith("==")) { - expectedValue = expectedValue.slice(0, -2); - } - let actualValue = crypto4.createHash(algorithm).update(bytes).digest("base64"); - if (actualValue.endsWith("==")) { - actualValue = actualValue.slice(0, -2); + const algorithm = item.algo + let expectedValue = item.hash + if (expectedValue.endsWith('==')) { + expectedValue = expectedValue.slice(0, -2) + } + let actualValue = crypto4 + .createHash(algorithm) + .update(bytes) + .digest('base64') + if (actualValue.endsWith('==')) { + actualValue = actualValue.slice(0, -2) } if (actualValue === expectedValue) { - return true; + return true } - let actualBase64URL = crypto4.createHash(algorithm).update(bytes).digest("base64url"); - if (actualBase64URL.endsWith("==")) { - actualBase64URL = actualBase64URL.slice(0, -2); + let actualBase64URL = crypto4 + .createHash(algorithm) + .update(bytes) + .digest('base64url') + if (actualBase64URL.endsWith('==')) { + actualBase64URL = actualBase64URL.slice(0, -2) } if (actualBase64URL === expectedValue) { - return true; + return true } } - return false; + return false } - var parseHashWithOptions = /((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i; + var parseHashWithOptions = + /((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i function parseMetadata(metadata) { - const result = []; - let empty = true; - const supportedHashes = crypto4.getHashes(); - for (const token of metadata.split(" ")) { - empty = false; - const parsedToken = parseHashWithOptions.exec(token); + const result = [] + let empty = true + const supportedHashes = crypto4.getHashes() + for (const token of metadata.split(' ')) { + empty = false + const parsedToken = parseHashWithOptions.exec(token) if (parsedToken === null || parsedToken.groups === void 0) { - continue; + continue } - const algorithm = parsedToken.groups.algo; + const algorithm = parsedToken.groups.algo if (supportedHashes.includes(algorithm.toLowerCase())) { - result.push(parsedToken.groups); + result.push(parsedToken.groups) } } if (empty === true) { - return "no metadata"; + return 'no metadata' } - return result; - } - function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { + return result } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {} function sameOrigin(A, B) { - if (A.origin === B.origin && A.origin === "null") { - return true; + if (A.origin === B.origin && A.origin === 'null') { + return true } - if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) { - return true; + if ( + A.protocol === B.protocol && + A.hostname === B.hostname && + A.port === B.port + ) { + return true } - return false; + return false } function createDeferredPromise() { - let res; - let rej; + let res + let rej const promise = new Promise((resolve, reject) => { - res = resolve; - rej = reject; - }); - return { promise, resolve: res, reject: rej }; + res = resolve + rej = reject + }) + return { promise, resolve: res, reject: rej } } function isAborted(fetchParams) { - return fetchParams.controller.state === "aborted"; + return fetchParams.controller.state === 'aborted' } function isCancelled(fetchParams) { - return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; + return ( + fetchParams.controller.state === 'aborted' || + fetchParams.controller.state === 'terminated' + ) } function normalizeMethod(method) { - return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method) ? method.toUpperCase() : method; + return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method) + ? method.toUpperCase() + : method } function serializeJavascriptValueToJSONString(value) { - const result = JSON.stringify(value); + const result = JSON.stringify(value) if (result === void 0) { - throw new TypeError("Value is not JSON serializable"); + throw new TypeError('Value is not JSON serializable') } - assert(typeof result === "string"); - return result; + assert(typeof result === 'string') + return result } - var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + var esIteratorPrototype = Object.getPrototypeOf( + Object.getPrototypeOf([][Symbol.iterator]()) + ) function makeIterator(iterator, name, kind) { const object = { index: 0, kind, target: iterator - }; + } const i = { next() { if (Object.getPrototypeOf(this) !== i) { throw new TypeError( `'next' called on an object that does not implement interface ${name} Iterator.` - ); + ) } - const { index, kind: kind2, target } = object; - const values = target(); - const len = values.length; + const { index, kind: kind2, target } = object + const values = target() + const len = values.length if (index >= len) { - return { value: void 0, done: true }; + return { value: void 0, done: true } } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind2); + const pair = values[index] + object.index = index + 1 + return iteratorResult(pair, kind2) }, // The class string of an iterator prototype object for a given interface is the // result of concatenating the identifier of the interface and the string " Iterator". [Symbol.toStringTag]: `${name} Iterator` - }; - Object.setPrototypeOf(i, esIteratorPrototype); - return Object.setPrototypeOf({}, i); + } + Object.setPrototypeOf(i, esIteratorPrototype) + return Object.setPrototypeOf({}, i) } function iteratorResult(pair, kind) { - let result; + let result switch (kind) { - case "key": { - result = pair[0]; - break; + case 'key': { + result = pair[0] + break } - case "value": { - result = pair[1]; - break; + case 'value': { + result = pair[1] + break } - case "key+value": { - result = pair; - break; + case 'key+value': { + result = pair + break } } - return { value: result, done: false }; + return { value: result, done: false } } async function fullyReadBody(body, processBody, processBodyError) { - const successSteps = processBody; - const errorSteps = processBodyError; - let reader; + const successSteps = processBody + const errorSteps = processBodyError + let reader try { - reader = body.stream.getReader(); + reader = body.stream.getReader() } catch (e) { - errorSteps(e); - return; + errorSteps(e) + return } try { - const result = await readAllBytes(reader); - successSteps(result); + const result = await readAllBytes(reader) + successSteps(result) } catch (e) { - errorSteps(e); + errorSteps(e) } } - var ReadableStream = globalThis.ReadableStream; + var ReadableStream = globalThis.ReadableStream function isReadableStreamLike(stream) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } - return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; + return ( + stream instanceof ReadableStream || + (stream[Symbol.toStringTag] === 'ReadableStream' && + typeof stream.tee === 'function') + ) } - var MAXIMUM_ARGUMENT_LENGTH = 65535; + var MAXIMUM_ARGUMENT_LENGTH = 65535 function isomorphicDecode(input) { if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); + return String.fromCharCode(...input) } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); + return input.reduce( + (previous, current) => previous + String.fromCharCode(current), + '' + ) } function readableStreamClose(controller) { try { - controller.close(); + controller.close() } catch (err) { - if (!err.message.includes("Controller is already closed")) { - throw err; + if (!err.message.includes('Controller is already closed')) { + throw err } } } function isomorphicEncode(input) { for (let i = 0; i < input.length; i++) { - assert(input.charCodeAt(i) <= 255); + assert(input.charCodeAt(i) <= 255) } - return input; + return input } async function readAllBytes(reader) { - const bytes = []; - let byteLength = 0; + const bytes = [] + let byteLength = 0 while (true) { - const { done, value: chunk } = await reader.read(); + const { done, value: chunk } = await reader.read() if (done) { - return Buffer.concat(bytes, byteLength); + return Buffer.concat(bytes, byteLength) } if (!isUint8Array(chunk)) { - throw new TypeError("Received non-Uint8Array chunk"); + throw new TypeError('Received non-Uint8Array chunk') } - bytes.push(chunk); - byteLength += chunk.length; + bytes.push(chunk) + byteLength += chunk.length } } function urlIsLocal(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "about:" || protocol === "blob:" || protocol === "data:"; + assert('protocol' in url) + const protocol = url.protocol + return ( + protocol === 'about:' || protocol === 'blob:' || protocol === 'data:' + ) } function urlHasHttpsScheme(url) { - if (typeof url === "string") { - return url.startsWith("https:"); + if (typeof url === 'string') { + return url.startsWith('https:') } - return url.protocol === "https:"; + return url.protocol === 'https:' } function urlIsHttpHttpsScheme(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "http:" || protocol === "https:"; + assert('protocol' in url) + const protocol = url.protocol + return protocol === 'http:' || protocol === 'https:' } - var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); + var hasOwn = + Object.hasOwn || + ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)) module2.exports = { isAborted, isCancelled, @@ -4805,518 +5370,547 @@ var require_util2 = __commonJS({ urlHasHttpsScheme, urlIsHttpHttpsScheme, readAllBytes - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/symbols.js var require_symbols2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kUrl: Symbol("url"), - kHeaders: Symbol("headers"), - kSignal: Symbol("signal"), - kState: Symbol("state"), - kGuard: Symbol("guard"), - kRealm: Symbol("realm") - }; + kUrl: Symbol('url'), + kHeaders: Symbol('headers'), + kSignal: Symbol('signal'), + kState: Symbol('state'), + kGuard: Symbol('guard'), + kRealm: Symbol('realm') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/webidl.js var require_webidl = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/webidl.js"(exports, module2) { - "use strict"; - var { types } = require("util"); - var { hasOwn, toUSVString } = require_util2(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context) { - const plural = context.types.length === 1 ? "" : " one of"; - const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/webidl.js'( + exports, + module2 + ) { + 'use strict' + var { types } = require('util') + var { hasOwn, toUSVString } = require_util2() + var webidl = {} + webidl.converters = {} + webidl.util = {} + webidl.errors = {} + webidl.errors.exception = function (message) { + return new TypeError(`${message.header}: ${message.message}`) + } + webidl.errors.conversionFailed = function (context) { + const plural = context.types.length === 1 ? '' : ' one of' + const message = `${ + context.argument + } could not be converted to${plural}: ${context.types.join(', ')}.` return webidl.errors.exception({ header: context.prefix, message - }); - }; - webidl.errors.invalidArgument = function(context) { + }) + } + webidl.errors.invalidArgument = function (context) { return webidl.errors.exception({ header: context.prefix, message: `"${context.value}" is an invalid ${context.type}.` - }); - }; - webidl.brandCheck = function(V, I, opts = void 0) { + }) + } + webidl.brandCheck = function (V, I, opts = void 0) { if (opts?.strict !== false && !(V instanceof I)) { - throw new TypeError("Illegal invocation"); + throw new TypeError('Illegal invocation') } else { - return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]; + return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag] } - }; - webidl.argumentLengthCheck = function({ length }, min, ctx) { + } + webidl.argumentLengthCheck = function ({ length }, min, ctx) { if (length < min) { throw webidl.errors.exception({ - message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, + message: `${min} argument${min !== 1 ? 's' : ''} required, but${ + length ? ' only' : '' + } ${length} found.`, ...ctx - }); + }) } - }; - webidl.illegalConstructor = function() { + } + webidl.illegalConstructor = function () { throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" - }); - }; - webidl.util.Type = function(V) { + header: 'TypeError', + message: 'Illegal constructor' + }) + } + webidl.util.Type = function (V) { switch (typeof V) { - case "undefined": - return "Undefined"; - case "boolean": - return "Boolean"; - case "string": - return "String"; - case "symbol": - return "Symbol"; - case "number": - return "Number"; - case "bigint": - return "BigInt"; - case "function": - case "object": { + case 'undefined': + return 'Undefined' + case 'boolean': + return 'Boolean' + case 'string': + return 'String' + case 'symbol': + return 'Symbol' + case 'number': + return 'Number' + case 'bigint': + return 'BigInt' + case 'function': + case 'object': { if (V === null) { - return "Null"; + return 'Null' } - return "Object"; + return 'Object' } } - }; - webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) { - let upperBound; - let lowerBound; + } + webidl.util.ConvertToInt = function (V, bitLength, signedness, opts = {}) { + let upperBound + let lowerBound if (bitLength === 64) { - upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { - lowerBound = 0; + upperBound = Math.pow(2, 53) - 1 + if (signedness === 'unsigned') { + lowerBound = 0 } else { - lowerBound = Math.pow(-2, 53) + 1; + lowerBound = Math.pow(-2, 53) + 1 } - } else if (signedness === "unsigned") { - lowerBound = 0; - upperBound = Math.pow(2, bitLength) - 1; + } else if (signedness === 'unsigned') { + lowerBound = 0 + upperBound = Math.pow(2, bitLength) - 1 } else { - lowerBound = Math.pow(-2, bitLength) - 1; - upperBound = Math.pow(2, bitLength - 1) - 1; + lowerBound = Math.pow(-2, bitLength) - 1 + upperBound = Math.pow(2, bitLength - 1) - 1 } - let x = Number(V); + let x = Number(V) if (x === 0) { - x = 0; + x = 0 } if (opts.enforceRange === true) { - if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + if ( + Number.isNaN(x) || + x === Number.POSITIVE_INFINITY || + x === Number.NEGATIVE_INFINITY + ) { throw webidl.errors.exception({ - header: "Integer conversion", + header: 'Integer conversion', message: `Could not convert ${V} to an integer.` - }); + }) } - x = webidl.util.IntegerPart(x); + x = webidl.util.IntegerPart(x) if (x < lowerBound || x > upperBound) { throw webidl.errors.exception({ - header: "Integer conversion", + header: 'Integer conversion', message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.` - }); + }) } - return x; + return x } if (!Number.isNaN(x) && opts.clamp === true) { - x = Math.min(Math.max(x, lowerBound), upperBound); + x = Math.min(Math.max(x, lowerBound), upperBound) if (Math.floor(x) % 2 === 0) { - x = Math.floor(x); + x = Math.floor(x) } else { - x = Math.ceil(x); + x = Math.ceil(x) } - return x; + return x } - if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - return 0; + if ( + Number.isNaN(x) || + (x === 0 && Object.is(0, x)) || + x === Number.POSITIVE_INFINITY || + x === Number.NEGATIVE_INFINITY + ) { + return 0 } - x = webidl.util.IntegerPart(x); - x = x % Math.pow(2, bitLength); - if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) { - return x - Math.pow(2, bitLength); + x = webidl.util.IntegerPart(x) + x = x % Math.pow(2, bitLength) + if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) { + return x - Math.pow(2, bitLength) } - return x; - }; - webidl.util.IntegerPart = function(n) { - const r = Math.floor(Math.abs(n)); + return x + } + webidl.util.IntegerPart = function (n) { + const r = Math.floor(Math.abs(n)) if (n < 0) { - return -1 * r; + return -1 * r } - return r; - }; - webidl.sequenceConverter = function(converter) { + return r + } + webidl.sequenceConverter = function (converter) { return (V) => { - if (webidl.util.Type(V) !== "Object") { + if (webidl.util.Type(V) !== 'Object') { throw webidl.errors.exception({ - header: "Sequence", + header: 'Sequence', message: `Value of type ${webidl.util.Type(V)} is not an Object.` - }); + }) } - const method = V?.[Symbol.iterator]?.(); - const seq = []; - if (method === void 0 || typeof method.next !== "function") { + const method = V?.[Symbol.iterator]?.() + const seq = [] + if (method === void 0 || typeof method.next !== 'function') { throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." - }); + header: 'Sequence', + message: 'Object is not an iterator.' + }) } while (true) { - const { done, value } = method.next(); + const { done, value } = method.next() if (done) { - break; + break } - seq.push(converter(value)); + seq.push(converter(value)) } - return seq; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { + return seq + } + } + webidl.recordConverter = function (keyConverter, valueConverter) { return (O) => { - if (webidl.util.Type(O) !== "Object") { + if (webidl.util.Type(O) !== 'Object') { throw webidl.errors.exception({ - header: "Record", + header: 'Record', message: `Value of type ${webidl.util.Type(O)} is not an Object.` - }); + }) } - const result = {}; + const result = {} if (!types.isProxy(O)) { - const keys2 = Object.keys(O); + const keys2 = Object.keys(O) for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; + const typedKey = keyConverter(key) + const typedValue = valueConverter(O[key]) + result[typedKey] = typedValue } - return result; + return result } - const keys = Reflect.ownKeys(O); + const keys = Reflect.ownKeys(O) for (const key of keys) { - const desc = Reflect.getOwnPropertyDescriptor(O, key); + const desc = Reflect.getOwnPropertyDescriptor(O, key) if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; + const typedKey = keyConverter(key) + const typedValue = valueConverter(O[key]) + result[typedKey] = typedValue } } - return result; - }; - }; - webidl.interfaceConverter = function(i) { + return result + } + } + webidl.interfaceConverter = function (i) { return (V, opts = {}) => { if (opts.strict !== false && !(V instanceof i)) { throw webidl.errors.exception({ header: i.name, message: `Expected ${V} to be an instance of ${i.name}.` - }); + }) } - return V; - }; - }; - webidl.dictionaryConverter = function(converters) { + return V + } + } + webidl.dictionaryConverter = function (converters) { return (dictionary) => { - const type = webidl.util.Type(dictionary); - const dict = {}; - if (type === "Null" || type === "Undefined") { - return dict; - } else if (type !== "Object") { + const type = webidl.util.Type(dictionary) + const dict = {} + if (type === 'Null' || type === 'Undefined') { + return dict + } else if (type !== 'Object') { throw webidl.errors.exception({ - header: "Dictionary", + header: 'Dictionary', message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` - }); + }) } for (const options of converters) { - const { key, defaultValue, required, converter } = options; + const { key, defaultValue, required, converter } = options if (required === true) { if (!hasOwn(dictionary, key)) { throw webidl.errors.exception({ - header: "Dictionary", + header: 'Dictionary', message: `Missing required key "${key}".` - }); + }) } } - let value = dictionary[key]; - const hasDefault = hasOwn(options, "defaultValue"); + let value = dictionary[key] + const hasDefault = hasOwn(options, 'defaultValue') if (hasDefault && value !== null) { - value = value ?? defaultValue; + value = value ?? defaultValue } if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { + value = converter(value) + if ( + options.allowedValues && + !options.allowedValues.includes(value) + ) { throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); + header: 'Dictionary', + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join( + ', ' + )}.` + }) } - dict[key] = value; + dict[key] = value } } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { + return dict + } + } + webidl.nullableConverter = function (converter) { return (V) => { if (V === null) { - return V; + return V } - return converter(V); - }; - }; - webidl.converters.DOMString = function(V, opts = {}) { + return converter(V) + } + } + webidl.converters.DOMString = function (V, opts = {}) { if (V === null && opts.legacyNullToEmptyString) { - return ""; + return '' } - if (typeof V === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); + if (typeof V === 'symbol') { + throw new TypeError( + 'Could not convert argument of type symbol to string.' + ) } - return String(V); - }; - webidl.converters.ByteString = function(V) { - const x = webidl.converters.DOMString(V); + return String(V) + } + webidl.converters.ByteString = function (V) { + const x = webidl.converters.DOMString(V) for (let index = 0; index < x.length; index++) { - const charCode = x.charCodeAt(index); + const charCode = x.charCodeAt(index) if (charCode > 255) { throw new TypeError( `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${charCode} which is greater than 255.` - ); - } - } - return x; - }; - webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V) { - const x = Boolean(V); - return x; - }; - webidl.converters.any = function(V) { - return V; - }; - webidl.converters["long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "signed"); - return x; - }; - webidl.converters["unsigned long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned"); - return x; - }; - webidl.converters["unsigned long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned"); - return x; - }; - webidl.converters["unsigned short"] = function(V, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts); - return x; - }; - webidl.converters.ArrayBuffer = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { + ) + } + } + return x + } + webidl.converters.USVString = toUSVString + webidl.converters.boolean = function (V) { + const x = Boolean(V) + return x + } + webidl.converters.any = function (V) { + return V + } + webidl.converters['long long'] = function (V) { + const x = webidl.util.ConvertToInt(V, 64, 'signed') + return x + } + webidl.converters['unsigned long long'] = function (V) { + const x = webidl.util.ConvertToInt(V, 64, 'unsigned') + return x + } + webidl.converters['unsigned long'] = function (V) { + const x = webidl.util.ConvertToInt(V, 32, 'unsigned') + return x + } + webidl.converters['unsigned short'] = function (V, opts) { + const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts) + return x + } + webidl.converters.ArrayBuffer = function (V, opts = {}) { + if (webidl.util.Type(V) !== 'Object' || !types.isAnyArrayBuffer(V)) { throw webidl.errors.conversionFailed({ prefix: `${V}`, argument: `${V}`, - types: ["ArrayBuffer"] - }); + types: ['ArrayBuffer'] + }) } if (opts.allowShared === false && types.isSharedArrayBuffer(V)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.TypedArray = function(V, T, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }) + } + return V + } + webidl.converters.TypedArray = function (V, T, opts = {}) { + if ( + webidl.util.Type(V) !== 'Object' || + !types.isTypedArray(V) || + V.constructor.name !== T.name + ) { throw webidl.errors.conversionFailed({ prefix: `${T.name}`, argument: `${V}`, types: [T.name] - }); + }) } if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.DataView = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }) + } + return V + } + webidl.converters.DataView = function (V, opts = {}) { + if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) { throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); + header: 'DataView', + message: 'Object is not a DataView.' + }) } if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }) } - return V; - }; - webidl.converters.BufferSource = function(V, opts = {}) { + return V + } + webidl.converters.BufferSource = function (V, opts = {}) { if (types.isAnyArrayBuffer(V)) { - return webidl.converters.ArrayBuffer(V, opts); + return webidl.converters.ArrayBuffer(V, opts) } if (types.isTypedArray(V)) { - return webidl.converters.TypedArray(V, V.constructor); + return webidl.converters.TypedArray(V, V.constructor) } if (types.isDataView(V)) { - return webidl.converters.DataView(V, opts); + return webidl.converters.DataView(V, opts) } - throw new TypeError(`Could not convert ${V} to a BufferSource.`); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence>"] = webidl.sequenceConverter( - webidl.converters["sequence"] - ); - webidl.converters["record"] = webidl.recordConverter( - webidl.converters.ByteString, + throw new TypeError(`Could not convert ${V} to a BufferSource.`) + } + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.ByteString - ); + ) + webidl.converters['sequence>'] = + webidl.sequenceConverter(webidl.converters['sequence']) + webidl.converters['record'] = + webidl.recordConverter( + webidl.converters.ByteString, + webidl.converters.ByteString + ) module2.exports = { webidl - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/dataURL.js var require_dataURL = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/dataURL.js"(exports, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util2(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/dataURL.js'( + exports, + module2 + ) { + var assert = require('assert') + var { atob: atob2 } = require('buffer') + var { isomorphicDecode } = require_util2() + var encoder = new TextEncoder() + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/ + var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/ + var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/ function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); + assert(dataURL.protocol === 'data:') + let input = URLSerializer(dataURL, true) + input = input.slice(5) + const position = { position: 0 } + let mimeType = collectASequenceOfCodePointsFast(',', input, position) + const mimeTypeLength = mimeType.length + mimeType = removeASCIIWhitespace(mimeType, true, true) if (position.position >= input.length) { - return "failure"; + return 'failure' } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); + position.position++ + const encodedBody = input.slice(mimeTypeLength + 1) + let body = stringPercentDecode(encodedBody) if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; + const stringBody = isomorphicDecode(body) + body = forgivingBase64(stringBody) + if (body === 'failure') { + return 'failure' } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); + mimeType = mimeType.slice(0, -6) + mimeType = mimeType.replace(/(\u0020)+$/, '') + mimeType = mimeType.slice(0, -1) } - if (mimeType.startsWith(";")) { - mimeType = "text/plain" + mimeType; + if (mimeType.startsWith(';')) { + mimeType = 'text/plain' + mimeType } - let mimeTypeRecord = parseMIMEType(mimeType); - if (mimeTypeRecord === "failure") { - mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); + let mimeTypeRecord = parseMIMEType(mimeType) + if (mimeTypeRecord === 'failure') { + mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII') } - return { mimeType: mimeTypeRecord, body }; + return { mimeType: mimeTypeRecord, body } } function URLSerializer(url, excludeFragment = false) { - const href = url.href; + const href = url.href if (!excludeFragment) { - return href; + return href } - const hash = href.lastIndexOf("#"); + const hash = href.lastIndexOf('#') if (hash === -1) { - return href; + return href } - return href.slice(0, hash); + return href.slice(0, hash) } function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; + let result = '' + while ( + position.position < input.length && + condition(input[position.position]) + ) { + result += input[position.position] + position.position++ } - return result; + return result } function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; + const idx = input.indexOf(char, position.position) + const start = position.position if (idx === -1) { - position.position = input.length; - return input.slice(start); + position.position = input.length + return input.slice(start) } - position.position = idx; - return input.slice(start, position.position); + position.position = idx + return input.slice(start, position.position) } function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); + const bytes = encoder.encode(input) + return percentDecode(bytes) } function percentDecode(input) { - const output = []; + const output = [] for (let i = 0; i < input.length; i++) { - const byte = input[i]; + const byte = input[i] if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) { - output.push(37); + output.push(byte) + } else if ( + byte === 37 && + !/^[0-9A-Fa-f]{2}$/i.test( + String.fromCharCode(input[i + 1], input[i + 2]) + ) + ) { + output.push(37) } else { - const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i += 2; + const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]) + const bytePoint = Number.parseInt(nextTwoBytes, 16) + output.push(bytePoint) + i += 2 } } - return Uint8Array.from(output); + return Uint8Array.from(output) } function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type = collectASequenceOfCodePointsFast( - "/", - input, - position - ); + input = removeHTTPWhitespace(input, true, true) + const position = { position: 0 } + const type = collectASequenceOfCodePointsFast('/', input, position) if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { - return "failure"; + return 'failure' } if (position.position > input.length) { - return "failure"; - } - position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - subtype = removeHTTPWhitespace(subtype, false, true); + return 'failure' + } + position.position++ + let subtype = collectASequenceOfCodePointsFast(';', input, position) + subtype = removeHTTPWhitespace(subtype, false, true) if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { - return "failure"; + return 'failure' } - const typeLowercase = type.toLowerCase(); - const subtypeLowercase = subtype.toLowerCase(); + const typeLowercase = type.toLowerCase() + const subtypeLowercase = subtype.toLowerCase() const mimeType = { type: typeLowercase, subtype: subtypeLowercase, @@ -5324,154 +5918,158 @@ var require_dataURL = __commonJS({ parameters: /* @__PURE__ */ new Map(), // https://mimesniff.spec.whatwg.org/#mime-type-essence essence: `${typeLowercase}/${subtypeLowercase}` - }; + } while (position.position < input.length) { - position.position++; + position.position++ collectASequenceOfCodePoints( // https://fetch.spec.whatwg.org/#http-whitespace (char) => HTTP_WHITESPACE_REGEX.test(char), input, position - ); + ) let parameterName = collectASequenceOfCodePoints( - (char) => char !== ";" && char !== "=", + (char) => char !== ';' && char !== '=', input, position - ); - parameterName = parameterName.toLowerCase(); + ) + parameterName = parameterName.toLowerCase() if (position.position < input.length) { - if (input[position.position] === ";") { - continue; + if (input[position.position] === ';') { + continue } - position.position++; + position.position++ } if (position.position > input.length) { - break; + break } - let parameterValue = null; + let parameterValue = null if (input[position.position] === '"') { - parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); + parameterValue = collectAnHTTPQuotedString(input, position, true) + collectASequenceOfCodePointsFast(';', input, position) } else { parameterValue = collectASequenceOfCodePointsFast( - ";", + ';', input, position - ); - parameterValue = removeHTTPWhitespace(parameterValue, false, true); + ) + parameterValue = removeHTTPWhitespace(parameterValue, false, true) if (parameterValue.length === 0) { - continue; + continue } } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { - mimeType.parameters.set(parameterName, parameterValue); + if ( + parameterName.length !== 0 && + HTTP_TOKEN_CODEPOINTS.test(parameterName) && + (parameterValue.length === 0 || + HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && + !mimeType.parameters.has(parameterName) + ) { + mimeType.parameters.set(parameterName, parameterValue) } } - return mimeType; + return mimeType } function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); + data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, '') if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); + data = data.replace(/=?=$/, '') } if (data.length % 4 === 1) { - return "failure"; + return 'failure' } if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; + return 'failure' } - const binary = atob2(data); - const bytes = new Uint8Array(binary.length); + const binary = atob2(data) + const bytes = new Uint8Array(binary.length) for (let byte = 0; byte < binary.length; byte++) { - bytes[byte] = binary.charCodeAt(byte); + bytes[byte] = binary.charCodeAt(byte) } - return bytes; + return bytes } function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; + const positionStart = position.position + let value = '' + assert(input[position.position] === '"') + position.position++ while (true) { value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", + (char) => char !== '"' && char !== '\\', input, position - ); + ) if (position.position >= input.length) { - break; + break } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { + const quoteOrBackslash = input[position.position] + position.position++ + if (quoteOrBackslash === '\\') { if (position.position >= input.length) { - value += "\\"; - break; + value += '\\' + break } - value += input[position.position]; - position.position++; + value += input[position.position] + position.position++ } else { - assert(quoteOrBackslash === '"'); - break; + assert(quoteOrBackslash === '"') + break } } if (extractValue) { - return value; + return value } - return input.slice(positionStart, position.position); + return input.slice(positionStart, position.position) } function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; + assert(mimeType !== 'failure') + const { parameters, essence } = mimeType + let serialization = essence for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; + serialization += ';' + serialization += name + serialization += '=' if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; + value = value.replace(/(\\|")/g, '\\$1') + value = '"' + value + value += '"' } - serialization += value; + serialization += value } - return serialization; + return serialization } function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; + return char === '\r' || char === '\n' || char === ' ' || char === ' ' } function removeHTTPWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; + let lead = 0 + let trail = str.length - 1 if (leading) { - for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) - ; + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++); } if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) - ; + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--); } - return str.slice(lead, trail + 1); + return str.slice(lead, trail + 1) } function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; + return ( + char === '\r' || + char === '\n' || + char === ' ' || + char === '\f' || + char === ' ' + ) } function removeASCIIWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; + let lead = 0 + let trail = str.length - 1 if (leading) { - for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) - ; + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++); } if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) - ; + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--); } - return str.slice(lead, trail + 1); + return str.slice(lead, trail + 1) } module2.exports = { dataURLProcessor, @@ -5482,358 +6080,399 @@ var require_dataURL = __commonJS({ parseMIMEType, collectAnHTTPQuotedString, serializeAMimeType - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/file.js var require_file = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/file.js"(exports, module2) { - "use strict"; - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols2(); - var { isBlobLike } = require_util2(); - var { webidl } = require_webidl(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var { kEnumerableProperty } = require_util(); - var encoder = new TextEncoder(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/file.js'( + exports, + module2 + ) { + 'use strict' + var { Blob: Blob2, File: NativeFile } = require('buffer') + var { types } = require('util') + var { kState } = require_symbols2() + var { isBlobLike } = require_util2() + var { webidl } = require_webidl() + var { parseMIMEType, serializeAMimeType } = require_dataURL() + var { kEnumerableProperty } = require_util() + var encoder = new TextEncoder() var File = class _File extends Blob2 { constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n = fileName; - let t = options.type; - let d; + webidl.argumentLengthCheck(arguments, 2, { header: 'File constructor' }) + fileBits = webidl.converters['sequence'](fileBits) + fileName = webidl.converters.USVString(fileName) + options = webidl.converters.FilePropertyBag(options) + const n = fileName + let t = options.type + let d substep: { if (t) { - t = parseMIMEType(t); - if (t === "failure") { - t = ""; - break substep; + t = parseMIMEType(t) + if (t === 'failure') { + t = '' + break substep } - t = serializeAMimeType(t).toLowerCase(); + t = serializeAMimeType(t).toLowerCase() } - d = options.lastModified; + d = options.lastModified } - super(processBlobParts(fileBits, options), { type: t }); + super(processBlobParts(fileBits, options), { type: t }) this[kState] = { name: n, lastModified: d, type: t - }; + } } get name() { - webidl.brandCheck(this, _File); - return this[kState].name; + webidl.brandCheck(this, _File) + return this[kState].name } get lastModified() { - webidl.brandCheck(this, _File); - return this[kState].lastModified; + webidl.brandCheck(this, _File) + return this[kState].lastModified } get type() { - webidl.brandCheck(this, _File); - return this[kState].type; + webidl.brandCheck(this, _File) + return this[kState].type } - }; + } var FileLike = class _FileLike { constructor(blobLike, fileName, options = {}) { - const n = fileName; - const t = options.type; - const d = options.lastModified ?? Date.now(); + const n = fileName + const t = options.type + const d = options.lastModified ?? Date.now() this[kState] = { blobLike, name: n, type: t, lastModified: d - }; + } } stream(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.stream(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.stream(...args) } arrayBuffer(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.arrayBuffer(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.arrayBuffer(...args) } slice(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.slice(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.slice(...args) } text(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.text(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.text(...args) } get size() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.size; + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.size } get type() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.type; + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.type } get name() { - webidl.brandCheck(this, _FileLike); - return this[kState].name; + webidl.brandCheck(this, _FileLike) + return this[kState].name } get lastModified() { - webidl.brandCheck(this, _FileLike); - return this[kState].lastModified; + webidl.brandCheck(this, _FileLike) + return this[kState].lastModified } get [Symbol.toStringTag]() { - return "File"; + return 'File' } - }; + } Object.defineProperties(File.prototype, { [Symbol.toStringTag]: { - value: "File", + value: 'File', configurable: true }, name: kEnumerableProperty, lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V, opts) { - if (webidl.util.Type(V) === "Object") { + }) + webidl.converters.Blob = webidl.interfaceConverter(Blob2) + webidl.converters.BlobPart = function (V, opts) { + if (webidl.util.Type(V) === 'Object') { if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, { strict: false }) } if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V, opts); + return webidl.converters.BufferSource(V, opts) } } - return webidl.converters.USVString(V, opts); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( + return webidl.converters.USVString(V, opts) + } + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.BlobPart - ); + ) webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ { - key: "lastModified", - converter: webidl.converters["long long"], + key: 'lastModified', + converter: webidl.converters['long long'], get defaultValue() { - return Date.now(); + return Date.now() } }, { - key: "type", + key: 'type', converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: '' }, { - key: "endings", + key: 'endings', converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; + value = webidl.converters.DOMString(value) + value = value.toLowerCase() + if (value !== 'native') { + value = 'transparent' } - return value; + return value }, - defaultValue: "transparent" + defaultValue: 'transparent' } - ]); + ]) function processBlobParts(parts, options) { - const bytes = []; + const bytes = [] for (const element of parts) { - if (typeof element === "string") { - let s = element; - if (options.endings === "native") { - s = convertLineEndingsNative(s); - } - bytes.push(encoder.encode(s)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { + if (typeof element === 'string') { + let s = element + if (options.endings === 'native') { + s = convertLineEndingsNative(s) + } + bytes.push(encoder.encode(s)) + } else if ( + types.isAnyArrayBuffer(element) || + types.isTypedArray(element) + ) { if (!element.buffer) { - bytes.push(new Uint8Array(element)); + bytes.push(new Uint8Array(element)) } else { bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); + new Uint8Array( + element.buffer, + element.byteOffset, + element.byteLength + ) + ) } } else if (isBlobLike(element)) { - bytes.push(element); + bytes.push(element) } } - return bytes; + return bytes } function convertLineEndingsNative(s) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; + let nativeLineEnding = '\n' + if (process.platform === 'win32') { + nativeLineEnding = '\r\n' } - return s.replace(/\r?\n/g, nativeLineEnding); + return s.replace(/\r?\n/g, nativeLineEnding) } function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File, FileLike, isFileLike }; + return ( + (NativeFile && object instanceof NativeFile) || + object instanceof File || + (object && + (typeof object.stream === 'function' || + typeof object.arrayBuffer === 'function') && + object[Symbol.toStringTag] === 'File') + ) + } + module2.exports = { File, FileLike, isFileLike } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/formdata.js var require_formdata = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/formdata.js"(exports, module2) { - "use strict"; - var { isBlobLike, toUSVString, makeIterator } = require_util2(); - var { kState } = require_symbols2(); - var { File: UndiciFile, FileLike, isFileLike } = require_file(); - var { webidl } = require_webidl(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var File = NativeFile ?? UndiciFile; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/formdata.js'( + exports, + module2 + ) { + 'use strict' + var { isBlobLike, toUSVString, makeIterator } = require_util2() + var { kState } = require_symbols2() + var { File: UndiciFile, FileLike, isFileLike } = require_file() + var { webidl } = require_webidl() + var { Blob: Blob2, File: NativeFile } = require('buffer') + var File = NativeFile ?? UndiciFile var FormData = class _FormData { constructor(form) { if (form !== void 0) { throw webidl.errors.conversionFailed({ - prefix: "FormData constructor", - argument: "Argument 1", - types: ["undefined"] - }); + prefix: 'FormData constructor', + argument: 'Argument 1', + types: ['undefined'] + }) } - this[kState] = []; + this[kState] = [] } append(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.append' }) if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); + ) } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - this[kState].push(entry); + name = webidl.converters.USVString(name) + value = isBlobLike(value) + ? webidl.converters.Blob(value, { strict: false }) + : webidl.converters.USVString(value) + filename = + arguments.length === 3 + ? webidl.converters.USVString(filename) + : void 0 + const entry = makeEntry(name, value, filename) + this[kState].push(entry) } delete(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); - this[kState] = this[kState].filter((entry) => entry.name !== name); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.delete' }) + name = webidl.converters.USVString(name) + this[kState] = this[kState].filter((entry) => entry.name !== name) } get(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); - const idx = this[kState].findIndex((entry) => entry.name === name); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.get' }) + name = webidl.converters.USVString(name) + const idx = this[kState].findIndex((entry) => entry.name === name) if (idx === -1) { - return null; + return null } - return this[kState][idx].value; + return this[kState][idx].value } getAll(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); - return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.getAll' }) + name = webidl.converters.USVString(name) + return this[kState] + .filter((entry) => entry.name === name) + .map((entry) => entry.value) } has(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); - return this[kState].findIndex((entry) => entry.name === name) !== -1; + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.has' }) + name = webidl.converters.USVString(name) + return this[kState].findIndex((entry) => entry.name === name) !== -1 } set(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.set' }) if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" - ); + ) } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - const idx = this[kState].findIndex((entry2) => entry2.name === name); + name = webidl.converters.USVString(name) + value = isBlobLike(value) + ? webidl.converters.Blob(value, { strict: false }) + : webidl.converters.USVString(value) + filename = arguments.length === 3 ? toUSVString(filename) : void 0 + const entry = makeEntry(name, value, filename) + const idx = this[kState].findIndex((entry2) => entry2.name === name) if (idx !== -1) { this[kState] = [ ...this[kState].slice(0, idx), entry, - ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) - ]; + ...this[kState] + .slice(idx + 1) + .filter((entry2) => entry2.name !== name) + ] } else { - this[kState].push(entry); + this[kState].push(entry) } } entries() { - webidl.brandCheck(this, _FormData); + webidl.brandCheck(this, _FormData) return makeIterator( () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); + 'FormData', + 'key+value' + ) } keys() { - webidl.brandCheck(this, _FormData); + webidl.brandCheck(this, _FormData) return makeIterator( () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); + 'FormData', + 'key' + ) } values() { - webidl.brandCheck(this, _FormData); + webidl.brandCheck(this, _FormData) return makeIterator( () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); + 'FormData', + 'value' + ) } /** * @param {(value: string, key: string, self: FormData) => void} callbackFn * @param {unknown} thisArg */ forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.forEach' }) + if (typeof callbackFn !== 'function') { throw new TypeError( "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); + ) } for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); + callbackFn.apply(thisArg, [value, key, this]) } } - }; - FormData.prototype[Symbol.iterator] = FormData.prototype.entries; + } + FormData.prototype[Symbol.iterator] = FormData.prototype.entries Object.defineProperties(FormData.prototype, { [Symbol.toStringTag]: { - value: "FormData", + value: 'FormData', configurable: true } - }); + }) function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); - if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); + name = Buffer.from(name).toString('utf8') + if (typeof value === 'string') { + value = Buffer.from(value).toString('utf8') } else { if (!isFileLike(value)) { - value = value instanceof Blob2 ? new File([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + value = + value instanceof Blob2 + ? new File([value], 'blob', { type: value.type }) + : new FileLike(value, 'blob', { type: value.type }) } if (filename !== void 0) { const options = { type: value.type, lastModified: value.lastModified - }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File([value], filename, options) : new FileLike(value, filename, options); + } + value = + (NativeFile && value instanceof NativeFile) || + value instanceof UndiciFile + ? new File([value], filename, options) + : new FileLike(value, filename, options) } } - return { name, value }; + return { name, value } } - module2.exports = { FormData }; + module2.exports = { FormData } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/body.js var require_body = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/body.js"(exports, module2) { - "use strict"; - var Busboy = require_main(); - var util = require_util(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/body.js'( + exports, + module2 + ) { + 'use strict' + var Busboy = require_main() + var util = require_util() var { ReadableStreamFrom, isBlobLike, @@ -5841,992 +6480,1125 @@ var require_body = __commonJS({ readableStreamClose, createDeferredPromise, fullyReadBody - } = require_util2(); - var { FormData } = require_formdata(); - var { kState } = require_symbols2(); - var { webidl } = require_webidl(); - var { DOMException: DOMException2, structuredClone } = require_constants(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { isErrored } = require_util(); - var { isUint8Array, isArrayBuffer } = require("util/types"); - var { File: UndiciFile } = require_file(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var ReadableStream = globalThis.ReadableStream; - var File = NativeFile ?? UndiciFile; - var textEncoder = new TextEncoder(); - var textDecoder = new TextDecoder(); + } = require_util2() + var { FormData } = require_formdata() + var { kState } = require_symbols2() + var { webidl } = require_webidl() + var { DOMException: DOMException2, structuredClone } = require_constants() + var { Blob: Blob2, File: NativeFile } = require('buffer') + var { kBodyUsed } = require_symbols() + var assert = require('assert') + var { isErrored } = require_util() + var { isUint8Array, isArrayBuffer } = require('util/types') + var { File: UndiciFile } = require_file() + var { parseMIMEType, serializeAMimeType } = require_dataURL() + var ReadableStream = globalThis.ReadableStream + var File = NativeFile ?? UndiciFile + var textEncoder = new TextEncoder() + var textDecoder = new TextDecoder() function extractBody(object, keepalive = false) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } - let stream = null; + let stream = null if (object instanceof ReadableStream) { - stream = object; + stream = object } else if (isBlobLike(object)) { - stream = object.stream(); + stream = object.stream() } else { stream = new ReadableStream({ async pull(controller) { controller.enqueue( - typeof source === "string" ? textEncoder.encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { + typeof source === 'string' ? textEncoder.encode(source) : source + ) + queueMicrotask(() => readableStreamClose(controller)) }, + start() {}, type: void 0 - }); - } - assert(isReadableStreamLike(stream)); - let action2 = null; - let source = null; - let length = null; - let type = null; - if (typeof object === "string") { - source = object; - type = "text/plain;charset=UTF-8"; + }) + } + assert(isReadableStreamLike(stream)) + let action2 = null + let source = null + let length = null + let type = null + if (typeof object === 'string') { + source = object + type = 'text/plain;charset=UTF-8' } else if (object instanceof URLSearchParams) { - source = object.toString(); - type = "application/x-www-form-urlencoded;charset=UTF-8"; + source = object.toString() + type = 'application/x-www-form-urlencoded;charset=UTF-8' } else if (isArrayBuffer(object)) { - source = new Uint8Array(object.slice()); + source = new Uint8Array(object.slice()) } else if (ArrayBuffer.isView(object)) { - source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + source = new Uint8Array( + object.buffer.slice( + object.byteOffset, + object.byteOffset + object.byteLength + ) + ) } else if (util.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; + const boundary = `----formdata-undici-0${`${Math.floor( + Math.random() * 1e11 + )}`.padStart(11, '0')}` const prefix = `--${boundary}\r -Content-Disposition: form-data`; - const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); - const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); - const blobParts = []; - const rn = new Uint8Array([13, 10]); - length = 0; - let hasUnknownSizeValue = false; +Content-Disposition: form-data` + const escape = (str) => + str.replace(/\n/g, '%0A').replace(/\r/g, '%0D').replace(/"/g, '%22') + const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, '\r\n') + const blobParts = [] + const rn = new Uint8Array([13, 10]) + length = 0 + let hasUnknownSizeValue = false for (const [name, value] of object) { - if (typeof value === "string") { - const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r + if (typeof value === 'string') { + const chunk2 = textEncoder.encode( + prefix + + `; name="${escape(normalizeLinefeeds(name))}"\r \r ${normalizeLinefeeds(value)}\r -`); - blobParts.push(chunk2); - length += chunk2.byteLength; +` + ) + blobParts.push(chunk2) + length += chunk2.byteLength } else { - const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r -Content-Type: ${value.type || "application/octet-stream"}\r + const chunk2 = textEncoder.encode( + `${prefix}; name="${escape(normalizeLinefeeds(name))}"` + + (value.name ? `; filename="${escape(value.name)}"` : '') + + `\r +Content-Type: ${value.type || 'application/octet-stream'}\r \r -`); - blobParts.push(chunk2, value, rn); - if (typeof value.size === "number") { - length += chunk2.byteLength + value.size + rn.byteLength; +` + ) + blobParts.push(chunk2, value, rn) + if (typeof value.size === 'number') { + length += chunk2.byteLength + value.size + rn.byteLength } else { - hasUnknownSizeValue = true; + hasUnknownSizeValue = true } } } - const chunk = textEncoder.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; + const chunk = textEncoder.encode(`--${boundary}--`) + blobParts.push(chunk) + length += chunk.byteLength if (hasUnknownSizeValue) { - length = null; + length = null } - source = object; + source = object action2 = async function* () { for (const part of blobParts) { if (part.stream) { - yield* part.stream(); + yield* part.stream() } else { - yield part; + yield part } } - }; - type = "multipart/form-data; boundary=" + boundary; + } + type = 'multipart/form-data; boundary=' + boundary } else if (isBlobLike(object)) { - source = object; - length = object.size; + source = object + length = object.size if (object.type) { - type = object.type; + type = object.type } - } else if (typeof object[Symbol.asyncIterator] === "function") { + } else if (typeof object[Symbol.asyncIterator] === 'function') { if (keepalive) { - throw new TypeError("keepalive"); + throw new TypeError('keepalive') } if (util.isDisturbed(object) || object.locked) { throw new TypeError( - "Response body object should not be disturbed or locked" - ); + 'Response body object should not be disturbed or locked' + ) } - stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); + stream = + object instanceof ReadableStream ? object : ReadableStreamFrom(object) } - if (typeof source === "string" || util.isBuffer(source)) { - length = Buffer.byteLength(source); + if (typeof source === 'string' || util.isBuffer(source)) { + length = Buffer.byteLength(source) } if (action2 != null) { - let iterator; + let iterator stream = new ReadableStream({ async start() { - iterator = action2(object)[Symbol.asyncIterator](); + iterator = action2(object)[Symbol.asyncIterator]() }, async pull(controller) { - const { value, done } = await iterator.next(); + const { value, done } = await iterator.next() if (done) { queueMicrotask(() => { - controller.close(); - }); + controller.close() + }) } else { if (!isErrored(stream)) { - controller.enqueue(new Uint8Array(value)); + controller.enqueue(new Uint8Array(value)) } } - return controller.desiredSize > 0; + return controller.desiredSize > 0 }, async cancel(reason) { - await iterator.return(); + await iterator.return() }, type: void 0 - }); + }) } - const body = { stream, source, length }; - return [body, type]; + const body = { stream, source, length } + return [body, type] } function safelyExtractBody(object, keepalive = false) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } if (object instanceof ReadableStream) { - assert(!util.isDisturbed(object), "The body has already been consumed."); - assert(!object.locked, "The stream is locked."); + assert(!util.isDisturbed(object), 'The body has already been consumed.') + assert(!object.locked, 'The stream is locked.') } - return extractBody(object, keepalive); + return extractBody(object, keepalive) } function cloneBody(body) { - const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); - body.stream = out1; + const [out1, out2] = body.stream.tee() + const out2Clone = structuredClone(out2, { transfer: [out2] }) + const [, finalClone] = out2Clone.tee() + body.stream = out1 return { stream: finalClone, length: body.length, source: body.source - }; + } } async function* consumeBody(body) { if (body) { if (isUint8Array(body)) { - yield body; + yield body } else { - const stream = body.stream; + const stream = body.stream if (util.isDisturbed(stream)) { - throw new TypeError("The body has already been consumed."); + throw new TypeError('The body has already been consumed.') } if (stream.locked) { - throw new TypeError("The stream is locked."); + throw new TypeError('The stream is locked.') } - stream[kBodyUsed] = true; - yield* stream; + stream[kBodyUsed] = true + yield* stream } } } function throwIfAborted(state) { if (state.aborted) { - throw new DOMException2("The operation was aborted.", "AbortError"); + throw new DOMException2('The operation was aborted.', 'AbortError') } } function bodyMixinMethods(instance) { const methods = { blob() { - return specConsumeBody(this, (bytes) => { - let mimeType = bodyMimeType(this); - if (mimeType === "failure") { - mimeType = ""; - } else if (mimeType) { - mimeType = serializeAMimeType(mimeType); - } - return new Blob2([bytes], { type: mimeType }); - }, instance); + return specConsumeBody( + this, + (bytes) => { + let mimeType = bodyMimeType(this) + if (mimeType === 'failure') { + mimeType = '' + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType) + } + return new Blob2([bytes], { type: mimeType }) + }, + instance + ) }, arrayBuffer() { - return specConsumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); + return specConsumeBody( + this, + (bytes) => { + return new Uint8Array(bytes).buffer + }, + instance + ) }, text() { - return specConsumeBody(this, utf8DecodeBytes, instance); + return specConsumeBody(this, utf8DecodeBytes, instance) }, json() { - return specConsumeBody(this, parseJSONFromBytes, instance); + return specConsumeBody(this, parseJSONFromBytes, instance) }, async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); + webidl.brandCheck(this, instance) + throwIfAborted(this[kState]) + const contentType = this.headers.get('Content-Type') if (/multipart\/form-data/.test(contentType)) { - const headers = {}; + const headers = {} for (const [key, value] of this.headers) - headers[key.toLowerCase()] = value; - const responseFormData = new FormData(); - let busboy; + headers[key.toLowerCase()] = value + const responseFormData = new FormData() + let busboy try { busboy = new Busboy({ headers, preservePath: true - }); + }) } catch (err) { - throw new DOMException2(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); + throw new DOMException2(`${err}`, 'AbortError') + } + busboy.on('field', (name, value) => { + responseFormData.append(name, value) + }) + busboy.on('file', (name, value, filename, encoding, mimeType) => { + const chunks = [] + if ( + encoding === 'base64' || + encoding.toLowerCase() === 'base64' + ) { + let base64chunk = '' + value.on('data', (chunk) => { + base64chunk += chunk.toString().replace(/[\r\n]/gm, '') + const end = base64chunk.length - (base64chunk.length % 4) + chunks.push(Buffer.from(base64chunk.slice(0, end), 'base64')) + base64chunk = base64chunk.slice(end) + }) + value.on('end', () => { + chunks.push(Buffer.from(base64chunk, 'base64')) + responseFormData.append( + name, + new File(chunks, filename, { type: mimeType }) + ) + }) } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); + value.on('data', (chunk) => { + chunks.push(chunk) + }) + value.on('end', () => { + responseFormData.append( + name, + new File(chunks, filename, { type: mimeType }) + ) + }) } - }); + }) const busboyResolve = new Promise((resolve, reject) => { - busboy.on("finish", resolve); - busboy.on("error", (err) => reject(new TypeError(err))); - }); + busboy.on('finish', resolve) + busboy.on('error', (err) => reject(new TypeError(err))) + }) if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) - busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; + busboy.write(chunk) + busboy.end() + await busboyResolve + return responseFormData } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; + let entries try { - let text = ""; - const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); + let text = '' + const streamingDecoder = new TextDecoder('utf-8', { + ignoreBOM: true + }) for await (const chunk of consumeBody(this[kState].body)) { if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); + throw new TypeError('Expected Uint8Array chunk') } - text += streamingDecoder.decode(chunk, { stream: true }); + text += streamingDecoder.decode(chunk, { stream: true }) } - text += streamingDecoder.decode(); - entries = new URLSearchParams(text); + text += streamingDecoder.decode() + entries = new URLSearchParams(text) } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); + throw Object.assign(new TypeError(), { cause: err }) } - const formData = new FormData(); + const formData = new FormData() for (const [name, value] of entries) { - formData.append(name, value); + formData.append(name, value) } - return formData; + return formData } else { - await Promise.resolve(); - throwIfAborted(this[kState]); + await Promise.resolve() + throwIfAborted(this[kState]) throw webidl.errors.exception({ header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); + message: 'Could not parse content as FormData.' + }) } } - }; - return methods; + } + return methods } function mixinBody(prototype) { - Object.assign(prototype.prototype, bodyMixinMethods(prototype)); + Object.assign(prototype.prototype, bodyMixinMethods(prototype)) } async function specConsumeBody(object, convertBytesToJSValue, instance) { - webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); + webidl.brandCheck(object, instance) + throwIfAborted(object[kState]) if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); + throw new TypeError('Body is unusable') } - const promise = createDeferredPromise(); - const errorSteps = (error) => promise.reject(error); + const promise = createDeferredPromise() + const errorSteps = (error) => promise.reject(error) const successSteps = (data) => { try { - promise.resolve(convertBytesToJSValue(data)); + promise.resolve(convertBytesToJSValue(data)) } catch (e) { - errorSteps(e); + errorSteps(e) } - }; + } if (object[kState].body == null) { - successSteps(new Uint8Array()); - return promise.promise; + successSteps(new Uint8Array()) + return promise.promise } - await fullyReadBody(object[kState].body, successSteps, errorSteps); - return promise.promise; + await fullyReadBody(object[kState].body, successSteps, errorSteps) + return promise.promise } function bodyUnusable(body) { - return body != null && (body.stream.locked || util.isDisturbed(body.stream)); + return ( + body != null && (body.stream.locked || util.isDisturbed(body.stream)) + ) } function utf8DecodeBytes(buffer) { if (buffer.length === 0) { - return ""; + return '' } if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); + buffer = buffer.subarray(3) } - const output = textDecoder.decode(buffer); - return output; + const output = textDecoder.decode(buffer) + return output } function parseJSONFromBytes(bytes) { - return JSON.parse(utf8DecodeBytes(bytes)); + return JSON.parse(utf8DecodeBytes(bytes)) } function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); + const { headersList } = object[kState] + const contentType = headersList.get('content-type') if (contentType === null) { - return "failure"; + return 'failure' } - return parseMIMEType(contentType); + return parseMIMEType(contentType) } module2.exports = { extractBody, safelyExtractBody, cloneBody, mixinBody - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/request.js var require_request = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/request.js"(exports, module2) { - "use strict"; - var { - InvalidArgumentError, - NotSupportedError - } = require_errors(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); - var util = require_util(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = Symbol("handler"); - var channels = {}; - var extractBody; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/request.js'( + exports, + module2 + ) { + 'use strict' + var { InvalidArgumentError, NotSupportedError } = require_errors() + var assert = require('assert') + var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = + require_symbols() + var util = require_util() + var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/ + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/ + var invalidPathRegex = /[^\u0021-\u00ff]/ + var kHandler = Symbol('handler') + var channels = {} + var extractBody try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); + const diagnosticsChannel = require('diagnostics_channel') + channels.create = diagnosticsChannel.channel('undici:request:create') + channels.bodySent = diagnosticsChannel.channel('undici:request:bodySent') + channels.headers = diagnosticsChannel.channel('undici:request:headers') + channels.trailers = diagnosticsChannel.channel('undici:request:trailers') + channels.error = diagnosticsChannel.channel('undici:request:error') } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; + channels.create = { hasSubscribers: false } + channels.bodySent = { hasSubscribers: false } + channels.headers = { hasSubscribers: false } + channels.trailers = { hasSubscribers: false } + channels.error = { hasSubscribers: false } } var Request = class _Request { - constructor(origin, { - path, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler) { - if (typeof path !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + constructor( + origin, + { + path, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue + }, + handler + ) { + if (typeof path !== 'string') { + throw new InvalidArgumentError('path must be a string') + } else if ( + path[0] !== '/' && + !(path.startsWith('http://') || path.startsWith('https://')) && + method !== 'CONNECT' + ) { + throw new InvalidArgumentError( + 'path must be an absolute URL or start with a slash' + ) } else if (invalidPathRegex.exec(path) !== null) { - throw new InvalidArgumentError("invalid request path"); + throw new InvalidArgumentError('invalid request path') } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); + if (typeof method !== 'string') { + throw new InvalidArgumentError('method must be a string') } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); - } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); - } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); - } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); - } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); - } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); - } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; - this.abort = null; + throw new InvalidArgumentError('invalid request method') + } + if (upgrade && typeof upgrade !== 'string') { + throw new InvalidArgumentError('upgrade must be a string') + } + if ( + headersTimeout != null && + (!Number.isFinite(headersTimeout) || headersTimeout < 0) + ) { + throw new InvalidArgumentError('invalid headersTimeout') + } + if ( + bodyTimeout != null && + (!Number.isFinite(bodyTimeout) || bodyTimeout < 0) + ) { + throw new InvalidArgumentError('invalid bodyTimeout') + } + if (reset != null && typeof reset !== 'boolean') { + throw new InvalidArgumentError('invalid reset') + } + if (expectContinue != null && typeof expectContinue !== 'boolean') { + throw new InvalidArgumentError('invalid expectContinue') + } + this.headersTimeout = headersTimeout + this.bodyTimeout = bodyTimeout + this.throwOnError = throwOnError === true + this.method = method + this.abort = null if (body == null) { - this.body = null; + this.body = null } else if (util.isStream(body)) { - this.body = body; - const rState = this.body._readableState; + this.body = body + const rState = this.body._readableState if (!rState || !rState.autoDestroy) { this.endHandler = function autoDestroy() { - util.destroy(this); - }; - this.body.on("end", this.endHandler); + util.destroy(this) + } + this.body.on('end', this.endHandler) } this.errorHandler = (err) => { if (this.abort) { - this.abort(err); + this.abort(err) } else { - this.error = err; + this.error = err } - }; - this.body.on("error", this.errorHandler); + } + this.body.on('error', this.errorHandler) } else if (util.isBuffer(body)) { - this.body = body.byteLength ? body : null; + this.body = body.byteLength ? body : null } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + this.body = body.buffer.byteLength + ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) + : null } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) { - this.body = body; + this.body = body.byteLength ? Buffer.from(body) : null + } else if (typeof body === 'string') { + this.body = body.length ? Buffer.from(body) : null + } else if ( + util.isFormDataLike(body) || + util.isIterable(body) || + util.isBlobLike(body) + ) { + this.body = body } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util.buildURL(path, query) : path; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; + throw new InvalidArgumentError( + 'body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable' + ) + } + this.completed = false + this.aborted = false + this.upgrade = upgrade || null + this.path = query ? util.buildURL(path, query) : path + this.origin = origin + this.idempotent = + idempotent == null + ? method === 'HEAD' || method === 'GET' + : idempotent + this.blocking = blocking == null ? false : blocking + this.reset = reset == null ? null : reset + this.host = null + this.contentLength = null + this.contentType = null + this.headers = '' + this.expectContinue = expectContinue != null ? expectContinue : false if (Array.isArray(headers)) { if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); + throw new InvalidArgumentError('headers array must be even') } for (let i = 0; i < headers.length; i += 2) { - processHeader(this, headers[i], headers[i + 1]); + processHeader(this, headers[i], headers[i + 1]) } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); + } else if (headers && typeof headers === 'object') { + const keys = Object.keys(headers) for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(this, key, headers[key]); + const key = keys[i] + processHeader(this, key, headers[key]) } } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); + throw new InvalidArgumentError( + 'headers must be an object or an array' + ) } if (util.isFormDataLike(this.body)) { - if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); + if ( + util.nodeMajor < 16 || + (util.nodeMajor === 16 && util.nodeMinor < 8) + ) { + throw new InvalidArgumentError( + 'Form-Data bodies are only supported in node v16.8 and newer.' + ) } if (!extractBody) { - extractBody = require_body().extractBody; + extractBody = require_body().extractBody } - const [bodyStream, contentType] = extractBody(body); + const [bodyStream, contentType] = extractBody(body) if (this.contentType == null) { - this.contentType = contentType; + this.contentType = contentType this.headers += `content-type: ${contentType}\r -`; +` } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; + this.body = bodyStream.stream + this.contentLength = bodyStream.length + } else if ( + util.isBlobLike(body) && + this.contentType == null && + body.type + ) { + this.contentType = body.type this.headers += `content-type: ${body.type}\r -`; +` } - util.validateHandler(handler, method, upgrade); - this.servername = util.getServerName(this.host); - this[kHandler] = handler; + util.validateHandler(handler, method, upgrade) + this.servername = util.getServerName(this.host) + this[kHandler] = handler if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); + channels.create.publish({ request: this }) } } onBodySent(chunk) { if (this[kHandler].onBodySent) { try { - this[kHandler].onBodySent(chunk); + this[kHandler].onBodySent(chunk) } catch (err) { - this.onError(err); + this.onError(err) } } } onRequestSent() { if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); + channels.bodySent.publish({ request: this }) } if (this[kHandler].onRequestSent) { try { - this[kHandler].onRequestSent(); + this[kHandler].onRequestSent() } catch (err) { - this.onError(err); + this.onError(err) } } } onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); + assert(!this.aborted) + assert(!this.completed) if (this.error) { - abort(this.error); + abort(this.error) } else { - this.abort = abort; - return this[kHandler].onConnect(abort); + this.abort = abort + return this[kHandler].onConnect(abort) } } onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); + assert(!this.aborted) + assert(!this.completed) if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + channels.headers.publish({ + request: this, + response: { statusCode, headers, statusText } + }) } - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + return this[kHandler].onHeaders(statusCode, headers, resume, statusText) } onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onData(chunk); + assert(!this.aborted) + assert(!this.completed) + return this[kHandler].onData(chunk) } onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); + assert(!this.aborted) + assert(!this.completed) + return this[kHandler].onUpgrade(statusCode, headers, socket) } onComplete(trailers) { - this.onFinally(); - assert(!this.aborted); - this.completed = true; + this.onFinally() + assert(!this.aborted) + this.completed = true if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); + channels.trailers.publish({ request: this, trailers }) } - return this[kHandler].onComplete(trailers); + return this[kHandler].onComplete(trailers) } onError(error) { - this.onFinally(); + this.onFinally() if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error }); + channels.error.publish({ request: this, error }) } if (this.aborted) { - return; + return } - this.aborted = true; - return this[kHandler].onError(error); + this.aborted = true + return this[kHandler].onError(error) } onFinally() { if (this.errorHandler) { - this.body.off("error", this.errorHandler); - this.errorHandler = null; + this.body.off('error', this.errorHandler) + this.errorHandler = null } if (this.endHandler) { - this.body.off("end", this.endHandler); - this.endHandler = null; + this.body.off('end', this.endHandler) + this.endHandler = null } } // TODO: adjust to support H2 addHeader(key, value) { - processHeader(this, key, value); - return this; + processHeader(this, key, value) + return this } static [kHTTP1BuildRequest](origin, opts, handler) { - return new _Request(origin, opts, handler); + return new _Request(origin, opts, handler) } static [kHTTP2BuildRequest](origin, opts, handler) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request = new _Request(origin, opts, handler); - request.headers = {}; + const headers = opts.headers + opts = { ...opts, headers: null } + const request = new _Request(origin, opts, handler) + request.headers = {} if (Array.isArray(headers)) { if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); + throw new InvalidArgumentError('headers array must be even') } for (let i = 0; i < headers.length; i += 2) { - processHeader(request, headers[i], headers[i + 1], true); + processHeader(request, headers[i], headers[i + 1], true) } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); + } else if (headers && typeof headers === 'object') { + const keys = Object.keys(headers) for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(request, key, headers[key], true); + const key = keys[i] + processHeader(request, key, headers[key], true) } } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); + throw new InvalidArgumentError( + 'headers must be an object or an array' + ) } - return request; + return request } static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; + const rawHeaders = raw.split('\r\n') + const headers = {} for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) - continue; - if (headers[key]) - headers[key] += `,${value}`; - else - headers[key] = value; + const [key, value] = header.split(': ') + if (value == null || value.length === 0) continue + if (headers[key]) headers[key] += `,${value}` + else headers[key] = value } - return headers; + return headers } - }; + } function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); + if (val && typeof val === 'object') { + throw new InvalidArgumentError(`invalid ${key} header`) } - val = val != null ? `${val}` : ""; + val = val != null ? `${val}` : '' if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + throw new InvalidArgumentError(`invalid ${key} header`) } - return skipAppend ? val : `${key}: ${val}\r -`; + return skipAppend + ? val + : `${key}: ${val}\r +` } function processHeader(request, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); + if (val && typeof val === 'object' && !Array.isArray(val)) { + throw new InvalidArgumentError(`invalid ${key} header`) } else if (val === void 0) { - return; + return } - if (request.host === null && key.length === 4 && key.toLowerCase() === "host") { + if ( + request.host === null && + key.length === 4 && + key.toLowerCase() === 'host' + ) { if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + throw new InvalidArgumentError(`invalid ${key} header`) } - request.host = val; - } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request.contentLength = parseInt(val, 10); + request.host = val + } else if ( + request.contentLength === null && + key.length === 14 && + key.toLowerCase() === 'content-length' + ) { + request.contentLength = parseInt(val, 10) if (!Number.isFinite(request.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); + throw new InvalidArgumentError('invalid content-length header') } - } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request.contentType = val; + } else if ( + request.contentType === null && + key.length === 12 && + key.toLowerCase() === 'content-type' + ) { + request.contentType = val if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request.reset = true; - } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); + request.headers[key] = processHeaderValue(key, val, skipAppend) + else request.headers += processHeaderValue(key, val) + } else if ( + key.length === 17 && + key.toLowerCase() === 'transfer-encoding' + ) { + throw new InvalidArgumentError('invalid transfer-encoding header') + } else if (key.length === 10 && key.toLowerCase() === 'connection') { + const value = typeof val === 'string' ? val.toLowerCase() : null + if (value !== 'close' && value !== 'keep-alive') { + throw new InvalidArgumentError('invalid connection header') + } else if (value === 'close') { + request.reset = true + } + } else if (key.length === 10 && key.toLowerCase() === 'keep-alive') { + throw new InvalidArgumentError('invalid keep-alive header') + } else if (key.length === 7 && key.toLowerCase() === 'upgrade') { + throw new InvalidArgumentError('invalid upgrade header') + } else if (key.length === 6 && key.toLowerCase() === 'expect') { + throw new NotSupportedError('expect header not supported') } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); + throw new InvalidArgumentError('invalid header key') } else { if (Array.isArray(val)) { for (let i = 0; i < val.length; i++) { if (skipAppend) { if (request.headers[key]) - request.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`; + request.headers[key] += `,${processHeaderValue( + key, + val[i], + skipAppend + )}` else - request.headers[key] = processHeaderValue(key, val[i], skipAppend); + request.headers[key] = processHeaderValue( + key, + val[i], + skipAppend + ) } else { - request.headers += processHeaderValue(key, val[i]); + request.headers += processHeaderValue(key, val[i]) } } } else { if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); + request.headers[key] = processHeaderValue(key, val, skipAppend) + else request.headers += processHeaderValue(key, val) } } } - module2.exports = Request; + module2.exports = Request } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/dispatcher.js var require_dispatcher = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/dispatcher.js"(exports, module2) { - "use strict"; - var EventEmitter = require("events"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/dispatcher.js'( + exports, + module2 + ) { + 'use strict' + var EventEmitter = require('events') var Dispatcher = class extends EventEmitter { dispatch() { - throw new Error("not implemented"); + throw new Error('not implemented') } close() { - throw new Error("not implemented"); + throw new Error('not implemented') } destroy() { - throw new Error("not implemented"); + throw new Error('not implemented') } - }; - module2.exports = Dispatcher; + } + module2.exports = Dispatcher } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/dispatcher-base.js var require_dispatcher_base = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/dispatcher-base.js"(exports, module2) { - "use strict"; - var Dispatcher = require_dispatcher(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); - var kDestroyed = Symbol("destroyed"); - var kClosed = Symbol("closed"); - var kOnDestroyed = Symbol("onDestroyed"); - var kOnClosed = Symbol("onClosed"); - var kInterceptedDispatch = Symbol("Intercepted Dispatch"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/dispatcher-base.js'( + exports, + module2 + ) { + 'use strict' + var Dispatcher = require_dispatcher() + var { ClientDestroyedError, ClientClosedError, InvalidArgumentError } = + require_errors() + var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols() + var kDestroyed = Symbol('destroyed') + var kClosed = Symbol('closed') + var kOnDestroyed = Symbol('onDestroyed') + var kOnClosed = Symbol('onClosed') + var kInterceptedDispatch = Symbol('Intercepted Dispatch') var DispatcherBase = class extends Dispatcher { constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; + super() + this[kDestroyed] = false + this[kOnDestroyed] = null + this[kClosed] = false + this[kOnClosed] = [] } get destroyed() { - return this[kDestroyed]; + return this[kDestroyed] } get closed() { - return this[kClosed]; + return this[kClosed] } get interceptors() { - return this[kInterceptors]; + return this[kInterceptors] } set interceptors(newInterceptors) { if (newInterceptors) { for (let i = newInterceptors.length - 1; i >= 0; i--) { - const interceptor = this[kInterceptors][i]; - if (typeof interceptor !== "function") { - throw new InvalidArgumentError("interceptor must be an function"); + const interceptor = this[kInterceptors][i] + if (typeof interceptor !== 'function') { + throw new InvalidArgumentError('interceptor must be an function') } } } - this[kInterceptors] = newInterceptors; + this[kInterceptors] = newInterceptors } close(callback) { if (callback === void 0) { return new Promise((resolve, reject) => { this.close((err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); - return; + queueMicrotask(() => callback(new ClientDestroyedError(), null)) + return } if (this[kClosed]) { if (this[kOnClosed]) { - this[kOnClosed].push(callback); + this[kOnClosed].push(callback) } else { - queueMicrotask(() => callback(null, null)); + queueMicrotask(() => callback(null, null)) } - return; + return } - this[kClosed] = true; - this[kOnClosed].push(callback); + this[kClosed] = true + this[kOnClosed].push(callback) const onClosed = () => { - const callbacks = this[kOnClosed]; - this[kOnClosed] = null; + const callbacks = this[kOnClosed] + this[kOnClosed] = null for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); + callbacks[i](null, null) } - }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); + } + this[kClose]() + .then(() => this.destroy()) + .then(() => { + queueMicrotask(onClosed) + }) } destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; + if (typeof err === 'function') { + callback = err + err = null } if (callback === void 0) { return new Promise((resolve, reject) => { this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve(data); - }); - }); + return err2 + ? /* istanbul ignore next: should never error */ + reject(err2) + : resolve(data) + }) + }) } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } if (this[kDestroyed]) { if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); + this[kOnDestroyed].push(callback) } else { - queueMicrotask(() => callback(null, null)); + queueMicrotask(() => callback(null, null)) } - return; + return } if (!err) { - err = new ClientDestroyedError(); + err = new ClientDestroyedError() } - this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; - this[kOnDestroyed].push(callback); + this[kDestroyed] = true + this[kOnDestroyed] = this[kOnDestroyed] || [] + this[kOnDestroyed].push(callback) const onDestroyed = () => { - const callbacks = this[kOnDestroyed]; - this[kOnDestroyed] = null; + const callbacks = this[kOnDestroyed] + this[kOnDestroyed] = null for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); + callbacks[i](null, null) } - }; + } this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); + queueMicrotask(onDestroyed) + }) } [kInterceptedDispatch](opts, handler) { if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler); + this[kInterceptedDispatch] = this[kDispatch] + return this[kDispatch](opts, handler) } - let dispatch = this[kDispatch].bind(this); + let dispatch = this[kDispatch].bind(this) for (let i = this[kInterceptors].length - 1; i >= 0; i--) { - dispatch = this[kInterceptors][i](dispatch); + dispatch = this[kInterceptors][i](dispatch) } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler); + this[kInterceptedDispatch] = dispatch + return dispatch(opts, handler) } dispatch(opts, handler) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); + if (!handler || typeof handler !== 'object') { + throw new InvalidArgumentError('handler must be an object') } try { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object."); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('opts must be an object.') } if (this[kDestroyed] || this[kOnDestroyed]) { - throw new ClientDestroyedError(); + throw new ClientDestroyedError() } if (this[kClosed]) { - throw new ClientClosedError(); + throw new ClientClosedError() } - return this[kInterceptedDispatch](opts, handler); + return this[kInterceptedDispatch](opts, handler) } catch (err) { - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (typeof handler.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method') } - handler.onError(err); - return false; + handler.onError(err) + return false } } - }; - module2.exports = DispatcherBase; + } + module2.exports = DispatcherBase } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/connect.js var require_connect = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/connect.js"(exports, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util = require_util(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); - var tls; - var SessionCache; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/core/connect.js'( + exports, + module2 + ) { + 'use strict' + var net = require('net') + var assert = require('assert') + var util = require_util() + var { InvalidArgumentError, ConnectTimeoutError } = require_errors() + var tls + var SessionCache if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { SessionCache = class WeakSessionCache { constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); + this._maxCachedSessions = maxCachedSessions + this._sessionCache = /* @__PURE__ */ new Map() this._sessionRegistry = new global.FinalizationRegistry((key) => { if (this._sessionCache.size < this._maxCachedSessions) { - return; + return } - const ref = this._sessionCache.get(key); + const ref = this._sessionCache.get(key) if (ref !== void 0 && ref.deref() === void 0) { - this._sessionCache.delete(key); + this._sessionCache.delete(key) } - }); + }) } get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; + const ref = this._sessionCache.get(sessionKey) + return ref ? ref.deref() : null } set(sessionKey, session) { if (this._maxCachedSessions === 0) { - return; + return } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); + this._sessionCache.set(sessionKey, new WeakRef(session)) + this._sessionRegistry.register(session, sessionKey) } - }; + } } else { SessionCache = class SimpleSessionCache { constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); + this._maxCachedSessions = maxCachedSessions + this._sessionCache = /* @__PURE__ */ new Map() } get(sessionKey) { - return this._sessionCache.get(sessionKey); + return this._sessionCache.get(sessionKey) } set(sessionKey, session) { if (this._maxCachedSessions === 0) { - return; + return } if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); + const { value: oldestKey } = this._sessionCache.keys().next() + this._sessionCache.delete(oldestKey) } - this._sessionCache.set(sessionKey, session); + this._sessionCache.set(sessionKey, session) } - }; + } } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + function buildConnector({ + allowH2, + maxCachedSessions, + socketPath, + timeout, + ...opts + }) { + if ( + maxCachedSessions != null && + (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0) + ) { + throw new InvalidArgumentError( + 'maxCachedSessions must be a positive integer or zero' + ) } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { + const options = { path: socketPath, ...opts } + const sessionCache = new SessionCache( + maxCachedSessions == null ? 100 : maxCachedSessions + ) + timeout = timeout == null ? 1e4 : timeout + allowH2 = allowH2 != null ? allowH2 : false + return function connect( + { + hostname, + host, + protocol, + port, + servername, + localAddress, + httpSocket + }, + callback + ) { + let socket + if (protocol === 'https:') { if (!tls) { - tls = require("tls"); + tls = require('tls') } - servername = servername || options.servername || util.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); + servername = + servername || options.servername || util.getServerName(host) || null + const sessionKey = servername || hostname + const session = sessionCache.get(sessionKey) || null + assert(sessionKey) socket = tls.connect({ highWaterMark: 16384, // TLS in node can't have bigger HWM anyway... @@ -6835,17 +7607,17 @@ var require_connect = __commonJS({ session, localAddress, // TODO(HTTP/2): Add support for h2c - ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], + ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'], socket: httpSocket, // upgrade socket connection port: port || 443, host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); + }) + socket.on('session', function (session2) { + sessionCache.set(sessionKey, session2) + }) } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); + assert(!httpSocket, 'httpSocket can only be sent on TLS update') socket = net.connect({ highWaterMark: 64 * 1024, // Same as nodejs fs streams. @@ -6853,188 +7625,234 @@ var require_connect = __commonJS({ localAddress, port: port || 80, host: hostname - }); + }) } if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); - } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(err); - } - }); - return socket; - }; + const keepAliveInitialDelay = + options.keepAliveInitialDelay === void 0 + ? 6e4 + : options.keepAliveInitialDelay + socket.setKeepAlive(true, keepAliveInitialDelay) + } + const cancelTimeout = setupTimeout( + () => onConnectTimeout(socket), + timeout + ) + socket + .setNoDelay(true) + .once( + protocol === 'https:' ? 'secureConnect' : 'connect', + function () { + cancelTimeout() + if (callback) { + const cb = callback + callback = null + cb(null, this) + } + } + ) + .on('error', function (err) { + cancelTimeout() + if (callback) { + const cb = callback + callback = null + cb(err) + } + }) + return socket + } } function setupTimeout(onConnectTimeout2, timeout) { if (!timeout) { - return () => { - }; + return () => {} } - let s1 = null; - let s2 = null; + let s1 = null + let s2 = null const timeoutId = setTimeout(() => { s1 = setImmediate(() => { - if (process.platform === "win32") { - s2 = setImmediate(() => onConnectTimeout2()); + if (process.platform === 'win32') { + s2 = setImmediate(() => onConnectTimeout2()) } else { - onConnectTimeout2(); + onConnectTimeout2() } - }); - }, timeout); + }) + }, timeout) return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s2); - }; + clearTimeout(timeoutId) + clearImmediate(s1) + clearImmediate(s2) + } } function onConnectTimeout(socket) { - util.destroy(socket, new ConnectTimeoutError()); + util.destroy(socket, new ConnectTimeoutError()) } - module2.exports = buildConnector; + module2.exports = buildConnector } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/utils.js var require_utils2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.enumToMap = void 0; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/utils.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.enumToMap = void 0 function enumToMap(obj) { - const res = {}; + const res = {} Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; + const value = obj[key] + if (typeof value === 'number') { + res[key] = value } - }); - return res; + }) + return res } - exports.enumToMap = enumToMap; + exports.enumToMap = enumToMap } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/constants.js var require_constants2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0; - var utils_1 = require_utils2(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = exports.ERROR || (exports.ERROR = {})); - var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports.TYPE || (exports.TYPE = {})); - var FLAGS; - (function(FLAGS2) { - FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; - FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; - FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; - FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; - FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; - FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; - FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; - FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; - FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; - })(FLAGS = exports.FLAGS || (exports.FLAGS = {})); - var LENIENT_FLAGS; - (function(LENIENT_FLAGS2) { - LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; - LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; - LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; - })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports.METHODS || (exports.METHODS = {})); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/constants.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.SPECIAL_HEADERS = + exports.HEADER_STATE = + exports.MINOR = + exports.MAJOR = + exports.CONNECTION_TOKEN_CHARS = + exports.HEADER_CHARS = + exports.TOKEN = + exports.STRICT_TOKEN = + exports.HEX = + exports.URL_CHAR = + exports.STRICT_URL_CHAR = + exports.USERINFO_CHARS = + exports.MARK = + exports.ALPHANUM = + exports.NUM = + exports.HEX_MAP = + exports.NUM_MAP = + exports.ALPHA = + exports.FINISH = + exports.H_METHOD_MAP = + exports.METHOD_MAP = + exports.METHODS_RTSP = + exports.METHODS_ICE = + exports.METHODS_HTTP = + exports.METHODS = + exports.LENIENT_FLAGS = + exports.FLAGS = + exports.TYPE = + exports.ERROR = + void 0 + var utils_1 = require_utils2() + var ERROR + ;(function (ERROR2) { + ERROR2[(ERROR2['OK'] = 0)] = 'OK' + ERROR2[(ERROR2['INTERNAL'] = 1)] = 'INTERNAL' + ERROR2[(ERROR2['STRICT'] = 2)] = 'STRICT' + ERROR2[(ERROR2['LF_EXPECTED'] = 3)] = 'LF_EXPECTED' + ERROR2[(ERROR2['UNEXPECTED_CONTENT_LENGTH'] = 4)] = + 'UNEXPECTED_CONTENT_LENGTH' + ERROR2[(ERROR2['CLOSED_CONNECTION'] = 5)] = 'CLOSED_CONNECTION' + ERROR2[(ERROR2['INVALID_METHOD'] = 6)] = 'INVALID_METHOD' + ERROR2[(ERROR2['INVALID_URL'] = 7)] = 'INVALID_URL' + ERROR2[(ERROR2['INVALID_CONSTANT'] = 8)] = 'INVALID_CONSTANT' + ERROR2[(ERROR2['INVALID_VERSION'] = 9)] = 'INVALID_VERSION' + ERROR2[(ERROR2['INVALID_HEADER_TOKEN'] = 10)] = 'INVALID_HEADER_TOKEN' + ERROR2[(ERROR2['INVALID_CONTENT_LENGTH'] = 11)] = 'INVALID_CONTENT_LENGTH' + ERROR2[(ERROR2['INVALID_CHUNK_SIZE'] = 12)] = 'INVALID_CHUNK_SIZE' + ERROR2[(ERROR2['INVALID_STATUS'] = 13)] = 'INVALID_STATUS' + ERROR2[(ERROR2['INVALID_EOF_STATE'] = 14)] = 'INVALID_EOF_STATE' + ERROR2[(ERROR2['INVALID_TRANSFER_ENCODING'] = 15)] = + 'INVALID_TRANSFER_ENCODING' + ERROR2[(ERROR2['CB_MESSAGE_BEGIN'] = 16)] = 'CB_MESSAGE_BEGIN' + ERROR2[(ERROR2['CB_HEADERS_COMPLETE'] = 17)] = 'CB_HEADERS_COMPLETE' + ERROR2[(ERROR2['CB_MESSAGE_COMPLETE'] = 18)] = 'CB_MESSAGE_COMPLETE' + ERROR2[(ERROR2['CB_CHUNK_HEADER'] = 19)] = 'CB_CHUNK_HEADER' + ERROR2[(ERROR2['CB_CHUNK_COMPLETE'] = 20)] = 'CB_CHUNK_COMPLETE' + ERROR2[(ERROR2['PAUSED'] = 21)] = 'PAUSED' + ERROR2[(ERROR2['PAUSED_UPGRADE'] = 22)] = 'PAUSED_UPGRADE' + ERROR2[(ERROR2['PAUSED_H2_UPGRADE'] = 23)] = 'PAUSED_H2_UPGRADE' + ERROR2[(ERROR2['USER'] = 24)] = 'USER' + })((ERROR = exports.ERROR || (exports.ERROR = {}))) + var TYPE + ;(function (TYPE2) { + TYPE2[(TYPE2['BOTH'] = 0)] = 'BOTH' + TYPE2[(TYPE2['REQUEST'] = 1)] = 'REQUEST' + TYPE2[(TYPE2['RESPONSE'] = 2)] = 'RESPONSE' + })((TYPE = exports.TYPE || (exports.TYPE = {}))) + var FLAGS + ;(function (FLAGS2) { + FLAGS2[(FLAGS2['CONNECTION_KEEP_ALIVE'] = 1)] = 'CONNECTION_KEEP_ALIVE' + FLAGS2[(FLAGS2['CONNECTION_CLOSE'] = 2)] = 'CONNECTION_CLOSE' + FLAGS2[(FLAGS2['CONNECTION_UPGRADE'] = 4)] = 'CONNECTION_UPGRADE' + FLAGS2[(FLAGS2['CHUNKED'] = 8)] = 'CHUNKED' + FLAGS2[(FLAGS2['UPGRADE'] = 16)] = 'UPGRADE' + FLAGS2[(FLAGS2['CONTENT_LENGTH'] = 32)] = 'CONTENT_LENGTH' + FLAGS2[(FLAGS2['SKIPBODY'] = 64)] = 'SKIPBODY' + FLAGS2[(FLAGS2['TRAILING'] = 128)] = 'TRAILING' + FLAGS2[(FLAGS2['TRANSFER_ENCODING'] = 512)] = 'TRANSFER_ENCODING' + })((FLAGS = exports.FLAGS || (exports.FLAGS = {}))) + var LENIENT_FLAGS + ;(function (LENIENT_FLAGS2) { + LENIENT_FLAGS2[(LENIENT_FLAGS2['HEADERS'] = 1)] = 'HEADERS' + LENIENT_FLAGS2[(LENIENT_FLAGS2['CHUNKED_LENGTH'] = 2)] = 'CHUNKED_LENGTH' + LENIENT_FLAGS2[(LENIENT_FLAGS2['KEEP_ALIVE'] = 4)] = 'KEEP_ALIVE' + })((LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}))) + var METHODS + ;(function (METHODS2) { + METHODS2[(METHODS2['DELETE'] = 0)] = 'DELETE' + METHODS2[(METHODS2['GET'] = 1)] = 'GET' + METHODS2[(METHODS2['HEAD'] = 2)] = 'HEAD' + METHODS2[(METHODS2['POST'] = 3)] = 'POST' + METHODS2[(METHODS2['PUT'] = 4)] = 'PUT' + METHODS2[(METHODS2['CONNECT'] = 5)] = 'CONNECT' + METHODS2[(METHODS2['OPTIONS'] = 6)] = 'OPTIONS' + METHODS2[(METHODS2['TRACE'] = 7)] = 'TRACE' + METHODS2[(METHODS2['COPY'] = 8)] = 'COPY' + METHODS2[(METHODS2['LOCK'] = 9)] = 'LOCK' + METHODS2[(METHODS2['MKCOL'] = 10)] = 'MKCOL' + METHODS2[(METHODS2['MOVE'] = 11)] = 'MOVE' + METHODS2[(METHODS2['PROPFIND'] = 12)] = 'PROPFIND' + METHODS2[(METHODS2['PROPPATCH'] = 13)] = 'PROPPATCH' + METHODS2[(METHODS2['SEARCH'] = 14)] = 'SEARCH' + METHODS2[(METHODS2['UNLOCK'] = 15)] = 'UNLOCK' + METHODS2[(METHODS2['BIND'] = 16)] = 'BIND' + METHODS2[(METHODS2['REBIND'] = 17)] = 'REBIND' + METHODS2[(METHODS2['UNBIND'] = 18)] = 'UNBIND' + METHODS2[(METHODS2['ACL'] = 19)] = 'ACL' + METHODS2[(METHODS2['REPORT'] = 20)] = 'REPORT' + METHODS2[(METHODS2['MKACTIVITY'] = 21)] = 'MKACTIVITY' + METHODS2[(METHODS2['CHECKOUT'] = 22)] = 'CHECKOUT' + METHODS2[(METHODS2['MERGE'] = 23)] = 'MERGE' + METHODS2[(METHODS2['M-SEARCH'] = 24)] = 'M-SEARCH' + METHODS2[(METHODS2['NOTIFY'] = 25)] = 'NOTIFY' + METHODS2[(METHODS2['SUBSCRIBE'] = 26)] = 'SUBSCRIBE' + METHODS2[(METHODS2['UNSUBSCRIBE'] = 27)] = 'UNSUBSCRIBE' + METHODS2[(METHODS2['PATCH'] = 28)] = 'PATCH' + METHODS2[(METHODS2['PURGE'] = 29)] = 'PURGE' + METHODS2[(METHODS2['MKCALENDAR'] = 30)] = 'MKCALENDAR' + METHODS2[(METHODS2['LINK'] = 31)] = 'LINK' + METHODS2[(METHODS2['UNLINK'] = 32)] = 'UNLINK' + METHODS2[(METHODS2['SOURCE'] = 33)] = 'SOURCE' + METHODS2[(METHODS2['PRI'] = 34)] = 'PRI' + METHODS2[(METHODS2['DESCRIBE'] = 35)] = 'DESCRIBE' + METHODS2[(METHODS2['ANNOUNCE'] = 36)] = 'ANNOUNCE' + METHODS2[(METHODS2['SETUP'] = 37)] = 'SETUP' + METHODS2[(METHODS2['PLAY'] = 38)] = 'PLAY' + METHODS2[(METHODS2['PAUSE'] = 39)] = 'PAUSE' + METHODS2[(METHODS2['TEARDOWN'] = 40)] = 'TEARDOWN' + METHODS2[(METHODS2['GET_PARAMETER'] = 41)] = 'GET_PARAMETER' + METHODS2[(METHODS2['SET_PARAMETER'] = 42)] = 'SET_PARAMETER' + METHODS2[(METHODS2['REDIRECT'] = 43)] = 'REDIRECT' + METHODS2[(METHODS2['RECORD'] = 44)] = 'RECORD' + METHODS2[(METHODS2['FLUSH'] = 45)] = 'FLUSH' + })((METHODS = exports.METHODS || (exports.METHODS = {}))) exports.METHODS_HTTP = [ METHODS.DELETE, METHODS.GET, @@ -7060,7 +7878,7 @@ var require_constants2 = __commonJS({ METHODS.MKACTIVITY, METHODS.CHECKOUT, METHODS.MERGE, - METHODS["M-SEARCH"], + METHODS['M-SEARCH'], METHODS.NOTIFY, METHODS.SUBSCRIBE, METHODS.UNSUBSCRIBE, @@ -7072,10 +7890,8 @@ var require_constants2 = __commonJS({ METHODS.PRI, // TODO(indutny): should we allow it with HTTP? METHODS.SOURCE - ]; - exports.METHODS_ICE = [ - METHODS.SOURCE - ]; + ] + exports.METHODS_ICE = [METHODS.SOURCE] exports.METHODS_RTSP = [ METHODS.OPTIONS, METHODS.DESCRIBE, @@ -7092,24 +7908,24 @@ var require_constants2 = __commonJS({ // For AirPlay METHODS.GET, METHODS.POST - ]; - exports.METHOD_MAP = utils_1.enumToMap(METHODS); - exports.H_METHOD_MAP = {}; + ] + exports.METHOD_MAP = utils_1.enumToMap(METHODS) + exports.H_METHOD_MAP = {} Object.keys(exports.METHOD_MAP).forEach((key) => { if (/^H/.test(key)) { - exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key]; - } - }); - var FINISH; - (function(FINISH2) { - FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; - FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; - FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; - })(FINISH = exports.FINISH || (exports.FINISH = {})); - exports.ALPHA = []; - for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { - exports.ALPHA.push(String.fromCharCode(i)); - exports.ALPHA.push(String.fromCharCode(i + 32)); + exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key] + } + }) + var FINISH + ;(function (FINISH2) { + FINISH2[(FINISH2['SAFE'] = 0)] = 'SAFE' + FINISH2[(FINISH2['SAFE_WITH_CB'] = 1)] = 'SAFE_WITH_CB' + FINISH2[(FINISH2['UNSAFE'] = 2)] = 'UNSAFE' + })((FINISH = exports.FINISH || (exports.FINISH = {}))) + exports.ALPHA = [] + for (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) { + exports.ALPHA.push(String.fromCharCode(i)) + exports.ALPHA.push(String.fromCharCode(i + 32)) } exports.NUM_MAP = { 0: 0, @@ -7122,7 +7938,7 @@ var require_constants2 = __commonJS({ 7: 7, 8: 8, 9: 9 - }; + } exports.HEX_MAP = { 0: 0, 1: 1, @@ -7146,296 +7962,374 @@ var require_constants2 = __commonJS({ d: 13, e: 14, f: 15 - }; - exports.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; - exports.ALPHANUM = exports.ALPHA.concat(exports.NUM); - exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + } + exports.NUM = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] + exports.ALPHANUM = exports.ALPHA.concat(exports.NUM) + exports.MARK = ['-', '_', '.', '!', '~', '*', "'", '(', ')'] + exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat([ + '%', + ';', + ':', + '&', + '=', + '+', + '$', + ',' + ]) exports.STRICT_URL_CHAR = [ - "!", + '!', '"', - "$", - "%", - "&", + '$', + '%', + '&', "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" - ].concat(exports.ALPHANUM); - exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([" ", "\f"]); + '(', + ')', + '*', + '+', + ',', + '-', + '.', + '/', + ':', + ';', + '<', + '=', + '>', + '@', + '[', + '\\', + ']', + '^', + '_', + '`', + '{', + '|', + '}', + '~' + ].concat(exports.ALPHANUM) + exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([' ', '\f']) for (let i = 128; i <= 255; i++) { - exports.URL_CHAR.push(i); - } - exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + exports.URL_CHAR.push(i) + } + exports.HEX = exports.NUM.concat([ + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F' + ]) exports.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", + '!', + '#', + '$', + '%', + '&', "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports.ALPHANUM); - exports.TOKEN = exports.STRICT_TOKEN.concat([" "]); - exports.HEADER_CHARS = [" "]; + '*', + '+', + '-', + '.', + '^', + '_', + '`', + '|', + '~' + ].concat(exports.ALPHANUM) + exports.TOKEN = exports.STRICT_TOKEN.concat([' ']) + exports.HEADER_CHARS = [' '] for (let i = 32; i <= 255; i++) { if (i !== 127) { - exports.HEADER_CHARS.push(i); - } - } - exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44); - exports.MAJOR = exports.NUM_MAP; - exports.MINOR = exports.MAJOR; - var HEADER_STATE; - (function(HEADER_STATE2) { - HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; - HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; - HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; - HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; - })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {})); + exports.HEADER_CHARS.push(i) + } + } + exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter( + (c) => c !== 44 + ) + exports.MAJOR = exports.NUM_MAP + exports.MINOR = exports.MAJOR + var HEADER_STATE + ;(function (HEADER_STATE2) { + HEADER_STATE2[(HEADER_STATE2['GENERAL'] = 0)] = 'GENERAL' + HEADER_STATE2[(HEADER_STATE2['CONNECTION'] = 1)] = 'CONNECTION' + HEADER_STATE2[(HEADER_STATE2['CONTENT_LENGTH'] = 2)] = 'CONTENT_LENGTH' + HEADER_STATE2[(HEADER_STATE2['TRANSFER_ENCODING'] = 3)] = + 'TRANSFER_ENCODING' + HEADER_STATE2[(HEADER_STATE2['UPGRADE'] = 4)] = 'UPGRADE' + HEADER_STATE2[(HEADER_STATE2['CONNECTION_KEEP_ALIVE'] = 5)] = + 'CONNECTION_KEEP_ALIVE' + HEADER_STATE2[(HEADER_STATE2['CONNECTION_CLOSE'] = 6)] = + 'CONNECTION_CLOSE' + HEADER_STATE2[(HEADER_STATE2['CONNECTION_UPGRADE'] = 7)] = + 'CONNECTION_UPGRADE' + HEADER_STATE2[(HEADER_STATE2['TRANSFER_ENCODING_CHUNKED'] = 8)] = + 'TRANSFER_ENCODING_CHUNKED' + })((HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}))) exports.SPECIAL_HEADERS = { - "connection": HEADER_STATE.CONNECTION, - "content-length": HEADER_STATE.CONTENT_LENGTH, - "proxy-connection": HEADER_STATE.CONNECTION, - "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, - "upgrade": HEADER_STATE.UPGRADE - }; + connection: HEADER_STATE.CONNECTION, + 'content-length': HEADER_STATE.CONTENT_LENGTH, + 'proxy-connection': HEADER_STATE.CONNECTION, + 'transfer-encoding': HEADER_STATE.TRANSFER_ENCODING, + upgrade: HEADER_STATE.UPGRADE + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/handler/RedirectHandler.js var require_RedirectHandler = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) { - "use strict"; - var util = require_util(); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { InvalidArgumentError } = require_errors(); - var EE = require("events"); - var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = Symbol("body"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/handler/RedirectHandler.js'( + exports, + module2 + ) { + 'use strict' + var util = require_util() + var { kBodyUsed } = require_symbols() + var assert = require('assert') + var { InvalidArgumentError } = require_errors() + var EE = require('events') + var redirectableStatusCodes = [300, 301, 302, 303, 307, 308] + var kBody = Symbol('body') var BodyAsyncIterable = class { constructor(body) { - this[kBody] = body; - this[kBodyUsed] = false; + this[kBody] = body + this[kBodyUsed] = false } async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); - this[kBodyUsed] = true; - yield* this[kBody]; + assert(!this[kBodyUsed], 'disturbed') + this[kBodyUsed] = true + yield* this[kBody] } - }; + } var RedirectHandler = class { constructor(dispatch, maxRedirections, opts, handler) { - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - util.validateHandler(handler, opts.method, opts.upgrade); - this.dispatch = dispatch; - this.location = null; - this.abort = null; - this.opts = { ...opts, maxRedirections: 0 }; - this.maxRedirections = maxRedirections; - this.handler = handler; - this.history = []; + if ( + maxRedirections != null && + (!Number.isInteger(maxRedirections) || maxRedirections < 0) + ) { + throw new InvalidArgumentError( + 'maxRedirections must be a positive number' + ) + } + util.validateHandler(handler, opts.method, opts.upgrade) + this.dispatch = dispatch + this.location = null + this.abort = null + this.opts = { ...opts, maxRedirections: 0 } + this.maxRedirections = maxRedirections + this.handler = handler + this.history = [] if (util.isStream(this.opts.body)) { if (util.bodyLength(this.opts.body) === 0) { - this.opts.body.on("data", function() { - assert(false); - }); - } - if (typeof this.opts.body.readableDidRead !== "boolean") { - this.opts.body[kBodyUsed] = false; - EE.prototype.on.call(this.opts.body, "data", function() { - this[kBodyUsed] = true; - }); - } - } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) { - this.opts.body = new BodyAsyncIterable(this.opts.body); + this.opts.body.on('data', function () { + assert(false) + }) + } + if (typeof this.opts.body.readableDidRead !== 'boolean') { + this.opts.body[kBodyUsed] = false + EE.prototype.on.call(this.opts.body, 'data', function () { + this[kBodyUsed] = true + }) + } + } else if ( + this.opts.body && + typeof this.opts.body.pipeTo === 'function' + ) { + this.opts.body = new BodyAsyncIterable(this.opts.body) + } else if ( + this.opts.body && + typeof this.opts.body !== 'string' && + !ArrayBuffer.isView(this.opts.body) && + util.isIterable(this.opts.body) + ) { + this.opts.body = new BodyAsyncIterable(this.opts.body) } } onConnect(abort) { - this.abort = abort; - this.handler.onConnect(abort, { history: this.history }); + this.abort = abort + this.handler.onConnect(abort, { history: this.history }) } onUpgrade(statusCode, headers, socket) { - this.handler.onUpgrade(statusCode, headers, socket); + this.handler.onUpgrade(statusCode, headers, socket) } onError(error) { - this.handler.onError(error); + this.handler.onError(error) } onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + this.location = + this.history.length >= this.maxRedirections || + util.isDisturbed(this.opts.body) + ? null + : parseLocation(statusCode, headers) if (this.opts.origin) { - this.history.push(new URL(this.opts.path, this.opts.origin)); + this.history.push(new URL(this.opts.path, this.opts.origin)) } if (!this.location) { - return this.handler.onHeaders(statusCode, headers, resume, statusText); + return this.handler.onHeaders(statusCode, headers, resume, statusText) } - const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); - const path = search ? `${pathname}${search}` : pathname; - this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); - this.opts.path = path; - this.opts.origin = origin; - this.opts.maxRedirections = 0; - this.opts.query = null; - if (statusCode === 303 && this.opts.method !== "HEAD") { - this.opts.method = "GET"; - this.opts.body = null; + const { origin, pathname, search } = util.parseURL( + new URL( + this.location, + this.opts.origin && new URL(this.opts.path, this.opts.origin) + ) + ) + const path = search ? `${pathname}${search}` : pathname + this.opts.headers = cleanRequestHeaders( + this.opts.headers, + statusCode === 303, + this.opts.origin !== origin + ) + this.opts.path = path + this.opts.origin = origin + this.opts.maxRedirections = 0 + this.opts.query = null + if (statusCode === 303 && this.opts.method !== 'HEAD') { + this.opts.method = 'GET' + this.opts.body = null } } onData(chunk) { if (this.location) { } else { - return this.handler.onData(chunk); + return this.handler.onData(chunk) } } onComplete(trailers) { if (this.location) { - this.location = null; - this.abort = null; - this.dispatch(this.opts, this); + this.location = null + this.abort = null + this.dispatch(this.opts, this) } else { - this.handler.onComplete(trailers); + this.handler.onComplete(trailers) } } onBodySent(chunk) { if (this.handler.onBodySent) { - this.handler.onBodySent(chunk); + this.handler.onBodySent(chunk) } } - }; + } function parseLocation(statusCode, headers) { if (redirectableStatusCodes.indexOf(statusCode) === -1) { - return null; + return null } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].toString().toLowerCase() === "location") { - return headers[i + 1]; + if (headers[i].toString().toLowerCase() === 'location') { + return headers[i + 1] } } } function shouldRemoveHeader(header, removeContent, unknownOrigin) { - return header.length === 4 && header.toString().toLowerCase() === "host" || removeContent && header.toString().toLowerCase().indexOf("content-") === 0 || unknownOrigin && header.length === 13 && header.toString().toLowerCase() === "authorization" || unknownOrigin && header.length === 6 && header.toString().toLowerCase() === "cookie"; + return ( + (header.length === 4 && header.toString().toLowerCase() === 'host') || + (removeContent && + header.toString().toLowerCase().indexOf('content-') === 0) || + (unknownOrigin && + header.length === 13 && + header.toString().toLowerCase() === 'authorization') || + (unknownOrigin && + header.length === 6 && + header.toString().toLowerCase() === 'cookie') + ) } function cleanRequestHeaders(headers, removeContent, unknownOrigin) { - const ret = []; + const ret = [] if (Array.isArray(headers)) { for (let i = 0; i < headers.length; i += 2) { if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) { - ret.push(headers[i], headers[i + 1]); + ret.push(headers[i], headers[i + 1]) } } - } else if (headers && typeof headers === "object") { + } else if (headers && typeof headers === 'object') { for (const key of Object.keys(headers)) { if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { - ret.push(key, headers[key]); + ret.push(key, headers[key]) } } } else { - assert(headers == null, "headers must be an object or an array"); + assert(headers == null, 'headers must be an object or an array') } - return ret; + return ret } - module2.exports = RedirectHandler; + module2.exports = RedirectHandler } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/interceptor/redirectInterceptor.js var require_redirectInterceptor = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) { - "use strict"; - var RedirectHandler = require_RedirectHandler(); - function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/interceptor/redirectInterceptor.js'( + exports, + module2 + ) { + 'use strict' + var RedirectHandler = require_RedirectHandler() + function createRedirectInterceptor({ + maxRedirections: defaultMaxRedirections + }) { return (dispatch) => { return function Intercept(opts, handler) { - const { maxRedirections = defaultMaxRedirections } = opts; + const { maxRedirections = defaultMaxRedirections } = opts if (!maxRedirections) { - return dispatch(opts, handler); + return dispatch(opts, handler) } - const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); - opts = { ...opts, maxRedirections: 0 }; - return dispatch(opts, redirectHandler); - }; - }; + const redirectHandler = new RedirectHandler( + dispatch, + maxRedirections, + opts, + handler + ) + opts = { ...opts, maxRedirections: 0 } + return dispatch(opts, redirectHandler) + } + } } - module2.exports = createRedirectInterceptor; + module2.exports = createRedirectInterceptor } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/llhttp-wasm.js var require_llhttp_wasm = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/llhttp-wasm.js'( + exports, + module2 + ) { + module2.exports = + 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=' } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js var require_llhttp_simd_wasm = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js'( + exports, + module2 + ) { + module2.exports = + 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==' } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/client.js var require_client = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/client.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var net = require("net"); - var http = require("http"); - var { pipeline } = require("stream"); - var util = require_util(); - var timers = require_timers(); - var Request = require_request(); - var DispatcherBase = require_dispatcher_base(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/client.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var net = require('net') + var http = require('http') + var { pipeline } = require('stream') + var util = require_util() + var timers = require_timers() + var Request = require_request() + var DispatcherBase = require_dispatcher_base() var { RequestContentLengthMismatchError, ResponseContentLengthMismatchError, @@ -7449,8 +8343,8 @@ var require_client = __commonJS({ HTTPParserError, ResponseExceededMaxSizeError, ClientDestroyedError - } = require_errors(); - var buildConnector = require_connect(); + } = require_errors() + var buildConnector = require_connect() var { kUrl, kReset, @@ -7502,12 +8396,12 @@ var require_client = __commonJS({ kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest - } = require_symbols(); - var http2; + } = require_symbols() + var http2 try { - http2 = require("http2"); + http2 = require('http2') } catch { - http2 = { constants: {} }; + http2 = { constants: {} } } var { constants: { @@ -7519,22 +8413,28 @@ var require_client = __commonJS({ HTTP2_HEADER_EXPECT, HTTP2_HEADER_STATUS } - } = http2; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; - var kClosedResolve = Symbol("kClosedResolve"); - var channels = {}; + } = http2 + var h2ExperimentalWarned = false + var FastBuffer = Buffer[Symbol.species] + var kClosedResolve = Symbol('kClosedResolve') + var channels = {} try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); + const diagnosticsChannel = require('diagnostics_channel') + channels.sendHeaders = diagnosticsChannel.channel( + 'undici:client:sendHeaders' + ) + channels.beforeConnect = diagnosticsChannel.channel( + 'undici:client:beforeConnect' + ) + channels.connectError = diagnosticsChannel.channel( + 'undici:client:connectError' + ) + channels.connected = diagnosticsChannel.channel('undici:client:connected') } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; + channels.sendHeaders = { hasSubscribers: false } + channels.beforeConnect = { hasSubscribers: false } + channels.connectError = { hasSubscribers: false } + channels.connected = { hasSubscribers: false } } var Client = class extends DispatcherBase { /** @@ -7542,791 +8442,1007 @@ var require_client = __commonJS({ * @param {string|URL} url * @param {import('../types/client').Client.Options} options */ - constructor(url, { - interceptors, - maxHeaderSize, - headersTimeout, - socketTimeout, - requestTimeout, - connectTimeout, - bodyTimeout, - idleTimeout, - keepAlive, - keepAliveTimeout, - maxKeepAliveTimeout, - keepAliveMaxTimeout, - keepAliveTimeoutThreshold, - socketPath, - pipelining, - tls, - strictContentLength, - maxCachedSessions, - maxRedirections, - connect: connect2, - maxRequestsPerClient, - localAddress, - maxResponseSize, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - // h2 - allowH2, - maxConcurrentStreams - } = {}) { - super(); + constructor( + url, + { + interceptors, + maxHeaderSize, + headersTimeout, + socketTimeout, + requestTimeout, + connectTimeout, + bodyTimeout, + idleTimeout, + keepAlive, + keepAliveTimeout, + maxKeepAliveTimeout, + keepAliveMaxTimeout, + keepAliveTimeoutThreshold, + socketPath, + pipelining, + tls, + strictContentLength, + maxCachedSessions, + maxRedirections, + connect: connect2, + maxRequestsPerClient, + localAddress, + maxResponseSize, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + // h2 + allowH2, + maxConcurrentStreams + } = {} + ) { + super() if (keepAlive !== void 0) { - throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); + throw new InvalidArgumentError( + 'unsupported keepAlive, use pipelining=0 instead' + ) } if (socketTimeout !== void 0) { - throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); + throw new InvalidArgumentError( + 'unsupported socketTimeout, use headersTimeout & bodyTimeout instead' + ) } if (requestTimeout !== void 0) { - throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); + throw new InvalidArgumentError( + 'unsupported requestTimeout, use headersTimeout & bodyTimeout instead' + ) } if (idleTimeout !== void 0) { - throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); + throw new InvalidArgumentError( + 'unsupported idleTimeout, use keepAliveTimeout instead' + ) } if (maxKeepAliveTimeout !== void 0) { - throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); + throw new InvalidArgumentError( + 'unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead' + ) } if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { - throw new InvalidArgumentError("invalid maxHeaderSize"); - } - if (socketPath != null && typeof socketPath !== "string") { - throw new InvalidArgumentError("invalid socketPath"); - } - if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { - throw new InvalidArgumentError("invalid connectTimeout"); - } - if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveTimeout"); - } - if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); - } - if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { - throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); - } - if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); + throw new InvalidArgumentError('invalid maxHeaderSize') + } + if (socketPath != null && typeof socketPath !== 'string') { + throw new InvalidArgumentError('invalid socketPath') + } + if ( + connectTimeout != null && + (!Number.isFinite(connectTimeout) || connectTimeout < 0) + ) { + throw new InvalidArgumentError('invalid connectTimeout') + } + if ( + keepAliveTimeout != null && + (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0) + ) { + throw new InvalidArgumentError('invalid keepAliveTimeout') + } + if ( + keepAliveMaxTimeout != null && + (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0) + ) { + throw new InvalidArgumentError('invalid keepAliveMaxTimeout') + } + if ( + keepAliveTimeoutThreshold != null && + !Number.isFinite(keepAliveTimeoutThreshold) + ) { + throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold') + } + if ( + headersTimeout != null && + (!Number.isInteger(headersTimeout) || headersTimeout < 0) + ) { + throw new InvalidArgumentError( + 'headersTimeout must be a positive integer or zero' + ) } - if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); + if ( + bodyTimeout != null && + (!Number.isInteger(bodyTimeout) || bodyTimeout < 0) + ) { + throw new InvalidArgumentError( + 'bodyTimeout must be a positive integer or zero' + ) } - if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); + if ( + connect2 != null && + typeof connect2 !== 'function' && + typeof connect2 !== 'object' + ) { + throw new InvalidArgumentError( + 'connect must be a function or an object' + ) } - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); + if ( + maxRedirections != null && + (!Number.isInteger(maxRedirections) || maxRedirections < 0) + ) { + throw new InvalidArgumentError( + 'maxRedirections must be a positive number' + ) } - if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { - throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); + if ( + maxRequestsPerClient != null && + (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0) + ) { + throw new InvalidArgumentError( + 'maxRequestsPerClient must be a positive number' + ) } - if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { - throw new InvalidArgumentError("localAddress must be valid string IP address"); + if ( + localAddress != null && + (typeof localAddress !== 'string' || net.isIP(localAddress) === 0) + ) { + throw new InvalidArgumentError( + 'localAddress must be valid string IP address' + ) } - if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { - throw new InvalidArgumentError("maxResponseSize must be a positive number"); + if ( + maxResponseSize != null && + (!Number.isInteger(maxResponseSize) || maxResponseSize < -1) + ) { + throw new InvalidArgumentError( + 'maxResponseSize must be a positive number' + ) } - if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { - throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); + if ( + autoSelectFamilyAttemptTimeout != null && + (!Number.isInteger(autoSelectFamilyAttemptTimeout) || + autoSelectFamilyAttemptTimeout < -1) + ) { + throw new InvalidArgumentError( + 'autoSelectFamilyAttemptTimeout must be a positive number' + ) } - if (allowH2 != null && typeof allowH2 !== "boolean") { - throw new InvalidArgumentError("allowH2 must be a valid boolean value"); + if (allowH2 != null && typeof allowH2 !== 'boolean') { + throw new InvalidArgumentError( + 'allowH2 must be a valid boolean value' + ) } - if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); + if ( + maxConcurrentStreams != null && + (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1) + ) { + throw new InvalidArgumentError( + 'maxConcurrentStreams must be a possitive integer, greater than 0' + ) } - if (typeof connect2 !== "function") { + if (typeof connect2 !== 'function') { connect2 = buildConnector({ ...tls, maxCachedSessions, allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...(util.nodeHasAutoSelectFamily && autoSelectFamily + ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } + : void 0), ...connect2 - }); - } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; - this[kUrl] = util.parseOrigin(url); - this[kConnector] = connect2; - this[kSocket] = null; - this[kPipelining] = pipelining != null ? pipelining : 1; - this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; - this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; - this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; - this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; - this[kServerName] = null; - this[kLocalAddress] = localAddress != null ? localAddress : null; - this[kResuming] = 0; - this[kNeedDrain] = 0; - this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r -`; - this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; - this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; - this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; - this[kMaxRedirections] = maxRedirections; - this[kMaxRequests] = maxRequestsPerClient; - this[kClosedResolve] = null; - this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - // streams: null, // Fixed queue of streams - For future support of `push` - openStreams: 0, - // Keep track of them to decide wether or not unref the session - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - // Max peerConcurrentStreams for a Node h2 server - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; - this[kQueue] = []; - this[kRunningIdx] = 0; - this[kPendingIdx] = 0; + }) + } + this[kInterceptors] = + interceptors && + interceptors.Client && + Array.isArray(interceptors.Client) + ? interceptors.Client + : [createRedirectInterceptor({ maxRedirections })] + this[kUrl] = util.parseOrigin(url) + this[kConnector] = connect2 + this[kSocket] = null + this[kPipelining] = pipelining != null ? pipelining : 1 + this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize + this[kKeepAliveDefaultTimeout] = + keepAliveTimeout == null ? 4e3 : keepAliveTimeout + this[kKeepAliveMaxTimeout] = + keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout + this[kKeepAliveTimeoutThreshold] = + keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold + this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout] + this[kServerName] = null + this[kLocalAddress] = localAddress != null ? localAddress : null + this[kResuming] = 0 + this[kNeedDrain] = 0 + this[kHostHeader] = `host: ${this[kUrl].hostname}${ + this[kUrl].port ? `:${this[kUrl].port}` : '' + }\r +` + this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5 + this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5 + this[kStrictContentLength] = + strictContentLength == null ? true : strictContentLength + this[kMaxRedirections] = maxRedirections + this[kMaxRequests] = maxRequestsPerClient + this[kClosedResolve] = null + this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1 + this[kHTTPConnVersion] = 'h1' + this[kHTTP2Session] = null + this[kHTTP2SessionState] = !allowH2 + ? null + : { + // streams: null, // Fixed queue of streams - For future support of `push` + openStreams: 0, + // Keep track of them to decide wether or not unref the session + maxConcurrentStreams: + maxConcurrentStreams != null ? maxConcurrentStreams : 100 + // Max peerConcurrentStreams for a Node h2 server + } + this[kHost] = `${this[kUrl].hostname}${ + this[kUrl].port ? `:${this[kUrl].port}` : '' + }` + this[kQueue] = [] + this[kRunningIdx] = 0 + this[kPendingIdx] = 0 } get pipelining() { - return this[kPipelining]; + return this[kPipelining] } set pipelining(value) { - this[kPipelining] = value; - resume(this, true); + this[kPipelining] = value + resume(this, true) } get [kPending]() { - return this[kQueue].length - this[kPendingIdx]; + return this[kQueue].length - this[kPendingIdx] } get [kRunning]() { - return this[kPendingIdx] - this[kRunningIdx]; + return this[kPendingIdx] - this[kRunningIdx] } get [kSize]() { - return this[kQueue].length - this[kRunningIdx]; + return this[kQueue].length - this[kRunningIdx] } get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; + return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed } get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; + const socket = this[kSocket] + return ( + (socket && + (socket[kReset] || socket[kWriting] || socket[kBlocking])) || + this[kSize] >= (this[kPipelining] || 1) || + this[kPending] > 0 + ) } /* istanbul ignore: only used for test */ [kConnect](cb) { - connect(this); - this.once("connect", cb); + connect(this) + this.once('connect', cb) } [kDispatch](opts, handler) { - const origin = opts.origin || this[kUrl].origin; - const request = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler) : Request[kHTTP1BuildRequest](origin, opts, handler); - this[kQueue].push(request); + const origin = opts.origin || this[kUrl].origin + const request = + this[kHTTPConnVersion] === 'h2' + ? Request[kHTTP2BuildRequest](origin, opts, handler) + : Request[kHTTP1BuildRequest](origin, opts, handler) + this[kQueue].push(request) if (this[kResuming]) { - } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) { - this[kResuming] = 1; - process.nextTick(resume, this); + } else if ( + util.bodyLength(request.body) == null && + util.isIterable(request.body) + ) { + this[kResuming] = 1 + process.nextTick(resume, this) } else { - resume(this, true); + resume(this, true) } if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { - this[kNeedDrain] = 2; + this[kNeedDrain] = 2 } - return this[kNeedDrain] < 2; + return this[kNeedDrain] < 2 } async [kClose]() { return new Promise((resolve) => { if (!this[kSize]) { - resolve(null); + resolve(null) } else { - this[kClosedResolve] = resolve; + this[kClosedResolve] = resolve } - }); + }) } async [kDestroy](err) { return new Promise((resolve) => { - const requests = this[kQueue].splice(this[kPendingIdx]); + const requests = this[kQueue].splice(this[kPendingIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(this, request, err); + const request = requests[i] + errorRequest(this, request, err) } const callback = () => { if (this[kClosedResolve]) { - this[kClosedResolve](); - this[kClosedResolve] = null; + this[kClosedResolve]() + this[kClosedResolve] = null } - resolve(); - }; + resolve() + } if (this[kHTTP2Session] != null) { - util.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; + util.destroy(this[kHTTP2Session], err) + this[kHTTP2Session] = null + this[kHTTP2SessionState] = null } if (!this[kSocket]) { - queueMicrotask(callback); + queueMicrotask(callback) } else { - util.destroy(this[kSocket].on("close", callback), err); + util.destroy(this[kSocket].on('close', callback), err) } - resume(this); - }); + resume(this) + }) } - }; + } function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID') + this[kSocket][kError] = err + onError(this[kClient], err) } function onHttp2FrameError(type, code, id) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); + const err = new InformationalError( + `HTTP/2: "frameError" received - type ${type}, code ${code}` + ) if (id === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); + this[kSocket][kError] = err + onError(this[kClient], err) } } function onHttp2SessionEnd() { - util.destroy(this, new SocketError("other side closed")); - util.destroy(this[kSocket], new SocketError("other side closed")); + util.destroy(this, new SocketError('other side closed')) + util.destroy(this[kSocket], new SocketError('other side closed')) } function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; + const client = this[kClient] + const err = new InformationalError( + `HTTP/2: "GOAWAY" frame received with code ${code}` + ) + client[kSocket] = null + client[kHTTP2Session] = null if (client.destroyed) { - assert(this[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); + assert(this[kPending] === 0) + const requests = client[kQueue].splice(client[kRunningIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(this, request, err); + const request = requests[i] + errorRequest(this, request, err) } } else if (client[kRunning] > 0) { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants = require_constants2(); - var createRedirectInterceptor = require_redirectInterceptor(); - var EMPTY_BUF = Buffer.alloc(0); + const request = client[kQueue][client[kRunningIdx]] + client[kQueue][client[kRunningIdx]++] = null + errorRequest(client, request, err) + } + client[kPendingIdx] = client[kRunningIdx] + assert(client[kRunning] === 0) + client.emit('disconnect', client[kUrl], [client], err) + resume(client) + } + var constants = require_constants2() + var createRedirectInterceptor = require_redirectInterceptor() + var EMPTY_BUF = Buffer.alloc(0) async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; - let mod; + const llhttpWasmData = process.env.JEST_WORKER_ID + ? require_llhttp_wasm() + : void 0 + let mod try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); + mod = await WebAssembly.compile( + Buffer.from(require_llhttp_simd_wasm(), 'base64') + ) } catch (e) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64")); + mod = await WebAssembly.compile( + Buffer.from(llhttpWasmData || require_llhttp_wasm(), 'base64') + ) } return await WebAssembly.instantiate(mod, { env: { /* eslint-disable camelcase */ wasm_on_url: (p, at, len) => { - return 0; + return 0 }, wasm_on_status: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onStatus( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, wasm_on_message_begin: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageBegin() || 0; + assert.strictEqual(currentParser.ptr, p) + return currentParser.onMessageBegin() || 0 }, wasm_on_header_field: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onHeaderField( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, wasm_on_header_value: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onHeaderValue( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, - wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + wasm_on_headers_complete: ( + p, + statusCode, + upgrade, + shouldKeepAlive + ) => { + assert.strictEqual(currentParser.ptr, p) + return ( + currentParser.onHeadersComplete( + statusCode, + Boolean(upgrade), + Boolean(shouldKeepAlive) + ) || 0 + ) }, wasm_on_body: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onBody( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, wasm_on_message_complete: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageComplete() || 0; + assert.strictEqual(currentParser.ptr, p) + return currentParser.onMessageComplete() || 0 } /* eslint-enable camelcase */ } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; + }) + } + var llhttpInstance = null + var llhttpPromise = lazyllhttp() + llhttpPromise.catch() + var currentParser = null + var currentBufferRef = null + var currentBufferSize = 0 + var currentBufferPtr = null + var TIMEOUT_HEADERS = 1 + var TIMEOUT_BODY = 2 + var TIMEOUT_IDLE = 3 var Parser = class { constructor(client, socket, { exports: exports2 }) { - assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); - this.llhttp = exports2; - this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); - this.client = client; - this.socket = socket; - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.statusCode = null; - this.statusText = ""; - this.upgrade = false; - this.headers = []; - this.headersSize = 0; - this.headersMaxSize = client[kMaxHeadersSize]; - this.shouldKeepAlive = false; - this.paused = false; - this.resume = this.resume.bind(this); - this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; - this.maxResponseSize = client[kMaxResponseSize]; + assert( + Number.isFinite(client[kMaxHeadersSize]) && + client[kMaxHeadersSize] > 0 + ) + this.llhttp = exports2 + this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE) + this.client = client + this.socket = socket + this.timeout = null + this.timeoutValue = null + this.timeoutType = null + this.statusCode = null + this.statusText = '' + this.upgrade = false + this.headers = [] + this.headersSize = 0 + this.headersMaxSize = client[kMaxHeadersSize] + this.shouldKeepAlive = false + this.paused = false + this.resume = this.resume.bind(this) + this.bytesRead = 0 + this.keepAlive = '' + this.contentLength = '' + this.connection = '' + this.maxResponseSize = client[kMaxResponseSize] } setTimeout(value, type) { - this.timeoutType = type; + this.timeoutType = type if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); + timers.clearTimeout(this.timeout) if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); + this.timeout = timers.setTimeout(onParserTimeout, value, this) if (this.timeout.unref) { - this.timeout.unref(); + this.timeout.unref() } } else { - this.timeout = null; + this.timeout = null } - this.timeoutValue = value; + this.timeoutValue = value } else if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } } resume() { if (this.socket.destroyed || !this.paused) { - return; + return } - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_resume(this.ptr); - assert(this.timeoutType === TIMEOUT_BODY); + assert(this.ptr != null) + assert(currentParser == null) + this.llhttp.llhttp_resume(this.ptr) + assert(this.timeoutType === TIMEOUT_BODY) if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } - this.paused = false; - this.execute(this.socket.read() || EMPTY_BUF); - this.readMore(); + this.paused = false + this.execute(this.socket.read() || EMPTY_BUF) + this.readMore() } readMore() { while (!this.paused && this.ptr) { - const chunk = this.socket.read(); + const chunk = this.socket.read() if (chunk === null) { - break; + break } - this.execute(chunk); + this.execute(chunk) } } execute(data) { - assert(this.ptr != null); - assert(currentParser == null); - assert(!this.paused); - const { socket, llhttp } = this; + assert(this.ptr != null) + assert(currentParser == null) + assert(!this.paused) + const { socket, llhttp } = this if (data.length > currentBufferSize) { if (currentBufferPtr) { - llhttp.free(currentBufferPtr); + llhttp.free(currentBufferPtr) } - currentBufferSize = Math.ceil(data.length / 4096) * 4096; - currentBufferPtr = llhttp.malloc(currentBufferSize); + currentBufferSize = Math.ceil(data.length / 4096) * 4096 + currentBufferPtr = llhttp.malloc(currentBufferSize) } - new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + new Uint8Array( + llhttp.memory.buffer, + currentBufferPtr, + currentBufferSize + ).set(data) try { - let ret; + let ret try { - currentBufferRef = data; - currentParser = this; - ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); + currentBufferRef = data + currentParser = this + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length) } catch (err) { - throw err; + throw err } finally { - currentParser = null; - currentBufferRef = null; + currentParser = null + currentBufferRef = null } - const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + const offset = + llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr if (ret === constants.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); + this.onUpgrade(data.slice(offset)) } else if (ret === constants.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); + this.paused = true + socket.unshift(data.slice(offset)) } else if (ret !== constants.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; + const ptr = llhttp.llhttp_get_error_reason(this.ptr) + let message = '' if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0) + message = + 'Response does not match the HTTP/1.1 protocol (' + + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + + ')' } - throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); + throw new HTTPParserError( + message, + constants.ERROR[ret], + data.slice(offset) + ) } } catch (err) { - util.destroy(socket, err); + util.destroy(socket, err) } } destroy() { - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_free(this.ptr); - this.ptr = null; - timers.clearTimeout(this.timeout); - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.paused = false; + assert(this.ptr != null) + assert(currentParser == null) + this.llhttp.llhttp_free(this.ptr) + this.ptr = null + timers.clearTimeout(this.timeout) + this.timeout = null + this.timeoutValue = null + this.timeoutType = null + this.paused = false } onStatus(buf) { - this.statusText = buf.toString(); + this.statusText = buf.toString() } onMessageBegin() { - const { socket, client } = this; + const { socket, client } = this if (socket.destroyed) { - return -1; + return -1 } - const request = client[kQueue][client[kRunningIdx]]; + const request = client[kQueue][client[kRunningIdx]] if (!request) { - return -1; + return -1 } } onHeaderField(buf) { - const len = this.headers.length; + const len = this.headers.length if ((len & 1) === 0) { - this.headers.push(buf); + this.headers.push(buf) } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]) } - this.trackHeader(buf.length); + this.trackHeader(buf.length) } onHeaderValue(buf) { - let len = this.headers.length; + let len = this.headers.length if ((len & 1) === 1) { - this.headers.push(buf); - len += 1; + this.headers.push(buf) + len += 1 } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - const key = this.headers[len - 2]; - if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]) + } + const key = this.headers[len - 2] + if ( + key.length === 10 && + key.toString().toLowerCase() === 'keep-alive' + ) { + this.keepAlive += buf.toString() + } else if ( + key.length === 10 && + key.toString().toLowerCase() === 'connection' + ) { + this.connection += buf.toString() + } else if ( + key.length === 14 && + key.toString().toLowerCase() === 'content-length' + ) { + this.contentLength += buf.toString() + } + this.trackHeader(buf.length) } trackHeader(len) { - this.headersSize += len; + this.headersSize += len if (this.headersSize >= this.headersMaxSize) { - util.destroy(this.socket, new HeadersOverflowError()); + util.destroy(this.socket, new HeadersOverflowError()) } } onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request.upgrade || request.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); + const { upgrade, client, socket, headers, statusCode } = this + assert(upgrade) + const request = client[kQueue][client[kRunningIdx]] + assert(request) + assert(!socket.destroyed) + assert(socket === client[kSocket]) + assert(!this.paused) + assert(request.upgrade || request.method === 'CONNECT') + this.statusCode = null + this.statusText = '' + this.shouldKeepAlive = null + assert(this.headers.length % 2 === 0) + this.headers = [] + this.headersSize = 0 + socket.unshift(head) + socket[kParser].destroy() + socket[kParser] = null + socket[kClient] = null + socket[kError] = null + socket + .removeListener('error', onSocketError) + .removeListener('readable', onSocketReadable) + .removeListener('end', onSocketEnd) + .removeListener('close', onSocketClose) + client[kSocket] = null + client[kQueue][client[kRunningIdx]++] = null + client.emit( + 'disconnect', + client[kUrl], + [client], + new InformationalError('upgrade') + ) try { - request.onUpgrade(statusCode, headers, socket); + request.onUpgrade(statusCode, headers, socket) } catch (err) { - util.destroy(socket, err); + util.destroy(socket, err) } - resume(client); + resume(client) } onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { - const { client, socket, headers, statusText } = this; + const { client, socket, headers, statusText } = this if (socket.destroyed) { - return -1; + return -1 } - const request = client[kQueue][client[kRunningIdx]]; + const request = client[kQueue][client[kRunningIdx]] if (!request) { - return -1; + return -1 } - assert(!this.upgrade); - assert(this.statusCode < 200); + assert(!this.upgrade) + assert(this.statusCode < 200) if (statusCode === 100) { - util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); - return -1; + util.destroy( + socket, + new SocketError('bad response', util.getSocketInfo(socket)) + ) + return -1 } if (upgrade && !request.upgrade) { - util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); - return -1; - } - assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); - this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. - request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + util.destroy( + socket, + new SocketError('bad upgrade', util.getSocketInfo(socket)) + ) + return -1 + } + assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS) + this.statusCode = statusCode + this.shouldKeepAlive = + shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. + (request.method === 'HEAD' && + !socket[kReset] && + this.connection.toLowerCase() === 'keep-alive') if (this.statusCode >= 200) { - const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; - this.setTimeout(bodyTimeout, TIMEOUT_BODY); + const bodyTimeout = + request.bodyTimeout != null + ? request.bodyTimeout + : client[kBodyTimeout] + this.setTimeout(bodyTimeout, TIMEOUT_BODY) } else if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } - if (request.method === "CONNECT") { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; + if (request.method === 'CONNECT') { + assert(client[kRunning] === 1) + this.upgrade = true + return 2 } if (upgrade) { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; + assert(client[kRunning] === 1) + this.upgrade = true + return 2 } - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; + assert(this.headers.length % 2 === 0) + this.headers = [] + this.headersSize = 0 if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; + const keepAliveTimeout = this.keepAlive + ? util.parseKeepAliveTimeout(this.keepAlive) + : null if (keepAliveTimeout != null) { const timeout = Math.min( keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout] - ); + ) if (timeout <= 0) { - socket[kReset] = true; + socket[kReset] = true } else { - client[kKeepAliveTimeoutValue] = timeout; + client[kKeepAliveTimeoutValue] = timeout } } else { - client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout] } } else { - socket[kReset] = true; + socket[kReset] = true } - let pause; + let pause try { - pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; + pause = + request.onHeaders(statusCode, headers, this.resume, statusText) === + false } catch (err) { - util.destroy(socket, err); - return -1; + util.destroy(socket, err) + return -1 } - if (request.method === "HEAD") { - return 1; + if (request.method === 'HEAD') { + return 1 } if (statusCode < 200) { - return 1; + return 1 } if (socket[kBlocking]) { - socket[kBlocking] = false; - resume(client); + socket[kBlocking] = false + resume(client) } - return pause ? constants.ERROR.PAUSED : 0; + return pause ? constants.ERROR.PAUSED : 0 } onBody(buf) { - const { client, socket, statusCode, maxResponseSize } = this; + const { client, socket, statusCode, maxResponseSize } = this if (socket.destroyed) { - return -1; + return -1 } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert.strictEqual(this.timeoutType, TIMEOUT_BODY); + const request = client[kQueue][client[kRunningIdx]] + assert(request) + assert.strictEqual(this.timeoutType, TIMEOUT_BODY) if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } - assert(statusCode >= 200); - if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util.destroy(socket, new ResponseExceededMaxSizeError()); - return -1; + assert(statusCode >= 200) + if ( + maxResponseSize > -1 && + this.bytesRead + buf.length > maxResponseSize + ) { + util.destroy(socket, new ResponseExceededMaxSizeError()) + return -1 } - this.bytesRead += buf.length; + this.bytesRead += buf.length try { if (request.onData(buf) === false) { - return constants.ERROR.PAUSED; + return constants.ERROR.PAUSED } } catch (err) { - util.destroy(socket, err); - return -1; + util.destroy(socket, err) + return -1 } } onMessageComplete() { - const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; + const { + client, + socket, + statusCode, + upgrade, + headers, + contentLength, + bytesRead, + shouldKeepAlive + } = this if (socket.destroyed && (!statusCode || shouldKeepAlive)) { - return -1; + return -1 } if (upgrade) { - return; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; + return + } + const request = client[kQueue][client[kRunningIdx]] + assert(request) + assert(statusCode >= 100) + this.statusCode = null + this.statusText = '' + this.bytesRead = 0 + this.contentLength = '' + this.keepAlive = '' + this.connection = '' + assert(this.headers.length % 2 === 0) + this.headers = [] + this.headersSize = 0 if (statusCode < 200) { - return; + return } - if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util.destroy(socket, new ResponseContentLengthMismatchError()); - return -1; + if ( + request.method !== 'HEAD' && + contentLength && + bytesRead !== parseInt(contentLength, 10) + ) { + util.destroy(socket, new ResponseContentLengthMismatchError()) + return -1 } try { - request.onComplete(headers); + request.onComplete(headers) } catch (err) { - errorRequest(client, request, err); + errorRequest(client, request, err) } - client[kQueue][client[kRunningIdx]++] = null; + client[kQueue][client[kRunningIdx]++] = null if (socket[kWriting]) { - assert.strictEqual(client[kRunning], 0); - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; + assert.strictEqual(client[kRunning], 0) + util.destroy(socket, new InformationalError('reset')) + return constants.ERROR.PAUSED } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; + util.destroy(socket, new InformationalError('reset')) + return constants.ERROR.PAUSED } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; + util.destroy(socket, new InformationalError('reset')) + return constants.ERROR.PAUSED } else if (client[kPipelining] === 1) { - setImmediate(resume, client); + setImmediate(resume, client) } else { - resume(client); + resume(client) } } - }; + } function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; + const { socket, timeoutType, client } = parser if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util.destroy(socket, new HeadersTimeoutError()); + if ( + !socket[kWriting] || + socket.writableNeedDrain || + client[kRunning] > 1 + ) { + assert(!parser.paused, 'cannot be paused while waiting for headers') + util.destroy(socket, new HeadersTimeoutError()) } } else if (timeoutType === TIMEOUT_BODY) { if (!parser.paused) { - util.destroy(socket, new BodyTimeoutError()); + util.destroy(socket, new BodyTimeoutError()) } } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]) + util.destroy(socket, new InformationalError('socket idle timeout')) } } function onSocketReadable() { - const { [kParser]: parser } = this; + const { [kParser]: parser } = this if (parser) { - parser.readMore(); + parser.readMore() } } function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; + const { [kClient]: client, [kParser]: parser } = this + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID') + if (client[kHTTPConnVersion] !== 'h2') { + if ( + err.code === 'ECONNRESET' && + parser.statusCode && + !parser.shouldKeepAlive + ) { + parser.onMessageComplete() + return } } - this[kError] = err; - onError(this[kClient], err); + this[kError] = err + onError(this[kClient], err) } function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); + if ( + client[kRunning] === 0 && + err.code !== 'UND_ERR_INFO' && + err.code !== 'UND_ERR_SOCKET' + ) { + assert(client[kPendingIdx] === client[kRunningIdx]) + const requests = client[kQueue].splice(client[kRunningIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(client, request, err); + const request = requests[i] + errorRequest(client, request, err) } - assert(client[kSize] === 0); + assert(client[kSize] === 0) } } function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { + const { [kParser]: parser, [kClient]: client } = this + if (client[kHTTPConnVersion] !== 'h2') { if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; + parser.onMessageComplete() + return } } - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + util.destroy( + this, + new SocketError('other side closed', util.getSocketInfo(this)) + ) } function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && parser) { + const { [kClient]: client, [kParser]: parser } = this + if (client[kHTTPConnVersion] === 'h1' && parser) { if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + parser.onMessageComplete() } - this[kParser].destroy(); - this[kParser] = null; + this[kParser].destroy() + this[kParser] = null } - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); - client[kSocket] = null; + const err = + this[kError] || new SocketError('closed', util.getSocketInfo(this)) + client[kSocket] = null if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); + assert(client[kPending] === 0) + const requests = client[kQueue].splice(client[kRunningIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(client, request, err); + const request = requests[i] + errorRequest(client, request, err) } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); + } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') { + const request = client[kQueue][client[kRunningIdx]] + client[kQueue][client[kRunningIdx]++] = null + errorRequest(client, request, err) } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); + client[kPendingIdx] = client[kRunningIdx] + assert(client[kRunning] === 0) + client.emit('disconnect', client[kUrl], [client], err) + resume(client) } async function connect(client) { - assert(!client[kConnecting]); - assert(!client[kSocket]); - let { host, hostname, protocol, port } = client[kUrl]; - if (hostname[0] === "[") { - const idx = hostname.indexOf("]"); - assert(idx !== -1); - const ip = hostname.substr(1, idx - 1); - assert(net.isIP(ip)); - hostname = ip; - } - client[kConnecting] = true; + assert(!client[kConnecting]) + assert(!client[kSocket]) + let { host, hostname, protocol, port } = client[kUrl] + if (hostname[0] === '[') { + const idx = hostname.indexOf(']') + assert(idx !== -1) + const ip = hostname.substr(1, idx - 1) + assert(net.isIP(ip)) + hostname = ip + } + client[kConnecting] = true if (channels.beforeConnect.hasSubscribers) { channels.beforeConnect.publish({ connectParams: { @@ -8338,72 +9454,85 @@ var require_client = __commonJS({ localAddress: client[kLocalAddress] }, connector: client[kConnector] - }); + }) } try { const socket = await new Promise((resolve, reject) => { - client[kConnector]({ - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, (err, socket2) => { - if (err) { - reject(err); - } else { - resolve(socket2); + client[kConnector]( + { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + (err, socket2) => { + if (err) { + reject(err) + } else { + resolve(socket2) + } } - }); - }); + ) + }) if (client.destroyed) { - util.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); - return; + util.destroy( + socket.on('error', () => {}), + new ClientDestroyedError() + ) + return } - client[kConnecting] = false; - assert(socket); - const isH2 = socket.alpnProtocol === "h2"; + client[kConnecting] = false + assert(socket) + const isH2 = socket.alpnProtocol === 'h2' if (isH2) { if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); + h2ExperimentalWarned = true + process.emitWarning( + 'H2 support is experimental, expect them to change at any time.', + { + code: 'UNDICI-H2' + } + ) } const session = http2.connect(client[kUrl], { createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; + peerMaxConcurrentStreams: + client[kHTTP2SessionState].maxConcurrentStreams + }) + client[kHTTPConnVersion] = 'h2' + session[kClient] = client + session[kSocket] = socket + session.on('error', onHttp2SessionError) + session.on('frameError', onHttp2FrameError) + session.on('end', onHttp2SessionEnd) + session.on('goaway', onHTTP2GoAway) + session.on('close', onSocketClose) + session.unref() + client[kHTTP2Session] = session + socket[kHTTP2Session] = session } else { if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); - } - socket[kCounter] = 0; - socket[kMaxRequests] = client[kMaxRequests]; - socket[kClient] = client; - socket[kError] = null; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; + llhttpInstance = await llhttpPromise + llhttpPromise = null + } + socket[kNoRef] = false + socket[kWriting] = false + socket[kReset] = false + socket[kBlocking] = false + socket[kParser] = new Parser(client, socket, llhttpInstance) + } + socket[kCounter] = 0 + socket[kMaxRequests] = client[kMaxRequests] + socket[kClient] = client + socket[kError] = null + socket + .on('error', onSocketError) + .on('readable', onSocketReadable) + .on('end', onSocketEnd) + .on('close', onSocketClose) + client[kSocket] = socket if (channels.connected.hasSubscribers) { channels.connected.publish({ connectParams: { @@ -8416,14 +9545,14 @@ var require_client = __commonJS({ }, connector: client[kConnector], socket - }); + }) } - client.emit("connect", client[kUrl], [client]); + client.emit('connect', client[kUrl], [client]) } catch (err) { if (client.destroyed) { - return; + return } - client[kConnecting] = false; + client[kConnecting] = false if (channels.connectError.hasSubscribers) { channels.connectError.publish({ connectParams: { @@ -8436,376 +9565,494 @@ var require_client = __commonJS({ }, connector: client[kConnector], error: err - }); + }) } - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { - assert(client[kRunning] === 0); - while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { - const request = client[kQueue][client[kPendingIdx]++]; - errorRequest(client, request, err); + if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') { + assert(client[kRunning] === 0) + while ( + client[kPending] > 0 && + client[kQueue][client[kPendingIdx]].servername === + client[kServerName] + ) { + const request = client[kQueue][client[kPendingIdx]++] + errorRequest(client, request, err) } } else { - onError(client, err); + onError(client, err) } - client.emit("connectionError", client[kUrl], [client], err); + client.emit('connectionError', client[kUrl], [client], err) } - resume(client); + resume(client) } function emitDrain(client) { - client[kNeedDrain] = 0; - client.emit("drain", client[kUrl], [client]); + client[kNeedDrain] = 0 + client.emit('drain', client[kUrl], [client]) } function resume(client, sync) { if (client[kResuming] === 2) { - return; + return } - client[kResuming] = 2; - _resume(client, sync); - client[kResuming] = 0; + client[kResuming] = 2 + _resume(client, sync) + client[kResuming] = 0 if (client[kRunningIdx] > 256) { - client[kQueue].splice(0, client[kRunningIdx]); - client[kPendingIdx] -= client[kRunningIdx]; - client[kRunningIdx] = 0; + client[kQueue].splice(0, client[kRunningIdx]) + client[kPendingIdx] -= client[kRunningIdx] + client[kRunningIdx] = 0 } } function _resume(client, sync) { while (true) { if (client.destroyed) { - assert(client[kPending] === 0); - return; + assert(client[kPending] === 0) + return } if (client[kClosedResolve] && !client[kSize]) { - client[kClosedResolve](); - client[kClosedResolve] = null; - return; + client[kClosedResolve]() + client[kClosedResolve] = null + return } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { + const socket = client[kSocket] + if (socket && !socket.destroyed && socket.alpnProtocol !== 'h2') { if (client[kSize] === 0) { if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; + socket.unref() + socket[kNoRef] = true } } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; + socket.ref() + socket[kNoRef] = false } if (client[kSize] === 0) { if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); + socket[kParser].setTimeout( + client[kKeepAliveTimeoutValue], + TIMEOUT_IDLE + ) } } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request2 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); + const request2 = client[kQueue][client[kRunningIdx]] + const headersTimeout = + request2.headersTimeout != null + ? request2.headersTimeout + : client[kHeadersTimeout] + socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS) } } } if (client[kBusy]) { - client[kNeedDrain] = 2; + client[kNeedDrain] = 2 } else if (client[kNeedDrain] === 2) { if (sync) { - client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); + client[kNeedDrain] = 1 + process.nextTick(emitDrain, client) } else { - emitDrain(client); + emitDrain(client) } - continue; + continue } if (client[kPending] === 0) { - return; + return } if (client[kRunning] >= (client[kPipelining] || 1)) { - return; + return } - const request = client[kQueue][client[kPendingIdx]]; - if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { + const request = client[kQueue][client[kPendingIdx]] + if ( + client[kUrl].protocol === 'https:' && + client[kServerName] !== request.servername + ) { if (client[kRunning] > 0) { - return; + return } - client[kServerName] = request.servername; + client[kServerName] = request.servername if (socket && socket.servername !== request.servername) { - util.destroy(socket, new InformationalError("servername changed")); - return; + util.destroy(socket, new InformationalError('servername changed')) + return } } if (client[kConnecting]) { - return; + return } if (!socket && !client[kHTTP2Session]) { - connect(client); - return; + connect(client) + return } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; + if ( + socket.destroyed || + socket[kWriting] || + socket[kReset] || + socket[kBlocking] + ) { + return } if (client[kRunning] > 0 && !request.idempotent) { - return; + return } - if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { - return; + if ( + client[kRunning] > 0 && + (request.upgrade || request.method === 'CONNECT') + ) { + return } - if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) { - return; + if ( + client[kRunning] > 0 && + util.bodyLength(request.body) !== 0 && + (util.isStream(request.body) || util.isAsyncIterable(request.body)) + ) { + return } if (!request.aborted && write(client, request)) { - client[kPendingIdx]++; + client[kPendingIdx]++ } else { - client[kQueue].splice(client[kPendingIdx], 1); + client[kQueue].splice(client[kPendingIdx], 1) } } } function shouldSendContentLength(method) { - return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + return ( + method !== 'GET' && + method !== 'HEAD' && + method !== 'OPTIONS' && + method !== 'TRACE' && + method !== 'CONNECT' + ) } function write(client, request) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request); - return; - } - const { body, method, path, host, upgrade, headers, blocking, reset } = request; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - const bodyLength = util.bodyLength(body); - let contentLength = bodyLength; + if (client[kHTTPConnVersion] === 'h2') { + writeH2(client, client[kHTTP2Session], request) + return + } + const { body, method, path, host, upgrade, headers, blocking, reset } = + request + const expectsPayload = + method === 'PUT' || method === 'POST' || method === 'PATCH' + if (body && typeof body.read === 'function') { + body.read(0) + } + const bodyLength = util.bodyLength(body) + let contentLength = bodyLength if (contentLength === null) { - contentLength = request.contentLength; + contentLength = request.contentLength } if (contentLength === 0 && !expectsPayload) { - contentLength = null; + contentLength = null } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { + if ( + shouldSendContentLength(method) && + contentLength > 0 && + request.contentLength !== null && + request.contentLength !== contentLength + ) { if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; + errorRequest(client, request, new RequestContentLengthMismatchError()) + return false } - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } - const socket = client[kSocket]; + const socket = client[kSocket] try { request.onConnect((err) => { if (request.aborted || request.completed) { - return; + return } - errorRequest(client, request, err || new RequestAbortedError()); - util.destroy(socket, new InformationalError("aborted")); - }); + errorRequest(client, request, err || new RequestAbortedError()) + util.destroy(socket, new InformationalError('aborted')) + }) } catch (err) { - errorRequest(client, request, err); + errorRequest(client, request, err) } if (request.aborted) { - return false; + return false } - if (method === "HEAD") { - socket[kReset] = true; + if (method === 'HEAD') { + socket[kReset] = true } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; + if (upgrade || method === 'CONNECT') { + socket[kReset] = true } if (reset != null) { - socket[kReset] = reset; + socket[kReset] = reset } if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; + socket[kReset] = true } if (blocking) { - socket[kBlocking] = true; + socket[kBlocking] = true } let header = `${method} ${path} HTTP/1.1\r -`; - if (typeof host === "string") { +` + if (typeof host === 'string') { header += `host: ${host}\r -`; +` } else { - header += client[kHostHeader]; + header += client[kHostHeader] } if (upgrade) { header += `connection: upgrade\r upgrade: ${upgrade}\r -`; +` } else if (client[kPipelining] && !socket[kReset]) { - header += "connection: keep-alive\r\n"; + header += 'connection: keep-alive\r\n' } else { - header += "connection: close\r\n"; + header += 'connection: close\r\n' } if (headers) { - header += headers; + header += headers } if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request, headers: header, socket }); + channels.sendHeaders.publish({ request, headers: header, socket }) } if (!body || bodyLength === 0) { if (contentLength === 0) { - socket.write(`${header}content-length: 0\r + socket.write( + `${header}content-length: 0\r \r -`, "latin1"); +`, + 'latin1' + ) } else { - assert(contentLength === null, "no body must not have content length"); - socket.write(`${header}\r -`, "latin1"); + assert(contentLength === null, 'no body must not have content length') + socket.write( + `${header}\r +`, + 'latin1' + ) } - request.onRequestSent(); + request.onRequestSent() } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r + assert( + contentLength === body.byteLength, + 'buffer body must have content length' + ) + socket.cork() + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); - socket.write(body); - socket.uncork(); - request.onBodySent(body); - request.onRequestSent(); +`, + 'latin1' + ) + socket.write(body) + socket.uncork() + request.onBodySent(body) + request.onRequestSent() if (!expectsPayload) { - socket[kReset] = true; + socket[kReset] = true } } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); + if (typeof body.stream === 'function') { + writeIterable({ + body: body.stream(), + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } else { - writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); + writeBlob({ + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } } else if (util.isStream(body)) { - writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); + writeStream({ + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } else if (util.isIterable(body)) { - writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); + writeIterable({ + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } else { - assert(false); + assert(false) } - return true; + return true } function writeH2(client, session, request) { - const { body, method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; - let headers; - if (typeof reqHeaders === "string") - headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); - else - headers = reqHeaders; + const { + body, + method, + path, + host, + upgrade, + expectContinue, + signal, + headers: reqHeaders + } = request + let headers + if (typeof reqHeaders === 'string') + headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()) + else headers = reqHeaders if (upgrade) { - errorRequest(client, request, new Error("Upgrade not supported for H2")); - return false; + errorRequest(client, request, new Error('Upgrade not supported for H2')) + return false } try { request.onConnect((err) => { if (request.aborted || request.completed) { - return; + return } - errorRequest(client, request, err || new RequestAbortedError()); - }); + errorRequest(client, request, err || new RequestAbortedError()) + }) } catch (err) { - errorRequest(client, request, err); + errorRequest(client, request, err) } if (request.aborted) { - return false; - } - let stream; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream = session.request(headers, { endStream: false, signal }); + return false + } + let stream + const h2State = client[kHTTP2SessionState] + headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost] + headers[HTTP2_HEADER_METHOD] = method + if (method === 'CONNECT') { + session.ref() + stream = session.request(headers, { endStream: false, signal }) if (stream.id && !stream.pending) { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; + request.onUpgrade(null, null, stream) + ++h2State.openStreams } else { - stream.once("ready", () => { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; - }); - } - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) - session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util.bodyLength(body); + stream.once('ready', () => { + request.onUpgrade(null, null, stream) + ++h2State.openStreams + }) + } + stream.once('close', () => { + h2State.openStreams -= 1 + if (h2State.openStreams === 0) session.unref() + }) + return true + } + headers[HTTP2_HEADER_PATH] = path + headers[HTTP2_HEADER_SCHEME] = 'https' + const expectsPayload = + method === 'PUT' || method === 'POST' || method === 'PATCH' + if (body && typeof body.read === 'function') { + body.read(0) + } + let contentLength = util.bodyLength(body) if (contentLength == null) { - contentLength = request.contentLength; + contentLength = request.contentLength } if (contentLength === 0 || !expectsPayload) { - contentLength = null; + contentLength = null } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { + if ( + shouldSendContentLength(method) && + contentLength > 0 && + request.contentLength != null && + request.contentLength !== contentLength + ) { if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; + errorRequest(client, request, new RequestContentLengthMismatchError()) + return false } - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + assert(body, 'no body must not have content length') + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}` } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; + session.ref() + const shouldEndStream = method === 'GET' || method === 'HEAD' if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); + headers[HTTP2_HEADER_EXPECT] = '100-continue' + stream = session.request(headers, { + endStream: shouldEndStream, + signal + }) + stream.once('continue', writeBodyH2) } else { stream = session.request(headers, { endStream: shouldEndStream, signal - }); - writeBodyH2(); - } - ++h2State.openStreams; - stream.once("response", (headers2) => { - if (request.onHeaders(Number(headers2[HTTP2_HEADER_STATUS]), headers2, stream.resume.bind(stream), "") === false) { - stream.pause(); - } - }); - stream.once("end", () => { - request.onComplete([]); - }); - stream.on("data", (chunk) => { - if (request.onData(chunk) === false) - stream.pause(); - }); - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) - session.unref(); - }); - stream.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - stream.once("frameError", (type, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - errorRequest(client, request, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - return true; + }) + writeBodyH2() + } + ++h2State.openStreams + stream.once('response', (headers2) => { + if ( + request.onHeaders( + Number(headers2[HTTP2_HEADER_STATUS]), + headers2, + stream.resume.bind(stream), + '' + ) === false + ) { + stream.pause() + } + }) + stream.once('end', () => { + request.onComplete([]) + }) + stream.on('data', (chunk) => { + if (request.onData(chunk) === false) stream.pause() + }) + stream.once('close', () => { + h2State.openStreams -= 1 + if (h2State.openStreams === 0) session.unref() + }) + stream.once('error', function (err) { + if ( + client[kHTTP2Session] && + !client[kHTTP2Session].destroyed && + !this.closed && + !this.destroyed + ) { + h2State.streams -= 1 + util.destroy(stream, err) + } + }) + stream.once('frameError', (type, code) => { + const err = new InformationalError( + `HTTP/2: "frameError" received - type ${type}, code ${code}` + ) + errorRequest(client, request, err) + if ( + client[kHTTP2Session] && + !client[kHTTP2Session].destroyed && + !this.closed && + !this.destroyed + ) { + h2State.streams -= 1 + util.destroy(stream, err) + } + }) + return true function writeBodyH2() { if (!body) { - request.onRequestSent(); + request.onRequestSent() } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream.cork(); - stream.write(body); - stream.uncork(); - stream.end(); - request.onBodySent(body); - request.onRequestSent(); + assert( + contentLength === body.byteLength, + 'buffer body must have content length' + ) + stream.cork() + stream.write(body) + stream.uncork() + stream.end() + request.onBodySent(body) + request.onRequestSent() } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { + if (typeof body.stream === 'function') { writeIterable({ client, request, @@ -8814,8 +10061,8 @@ upgrade: ${upgrade}\r expectsPayload, body: body.stream(), socket: client[kSocket], - header: "" - }); + header: '' + }) } else { writeBlob({ body, @@ -8824,9 +10071,9 @@ upgrade: ${upgrade}\r contentLength, expectsPayload, h2stream: stream, - header: "", + header: '', socket: client[kSocket] - }); + }) } } else if (util.isStream(body)) { writeStream({ @@ -8837,8 +10084,8 @@ upgrade: ${upgrade}\r expectsPayload, socket: client[kSocket], h2stream: stream, - header: "" - }); + header: '' + }) } else if (util.isIterable(body)) { writeIterable({ body, @@ -8846,532 +10093,668 @@ upgrade: ${upgrade}\r request, contentLength, expectsPayload, - header: "", + header: '', h2stream: stream, socket: client[kSocket] - }); + }) } else { - assert(false); + assert(false) } } } - function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util.destroy(body, err); - util.destroy(h2stream, err); - } else { - request.onRequestSent(); - } + function writeStream({ + h2stream, + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) { + assert( + contentLength !== 0 || client[kRunning] === 0, + 'stream body cannot be pipelined' + ) + if (client[kHTTPConnVersion] === 'h2') { + let onPipeData = function (chunk) { + request.onBodySent(chunk) + } + const pipe = pipeline(body, h2stream, (err) => { + if (err) { + util.destroy(body, err) + util.destroy(h2stream, err) + } else { + request.onRequestSent() } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util.destroy(pipe); - }); - return; + }) + pipe.on('data', onPipeData) + pipe.once('end', () => { + pipe.removeListener('data', onPipeData) + util.destroy(pipe) + }) + return } - let finished = false; - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { + let finished = false + const writer = new AsyncWriter({ + socket, + request, + contentLength, + client, + expectsPayload, + header + }) + const onData = function (chunk) { if (finished) { - return; + return } try { if (!writer.write(chunk) && this.pause) { - this.pause(); + this.pause() } } catch (err) { - util.destroy(this, err); + util.destroy(this, err) } - }; - const onDrain = function() { + } + const onDrain = function () { if (finished) { - return; + return } if (body.resume) { - body.resume(); + body.resume() } - }; - const onAbort = function() { - onFinished(new RequestAbortedError()); - }; - const onFinished = function(err) { + } + const onAbort = function () { + onFinished(new RequestAbortedError()) + } + const onFinished = function (err) { if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); + return + } + finished = true + assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1)) + socket.off('drain', onDrain).off('error', onFinished) + body + .removeListener('data', onData) + .removeListener('end', onFinished) + .removeListener('error', onFinished) + .removeListener('close', onAbort) if (!err) { try { - writer.end(); + writer.end() } catch (er) { - err = er; + err = er } } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util.destroy(body, err); + writer.destroy(err) + if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) { + util.destroy(body, err) } else { - util.destroy(body); + util.destroy(body) } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); + } + body + .on('data', onData) + .on('end', onFinished) + .on('error', onFinished) + .on('close', onAbort) if (body.resume) { - body.resume(); + body.resume() } - socket.on("drain", onDrain).on("error", onFinished); + socket.on('drain', onDrain).on('error', onFinished) } - async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; + async function writeBlob({ + h2stream, + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) { + assert(contentLength === body.size, 'blob body must have content length') + const isH2 = client[kHTTPConnVersion] === 'h2' try { if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); + throw new RequestContentLengthMismatchError() } - const buffer = Buffer.from(await body.arrayBuffer()); + const buffer = Buffer.from(await body.arrayBuffer()) if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); + h2stream.cork() + h2stream.write(buffer) + h2stream.uncork() } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r + socket.cork() + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); - socket.write(buffer); - socket.uncork(); +`, + 'latin1' + ) + socket.write(buffer) + socket.uncork() } - request.onBodySent(buffer); - request.onRequestSent(); + request.onBodySent(buffer) + request.onRequestSent() if (!expectsPayload) { - socket[kReset] = true; + socket[kReset] = true } - resume(client); + resume(client) } catch (err) { - util.destroy(isH2 ? h2stream : socket, err); + util.destroy(isH2 ? h2stream : socket, err) } } - async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); - let callback = null; + async function writeIterable({ + h2stream, + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) { + assert( + contentLength !== 0 || client[kRunning] === 0, + 'iterator body cannot be pipelined' + ) + let callback = null function onDrain() { if (callback) { - const cb = callback; - callback = null; - cb(); + const cb = callback + callback = null + cb() } } - const waitForDrain = () => new Promise((resolve, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); + const waitForDrain = () => + new Promise((resolve, reject) => { + assert(callback === null) + if (socket[kError]) { + reject(socket[kError]) + } else { + callback = resolve + } + }) + if (client[kHTTPConnVersion] === 'h2') { + h2stream.on('close', onDrain).on('drain', onDrain) try { for await (const chunk of body) { if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } - const res = h2stream.write(chunk); - request.onBodySent(chunk); + const res = h2stream.write(chunk) + request.onBodySent(chunk) if (!res) { - await waitForDrain(); + await waitForDrain() } } } catch (err) { - h2stream.destroy(err); + h2stream.destroy(err) } finally { - request.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); + request.onRequestSent() + h2stream.end() + h2stream.off('close', onDrain).off('drain', onDrain) } - return; + return } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); + socket.on('close', onDrain).on('drain', onDrain) + const writer = new AsyncWriter({ + socket, + request, + contentLength, + client, + expectsPayload, + header + }) try { for await (const chunk of body) { if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } if (!writer.write(chunk)) { - await waitForDrain(); + await waitForDrain() } } - writer.end(); + writer.end() } catch (err) { - writer.destroy(err); + writer.destroy(err) } finally { - socket.off("close", onDrain).off("drain", onDrain); + socket.off('close', onDrain).off('drain', onDrain) } } var AsyncWriter = class { - constructor({ socket, request, contentLength, client, expectsPayload, header }) { - this.socket = socket; - this.request = request; - this.contentLength = contentLength; - this.client = client; - this.bytesWritten = 0; - this.expectsPayload = expectsPayload; - this.header = header; - socket[kWriting] = true; + constructor({ + socket, + request, + contentLength, + client, + expectsPayload, + header + }) { + this.socket = socket + this.request = request + this.contentLength = contentLength + this.client = client + this.bytesWritten = 0 + this.expectsPayload = expectsPayload + this.header = header + socket[kWriting] = true } write(chunk) { - const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this; + const { + socket, + request, + contentLength, + client, + bytesWritten, + expectsPayload, + header + } = this if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } if (socket.destroyed) { - return false; + return false } - const len = Buffer.byteLength(chunk); + const len = Buffer.byteLength(chunk) if (!len) { - return true; + return true } if (contentLength !== null && bytesWritten + len > contentLength) { if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); + throw new RequestContentLengthMismatchError() } - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } - socket.cork(); + socket.cork() if (bytesWritten === 0) { if (!expectsPayload) { - socket[kReset] = true; + socket[kReset] = true } if (contentLength === null) { - socket.write(`${header}transfer-encoding: chunked\r -`, "latin1"); + socket.write( + `${header}transfer-encoding: chunked\r +`, + 'latin1' + ) } else { - socket.write(`${header}content-length: ${contentLength}\r + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); +`, + 'latin1' + ) } } if (contentLength === null) { - socket.write(`\r + socket.write( + `\r ${len.toString(16)}\r -`, "latin1"); +`, + 'latin1' + ) } - this.bytesWritten += len; - const ret = socket.write(chunk); - socket.uncork(); - request.onBodySent(chunk); + this.bytesWritten += len + const ret = socket.write(chunk) + socket.uncork() + request.onBodySent(chunk) if (!ret) { - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if ( + socket[kParser].timeout && + socket[kParser].timeoutType === TIMEOUT_HEADERS + ) { if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); + socket[kParser].timeout.refresh() } } } - return ret; + return ret } end() { - const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this; - request.onRequestSent(); - socket[kWriting] = false; + const { + socket, + contentLength, + client, + bytesWritten, + expectsPayload, + header, + request + } = this + request.onRequestSent() + socket[kWriting] = false if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } if (socket.destroyed) { - return; + return } if (bytesWritten === 0) { if (expectsPayload) { - socket.write(`${header}content-length: 0\r + socket.write( + `${header}content-length: 0\r \r -`, "latin1"); +`, + 'latin1' + ) } else { - socket.write(`${header}\r -`, "latin1"); + socket.write( + `${header}\r +`, + 'latin1' + ) } } else if (contentLength === null) { - socket.write("\r\n0\r\n\r\n", "latin1"); + socket.write('\r\n0\r\n\r\n', 'latin1') } if (contentLength !== null && bytesWritten !== contentLength) { if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); + throw new RequestContentLengthMismatchError() } else { - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } } - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if ( + socket[kParser].timeout && + socket[kParser].timeoutType === TIMEOUT_HEADERS + ) { if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); + socket[kParser].timeout.refresh() } } - resume(client); + resume(client) } destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; + const { socket, client } = this + socket[kWriting] = false if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util.destroy(socket, err); + assert( + client[kRunning] <= 1, + 'pipeline should only contain this request' + ) + util.destroy(socket, err) } } - }; + } function errorRequest(client, request, err) { try { - request.onError(err); - assert(request.aborted); + request.onError(err) + assert(request.aborted) } catch (err2) { - client.emit("error", err2); + client.emit('error', err2) } } - module2.exports = Client; + module2.exports = Client } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/node/fixed-queue.js var require_fixed_queue = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/node/fixed-queue.js"(exports, module2) { - "use strict"; - var kSize = 2048; - var kMask = kSize - 1; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/node/fixed-queue.js'( + exports, + module2 + ) { + 'use strict' + var kSize = 2048 + var kMask = kSize - 1 var FixedCircularBuffer = class { constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; + this.bottom = 0 + this.top = 0 + this.list = new Array(kSize) + this.next = null } isEmpty() { - return this.top === this.bottom; + return this.top === this.bottom } isFull() { - return (this.top + 1 & kMask) === this.bottom; + return ((this.top + 1) & kMask) === this.bottom } push(data) { - this.list[this.top] = data; - this.top = this.top + 1 & kMask; + this.list[this.top] = data + this.top = (this.top + 1) & kMask } shift() { - const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; - this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; - return nextItem; - } - }; + const nextItem = this.list[this.bottom] + if (nextItem === void 0) return null + this.list[this.bottom] = void 0 + this.bottom = (this.bottom + 1) & kMask + return nextItem + } + } module2.exports = class FixedQueue { constructor() { - this.head = this.tail = new FixedCircularBuffer(); + this.head = this.tail = new FixedCircularBuffer() } isEmpty() { - return this.head.isEmpty(); + return this.head.isEmpty() } push(data) { if (this.head.isFull()) { - this.head = this.head.next = new FixedCircularBuffer(); + this.head = this.head.next = new FixedCircularBuffer() } - this.head.push(data); + this.head.push(data) } shift() { - const tail = this.tail; - const next = tail.shift(); + const tail = this.tail + const next = tail.shift() if (tail.isEmpty() && tail.next !== null) { - this.tail = tail.next; + this.tail = tail.next } - return next; + return next } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool-stats.js var require_pool_stats = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool-stats.js"(exports, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); - var kPool = Symbol("pool"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool-stats.js'( + exports, + module2 + ) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = + require_symbols() + var kPool = Symbol('pool') var PoolStats = class { constructor(pool) { - this[kPool] = pool; + this[kPool] = pool } get connected() { - return this[kPool][kConnected]; + return this[kPool][kConnected] } get free() { - return this[kPool][kFree]; + return this[kPool][kFree] } get pending() { - return this[kPool][kPending]; + return this[kPool][kPending] } get queued() { - return this[kPool][kQueued]; + return this[kPool][kQueued] } get running() { - return this[kPool][kRunning]; + return this[kPool][kRunning] } get size() { - return this[kPool][kSize]; + return this[kPool][kSize] } - }; - module2.exports = PoolStats; + } + module2.exports = PoolStats } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool-base.js var require_pool_base = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool-base.js"(exports, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base(); - var FixedQueue = require_fixed_queue(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); - var PoolStats = require_pool_stats(); - var kClients = Symbol("clients"); - var kNeedDrain = Symbol("needDrain"); - var kQueue = Symbol("queue"); - var kClosedResolve = Symbol("closed resolve"); - var kOnDrain = Symbol("onDrain"); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kGetDispatcher = Symbol("get dispatcher"); - var kAddClient = Symbol("add client"); - var kRemoveClient = Symbol("remove client"); - var kStats = Symbol("stats"); - var PoolBase = class extends DispatcherBase { - constructor() { - super(); - this[kQueue] = new FixedQueue(); - this[kClients] = []; - this[kQueued] = 0; - const pool = this; - this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; - let needDrain = false; - while (!needDrain) { - const item = queue.shift(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool-base.js'( + exports, + module2 + ) { + 'use strict' + var DispatcherBase = require_dispatcher_base() + var FixedQueue = require_fixed_queue() + var { + kConnected, + kSize, + kRunning, + kPending, + kQueued, + kBusy, + kFree, + kUrl, + kClose, + kDestroy, + kDispatch + } = require_symbols() + var PoolStats = require_pool_stats() + var kClients = Symbol('clients') + var kNeedDrain = Symbol('needDrain') + var kQueue = Symbol('queue') + var kClosedResolve = Symbol('closed resolve') + var kOnDrain = Symbol('onDrain') + var kOnConnect = Symbol('onConnect') + var kOnDisconnect = Symbol('onDisconnect') + var kOnConnectionError = Symbol('onConnectionError') + var kGetDispatcher = Symbol('get dispatcher') + var kAddClient = Symbol('add client') + var kRemoveClient = Symbol('remove client') + var kStats = Symbol('stats') + var PoolBase = class extends DispatcherBase { + constructor() { + super() + this[kQueue] = new FixedQueue() + this[kClients] = [] + this[kQueued] = 0 + const pool = this + this[kOnDrain] = function onDrain(origin, targets) { + const queue = pool[kQueue] + let needDrain = false + while (!needDrain) { + const item = queue.shift() if (!item) { - break; + break } - pool[kQueued]--; - needDrain = !this.dispatch(item.opts, item.handler); + pool[kQueued]-- + needDrain = !this.dispatch(item.opts, item.handler) } - this[kNeedDrain] = needDrain; + this[kNeedDrain] = needDrain if (!this[kNeedDrain] && pool[kNeedDrain]) { - pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); + pool[kNeedDrain] = false + pool.emit('drain', origin, [pool, ...targets]) } if (pool[kClosedResolve] && queue.isEmpty()) { - Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]); + Promise.all(pool[kClients].map((c) => c.close())).then( + pool[kClosedResolve] + ) } - }; + } this[kOnConnect] = (origin, targets) => { - pool.emit("connect", origin, [pool, ...targets]); - }; + pool.emit('connect', origin, [pool, ...targets]) + } this[kOnDisconnect] = (origin, targets, err) => { - pool.emit("disconnect", origin, [pool, ...targets], err); - }; + pool.emit('disconnect', origin, [pool, ...targets], err) + } this[kOnConnectionError] = (origin, targets, err) => { - pool.emit("connectionError", origin, [pool, ...targets], err); - }; - this[kStats] = new PoolStats(this); + pool.emit('connectionError', origin, [pool, ...targets], err) + } + this[kStats] = new PoolStats(this) } get [kBusy]() { - return this[kNeedDrain]; + return this[kNeedDrain] } get [kConnected]() { - return this[kClients].filter((client) => client[kConnected]).length; + return this[kClients].filter((client) => client[kConnected]).length } get [kFree]() { - return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; + return this[kClients].filter( + (client) => client[kConnected] && !client[kNeedDrain] + ).length } get [kPending]() { - let ret = this[kQueued]; + let ret = this[kQueued] for (const { [kPending]: pending } of this[kClients]) { - ret += pending; + ret += pending } - return ret; + return ret } get [kRunning]() { - let ret = 0; + let ret = 0 for (const { [kRunning]: running } of this[kClients]) { - ret += running; + ret += running } - return ret; + return ret } get [kSize]() { - let ret = this[kQueued]; + let ret = this[kQueued] for (const { [kSize]: size } of this[kClients]) { - ret += size; + ret += size } - return ret; + return ret } get stats() { - return this[kStats]; + return this[kStats] } async [kClose]() { if (this[kQueue].isEmpty()) { - return Promise.all(this[kClients].map((c) => c.close())); + return Promise.all(this[kClients].map((c) => c.close())) } else { return new Promise((resolve) => { - this[kClosedResolve] = resolve; - }); + this[kClosedResolve] = resolve + }) } } async [kDestroy](err) { while (true) { - const item = this[kQueue].shift(); + const item = this[kQueue].shift() if (!item) { - break; + break } - item.handler.onError(err); + item.handler.onError(err) } - return Promise.all(this[kClients].map((c) => c.destroy(err))); + return Promise.all(this[kClients].map((c) => c.destroy(err))) } [kDispatch](opts, handler) { - const dispatcher = this[kGetDispatcher](); + const dispatcher = this[kGetDispatcher]() if (!dispatcher) { - this[kNeedDrain] = true; - this[kQueue].push({ opts, handler }); - this[kQueued]++; + this[kNeedDrain] = true + this[kQueue].push({ opts, handler }) + this[kQueued]++ } else if (!dispatcher.dispatch(opts, handler)) { - dispatcher[kNeedDrain] = true; - this[kNeedDrain] = !this[kGetDispatcher](); + dispatcher[kNeedDrain] = true + this[kNeedDrain] = !this[kGetDispatcher]() } - return !this[kNeedDrain]; + return !this[kNeedDrain] } [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].push(client); + client + .on('drain', this[kOnDrain]) + .on('connect', this[kOnConnect]) + .on('disconnect', this[kOnDisconnect]) + .on('connectionError', this[kOnConnectionError]) + this[kClients].push(client) if (this[kNeedDrain]) { process.nextTick(() => { if (this[kNeedDrain]) { - this[kOnDrain](client[kUrl], [this, client]); + this[kOnDrain](client[kUrl], [this, client]) } - }); + }) } - return this; + return this } [kRemoveClient](client) { client.close(() => { - const idx = this[kClients].indexOf(client); + const idx = this[kClients].indexOf(client) if (idx !== -1) { - this[kClients].splice(idx, 1); + this[kClients].splice(idx, 1) } - }); - this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); + }) + this[kNeedDrain] = this[kClients].some( + (dispatcher) => + !dispatcher[kNeedDrain] && + dispatcher.closed !== true && + dispatcher.destroyed !== true + ) } - }; + } module2.exports = { PoolBase, kClients, @@ -9379,100 +10762,120 @@ var require_pool_base = __commonJS({ kAddClient, kRemoveClient, kGetDispatcher - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool.js var require_pool = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool.js"(exports, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base(); - var Client = require_client(); - var { - InvalidArgumentError - } = require_errors(); - var util = require_util(); - var { kUrl, kInterceptors } = require_symbols(); - var buildConnector = require_connect(); - var kOptions = Symbol("options"); - var kConnections = Symbol("connections"); - var kFactory = Symbol("factory"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/pool.js'( + exports, + module2 + ) { + 'use strict' + var { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher } = + require_pool_base() + var Client = require_client() + var { InvalidArgumentError } = require_errors() + var util = require_util() + var { kUrl, kInterceptors } = require_symbols() + var buildConnector = require_connect() + var kOptions = Symbol('options') + var kConnections = Symbol('connections') + var kFactory = Symbol('factory') function defaultFactory(origin, opts) { - return new Client(origin, opts); + return new Client(origin, opts) } var Pool = class extends PoolBase { - constructor(origin, { - connections, - factory = defaultFactory, - connect, - connectTimeout, - tls, - maxCachedSessions, - socketPath, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - ...options - } = {}) { - super(); - if (connections != null && (!Number.isFinite(connections) || connections < 0)) { - throw new InvalidArgumentError("invalid connections"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); + constructor( + origin, + { + connections, + factory = defaultFactory, + connect, + connectTimeout, + tls, + maxCachedSessions, + socketPath, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + ...options + } = {} + ) { + super() + if ( + connections != null && + (!Number.isFinite(connections) || connections < 0) + ) { + throw new InvalidArgumentError('invalid connections') + } + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.') + } + if ( + connect != null && + typeof connect !== 'function' && + typeof connect !== 'object' + ) { + throw new InvalidArgumentError( + 'connect must be a function or an object' + ) } - if (typeof connect !== "function") { + if (typeof connect !== 'function') { connect = buildConnector({ ...tls, maxCachedSessions, allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...(util.nodeHasAutoSelectFamily && autoSelectFamily + ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } + : void 0), ...connect - }); + }) } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; - this[kConnections] = connections || null; - this[kUrl] = util.parseOrigin(origin); - this[kOptions] = { ...util.deepClone(options), connect, allowH2 }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kFactory] = factory; + this[kInterceptors] = + options.interceptors && + options.interceptors.Pool && + Array.isArray(options.interceptors.Pool) + ? options.interceptors.Pool + : [] + this[kConnections] = connections || null + this[kUrl] = util.parseOrigin(origin) + this[kOptions] = { ...util.deepClone(options), connect, allowH2 } + this[kOptions].interceptors = options.interceptors + ? { ...options.interceptors } + : void 0 + this[kFactory] = factory } [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); + let dispatcher = this[kClients].find( + (dispatcher2) => !dispatcher2[kNeedDrain] + ) if (dispatcher) { - return dispatcher; + return dispatcher } if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); - this[kAddClient](dispatcher); + dispatcher = this[kFactory](this[kUrl], this[kOptions]) + this[kAddClient](dispatcher) } - return dispatcher; + return dispatcher } - }; - module2.exports = Pool; + } + module2.exports = Pool } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/balanced-pool.js var require_balanced_pool = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/balanced-pool.js"(exports, module2) { - "use strict"; - var { - BalancedPoolMissingUpstreamError, - InvalidArgumentError - } = require_errors(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/balanced-pool.js'( + exports, + module2 + ) { + 'use strict' + var { BalancedPoolMissingUpstreamError, InvalidArgumentError } = + require_errors() var { PoolBase, kClients, @@ -9480,307 +10883,394 @@ var require_balanced_pool = __commonJS({ kAddClient, kRemoveClient, kGetDispatcher - } = require_pool_base(); - var Pool = require_pool(); - var { kUrl, kInterceptors } = require_symbols(); - var { parseOrigin } = require_util(); - var kFactory = Symbol("factory"); - var kOptions = Symbol("options"); - var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); - var kCurrentWeight = Symbol("kCurrentWeight"); - var kIndex = Symbol("kIndex"); - var kWeight = Symbol("kWeight"); - var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); - var kErrorPenalty = Symbol("kErrorPenalty"); + } = require_pool_base() + var Pool = require_pool() + var { kUrl, kInterceptors } = require_symbols() + var { parseOrigin } = require_util() + var kFactory = Symbol('factory') + var kOptions = Symbol('options') + var kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor') + var kCurrentWeight = Symbol('kCurrentWeight') + var kIndex = Symbol('kIndex') + var kWeight = Symbol('kWeight') + var kMaxWeightPerServer = Symbol('kMaxWeightPerServer') + var kErrorPenalty = Symbol('kErrorPenalty') function getGreatestCommonDivisor(a, b) { - if (b === 0) - return a; - return getGreatestCommonDivisor(b, a % b); + if (b === 0) return a + return getGreatestCommonDivisor(b, a % b) } function defaultFactory(origin, opts) { - return new Pool(origin, opts); + return new Pool(origin, opts) } var BalancedPool = class extends PoolBase { constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { - super(); - this[kOptions] = opts; - this[kIndex] = -1; - this[kCurrentWeight] = 0; - this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; - this[kErrorPenalty] = this[kOptions].errorPenalty || 15; + super() + this[kOptions] = opts + this[kIndex] = -1 + this[kCurrentWeight] = 0 + this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100 + this[kErrorPenalty] = this[kOptions].errorPenalty || 15 if (!Array.isArray(upstreams)) { - upstreams = [upstreams]; - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; - this[kFactory] = factory; + upstreams = [upstreams] + } + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.') + } + this[kInterceptors] = + opts.interceptors && + opts.interceptors.BalancedPool && + Array.isArray(opts.interceptors.BalancedPool) + ? opts.interceptors.BalancedPool + : [] + this[kFactory] = factory for (const upstream of upstreams) { - this.addUpstream(upstream); + this.addUpstream(upstream) } - this._updateBalancedPoolStats(); + this._updateBalancedPoolStats() } addUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { - return this; - } - const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); - this[kAddClient](pool); - pool.on("connect", () => { - pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); - }); - pool.on("connectionError", () => { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - }); - pool.on("disconnect", (...args) => { - const err = args[2]; - if (err && err.code === "UND_ERR_SOCKET") { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - } - }); + const upstreamOrigin = parseOrigin(upstream).origin + if ( + this[kClients].find( + (pool2) => + pool2[kUrl].origin === upstreamOrigin && + pool2.closed !== true && + pool2.destroyed !== true + ) + ) { + return this + } + const pool = this[kFactory]( + upstreamOrigin, + Object.assign({}, this[kOptions]) + ) + this[kAddClient](pool) + pool.on('connect', () => { + pool[kWeight] = Math.min( + this[kMaxWeightPerServer], + pool[kWeight] + this[kErrorPenalty] + ) + }) + pool.on('connectionError', () => { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]) + this._updateBalancedPoolStats() + }) + pool.on('disconnect', (...args) => { + const err = args[2] + if (err && err.code === 'UND_ERR_SOCKET') { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]) + this._updateBalancedPoolStats() + } + }) for (const client of this[kClients]) { - client[kWeight] = this[kMaxWeightPerServer]; + client[kWeight] = this[kMaxWeightPerServer] } - this._updateBalancedPoolStats(); - return this; + this._updateBalancedPoolStats() + return this } _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0); + this[kGreatestCommonDivisor] = this[kClients] + .map((p) => p[kWeight]) + .reduce(getGreatestCommonDivisor, 0) } removeUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); + const upstreamOrigin = parseOrigin(upstream).origin + const pool = this[kClients].find( + (pool2) => + pool2[kUrl].origin === upstreamOrigin && + pool2.closed !== true && + pool2.destroyed !== true + ) if (pool) { - this[kRemoveClient](pool); + this[kRemoveClient](pool) } - return this; + return this } get upstreams() { - return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin); + return this[kClients] + .filter( + (dispatcher) => + dispatcher.closed !== true && dispatcher.destroyed !== true + ) + .map((p) => p[kUrl].origin) } [kGetDispatcher]() { if (this[kClients].length === 0) { - throw new BalancedPoolMissingUpstreamError(); + throw new BalancedPoolMissingUpstreamError() } - const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); + const dispatcher = this[kClients].find( + (dispatcher2) => + !dispatcher2[kNeedDrain] && + dispatcher2.closed !== true && + dispatcher2.destroyed !== true + ) if (!dispatcher) { - return; + return } - const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true); + const allClientsBusy = this[kClients] + .map((pool) => pool[kNeedDrain]) + .reduce((a, b) => a && b, true) if (allClientsBusy) { - return; + return } - let counter = 0; - let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); + let counter = 0 + let maxWeightIndex = this[kClients].findIndex( + (pool) => !pool[kNeedDrain] + ) while (counter++ < this[kClients].length) { - this[kIndex] = (this[kIndex] + 1) % this[kClients].length; - const pool = this[kClients][this[kIndex]]; - if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { - maxWeightIndex = this[kIndex]; + this[kIndex] = (this[kIndex] + 1) % this[kClients].length + const pool = this[kClients][this[kIndex]] + if ( + pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && + !pool[kNeedDrain] + ) { + maxWeightIndex = this[kIndex] } if (this[kIndex] === 0) { - this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; + this[kCurrentWeight] = + this[kCurrentWeight] - this[kGreatestCommonDivisor] if (this[kCurrentWeight] <= 0) { - this[kCurrentWeight] = this[kMaxWeightPerServer]; + this[kCurrentWeight] = this[kMaxWeightPerServer] } } if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { - return pool; + return pool } } - this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; - this[kIndex] = maxWeightIndex; - return this[kClients][maxWeightIndex]; + this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight] + this[kIndex] = maxWeightIndex + return this[kClients][maxWeightIndex] } - }; - module2.exports = BalancedPool; + } + module2.exports = BalancedPool } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/compat/dispatcher-weakref.js var require_dispatcher_weakref = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/compat/dispatcher-weakref.js'( + exports, + module2 + ) { + 'use strict' + var { kConnected, kSize } = require_symbols() var CompatWeakRef = class { constructor(value) { - this.value = value; + this.value = value } deref() { - return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; + return this.value[kConnected] === 0 && this.value[kSize] === 0 + ? void 0 + : this.value } - }; + } var CompatFinalizer = class { constructor(finalizer) { - this.finalizer = finalizer; + this.finalizer = finalizer } register(dispatcher, key) { if (dispatcher.on) { - dispatcher.on("disconnect", () => { + dispatcher.on('disconnect', () => { if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { - this.finalizer(key); + this.finalizer(key) } - }); + }) } } - }; - module2.exports = function() { + } + module2.exports = function () { if (process.env.NODE_V8_COVERAGE) { return { WeakRef: CompatWeakRef, FinalizationRegistry: CompatFinalizer - }; + } } return { WeakRef: global.WeakRef || CompatWeakRef, FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; + } + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/agent.js var require_agent = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/agent.js"(exports, module2) { - "use strict"; - var { InvalidArgumentError } = require_errors(); - var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); - var DispatcherBase = require_dispatcher_base(); - var Pool = require_pool(); - var Client = require_client(); - var util = require_util(); - var createRedirectInterceptor = require_redirectInterceptor(); - var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()(); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kMaxRedirections = Symbol("maxRedirections"); - var kOnDrain = Symbol("onDrain"); - var kFactory = Symbol("factory"); - var kFinalizer = Symbol("finalizer"); - var kOptions = Symbol("options"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/agent.js'( + exports, + module2 + ) { + 'use strict' + var { InvalidArgumentError } = require_errors() + var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = + require_symbols() + var DispatcherBase = require_dispatcher_base() + var Pool = require_pool() + var Client = require_client() + var util = require_util() + var createRedirectInterceptor = require_redirectInterceptor() + var { WeakRef: WeakRef2, FinalizationRegistry } = + require_dispatcher_weakref()() + var kOnConnect = Symbol('onConnect') + var kOnDisconnect = Symbol('onDisconnect') + var kOnConnectionError = Symbol('onConnectionError') + var kMaxRedirections = Symbol('maxRedirections') + var kOnDrain = Symbol('onDrain') + var kFactory = Symbol('factory') + var kFinalizer = Symbol('finalizer') + var kOptions = Symbol('options') function defaultFactory(origin, opts) { - return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); + return opts && opts.connections === 1 + ? new Client(origin, opts) + : new Pool(origin, opts) } var Agent = class extends DispatcherBase { - constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { - super(); - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); + constructor({ + factory = defaultFactory, + maxRedirections = 0, + connect, + ...options + } = {}) { + super() + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.') + } + if ( + connect != null && + typeof connect !== 'function' && + typeof connect !== 'object' + ) { + throw new InvalidArgumentError( + 'connect must be a function or an object' + ) } if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (connect && typeof connect !== "function") { - connect = { ...connect }; + throw new InvalidArgumentError( + 'maxRedirections must be a positive number' + ) } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util.deepClone(options), connect }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kMaxRedirections] = maxRedirections; - this[kFactory] = factory; - this[kClients] = /* @__PURE__ */ new Map(); + if (connect && typeof connect !== 'function') { + connect = { ...connect } + } + this[kInterceptors] = + options.interceptors && + options.interceptors.Agent && + Array.isArray(options.interceptors.Agent) + ? options.interceptors.Agent + : [createRedirectInterceptor({ maxRedirections })] + this[kOptions] = { ...util.deepClone(options), connect } + this[kOptions].interceptors = options.interceptors + ? { ...options.interceptors } + : void 0 + this[kMaxRedirections] = maxRedirections + this[kFactory] = factory + this[kClients] = /* @__PURE__ */ new Map() this[kFinalizer] = new FinalizationRegistry( /* istanbul ignore next: gc is undeterministic */ (key) => { - const ref = this[kClients].get(key); + const ref = this[kClients].get(key) if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); + this[kClients].delete(key) } } - ); - const agent = this; + ) + const agent = this this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); - }; + agent.emit('drain', origin, [agent, ...targets]) + } this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); - }; + agent.emit('connect', origin, [agent, ...targets]) + } this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); - }; + agent.emit('disconnect', origin, [agent, ...targets], err) + } this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); - }; + agent.emit('connectionError', origin, [agent, ...targets], err) + } } get [kRunning]() { - let ret = 0; + let ret = 0 for (const ref of this[kClients].values()) { - const client = ref.deref(); + const client = ref.deref() if (client) { - ret += client[kRunning]; + ret += client[kRunning] } } - return ret; + return ret } [kDispatch](opts, handler) { - let key; - if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { - key = String(opts.origin); + let key + if ( + opts.origin && + (typeof opts.origin === 'string' || opts.origin instanceof URL) + ) { + key = String(opts.origin) } else { - throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); + throw new InvalidArgumentError( + 'opts.origin must be a non-empty string or URL.' + ) } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; + const ref = this[kClients].get(key) + let dispatcher = ref ? ref.deref() : null if (!dispatcher) { - dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].set(key, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); + dispatcher = this[kFactory](opts.origin, this[kOptions]) + .on('drain', this[kOnDrain]) + .on('connect', this[kOnConnect]) + .on('disconnect', this[kOnDisconnect]) + .on('connectionError', this[kOnConnectionError]) + this[kClients].set(key, new WeakRef2(dispatcher)) + this[kFinalizer].register(dispatcher, key) } - return dispatcher.dispatch(opts, handler); + return dispatcher.dispatch(opts, handler) } async [kClose]() { - const closePromises = []; + const closePromises = [] for (const ref of this[kClients].values()) { - const client = ref.deref(); + const client = ref.deref() if (client) { - closePromises.push(client.close()); + closePromises.push(client.close()) } } - await Promise.all(closePromises); + await Promise.all(closePromises) } async [kDestroy](err) { - const destroyPromises = []; + const destroyPromises = [] for (const ref of this[kClients].values()) { - const client = ref.deref(); + const client = ref.deref() if (client) { - destroyPromises.push(client.destroy(err)); + destroyPromises.push(client.destroy(err)) } } - await Promise.all(destroyPromises); + await Promise.all(destroyPromises) } - }; - module2.exports = Agent; + } + module2.exports = Agent } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/readable.js var require_readable = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/readable.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { Readable } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors(); - var util = require_util(); - var { ReadableStreamFrom, toUSVString } = require_util(); - var Blob2; - var kConsume = Symbol("kConsume"); - var kReading = Symbol("kReading"); - var kBody = Symbol("kBody"); - var kAbort = Symbol("abort"); - var kContentType = Symbol("kContentType"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/readable.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { Readable } = require('stream') + var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = + require_errors() + var util = require_util() + var { ReadableStreamFrom, toUSVString } = require_util() + var Blob2 + var kConsume = Symbol('kConsume') + var kReading = Symbol('kReading') + var kBody = Symbol('kBody') + var kAbort = Symbol('abort') + var kContentType = Symbol('kContentType') module2.exports = class BodyReadable extends Readable { constructor({ resume, abort, - contentType = "", + contentType = '', highWaterMark = 64 * 1024 // Same as nodejs fs streams. }) { @@ -9788,139 +11278,140 @@ var require_readable = __commonJS({ autoDestroy: true, read: resume, highWaterMark - }); - this._readableState.dataEmitted = false; - this[kAbort] = abort; - this[kConsume] = null; - this[kBody] = null; - this[kContentType] = contentType; - this[kReading] = false; + }) + this._readableState.dataEmitted = false + this[kAbort] = abort + this[kConsume] = null + this[kBody] = null + this[kContentType] = contentType + this[kReading] = false } destroy(err) { if (this.destroyed) { - return this; + return this } if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); + err = new RequestAbortedError() } if (err) { - this[kAbort](); + this[kAbort]() } - return super.destroy(err); + return super.destroy(err) } emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; + if (ev === 'data') { + this._readableState.dataEmitted = true + } else if (ev === 'error') { + this._readableState.errorEmitted = true } - return super.emit(ev, ...args); + return super.emit(ev, ...args) } on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; + if (ev === 'data' || ev === 'readable') { + this[kReading] = true } - return super.on(ev, ...args); + return super.on(ev, ...args) } addListener(ev, ...args) { - return this.on(ev, ...args); + return this.on(ev, ...args) } off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + const ret = super.off(ev, ...args) + if (ev === 'data' || ev === 'readable') { + this[kReading] = + this.listenerCount('data') > 0 || this.listenerCount('readable') > 0 } - return ret; + return ret } removeListener(ev, ...args) { - return this.off(ev, ...args); + return this.off(ev, ...args) } push(chunk) { if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; + consumePush(this[kConsume], chunk) + return this[kReading] ? super.push(chunk) : true } - return super.push(chunk); + return super.push(chunk) } // https://fetch.spec.whatwg.org/#dom-body-text async text() { - return consume(this, "text"); + return consume(this, 'text') } // https://fetch.spec.whatwg.org/#dom-body-json async json() { - return consume(this, "json"); + return consume(this, 'json') } // https://fetch.spec.whatwg.org/#dom-body-blob async blob() { - return consume(this, "blob"); + return consume(this, 'blob') } // https://fetch.spec.whatwg.org/#dom-body-arraybuffer async arrayBuffer() { - return consume(this, "arrayBuffer"); + return consume(this, 'arrayBuffer') } // https://fetch.spec.whatwg.org/#dom-body-formdata async formData() { - throw new NotSupportedError(); + throw new NotSupportedError() } // https://fetch.spec.whatwg.org/#dom-body-bodyused get bodyUsed() { - return util.isDisturbed(this); + return util.isDisturbed(this) } // https://fetch.spec.whatwg.org/#dom-body-body get body() { if (!this[kBody]) { - this[kBody] = ReadableStreamFrom(this); + this[kBody] = ReadableStreamFrom(this) if (this[kConsume]) { - this[kBody].getReader(); - assert(this[kBody].locked); + this[kBody].getReader() + assert(this[kBody].locked) } } - return this[kBody]; + return this[kBody] } async dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; + let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144 + const signal = opts && opts.signal const abortFn = () => { - this.destroy(); - }; - let signalListenerCleanup; + this.destroy() + } + let signalListenerCleanup if (signal) { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); + if (typeof signal !== 'object' || !('aborted' in signal)) { + throw new InvalidArgumentError('signal must be an AbortSignal') } - util.throwIfAborted(signal); - signalListenerCleanup = util.addAbortListener(signal, abortFn); + util.throwIfAborted(signal) + signalListenerCleanup = util.addAbortListener(signal, abortFn) } try { for await (const chunk of this) { - util.throwIfAborted(signal); - limit -= Buffer.byteLength(chunk); + util.throwIfAborted(signal) + limit -= Buffer.byteLength(chunk) if (limit < 0) { - return; + return } } } catch { - util.throwIfAborted(signal); + util.throwIfAborted(signal) } finally { - if (typeof signalListenerCleanup === "function") { - signalListenerCleanup(); + if (typeof signalListenerCleanup === 'function') { + signalListenerCleanup() } else if (signalListenerCleanup) { - signalListenerCleanup[Symbol.dispose](); + signalListenerCleanup[Symbol.dispose]() } } } - }; + } function isLocked(self) { - return self[kBody] && self[kBody].locked === true || self[kConsume]; + return (self[kBody] && self[kBody].locked === true) || self[kConsume] } function isUnusable(self) { - return util.isDisturbed(self) || isLocked(self); + return util.isDisturbed(self) || isLocked(self) } async function consume(stream, type) { if (isUnusable(stream)) { - throw new TypeError("unusable"); + throw new TypeError('unusable') } - assert(!stream[kConsume]); + assert(!stream[kConsume]) return new Promise((resolve, reject) => { stream[kConsume] = { type, @@ -9929,265 +11420,346 @@ var require_readable = __commonJS({ reject, length: 0, body: [] - }; - stream.on("error", function(err) { - consumeFinish(this[kConsume], err); - }).on("close", function() { - if (this[kConsume].body !== null) { - consumeFinish(this[kConsume], new RequestAbortedError()); - } - }); - process.nextTick(consumeStart, stream[kConsume]); - }); + } + stream + .on('error', function (err) { + consumeFinish(this[kConsume], err) + }) + .on('close', function () { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()) + } + }) + process.nextTick(consumeStart, stream[kConsume]) + }) } function consumeStart(consume2) { if (consume2.body === null) { - return; + return } - const { _readableState: state } = consume2.stream; + const { _readableState: state } = consume2.stream for (const chunk of state.buffer) { - consumePush(consume2, chunk); + consumePush(consume2, chunk) } if (state.endEmitted) { - consumeEnd(this[kConsume]); + consumeEnd(this[kConsume]) } else { - consume2.stream.on("end", function() { - consumeEnd(this[kConsume]); - }); - } - consume2.stream.resume(); - while (consume2.stream.read() != null) { + consume2.stream.on('end', function () { + consumeEnd(this[kConsume]) + }) } + consume2.stream.resume() + while (consume2.stream.read() != null) {} } function consumeEnd(consume2) { - const { type, body, resolve, stream, length } = consume2; + const { type, body, resolve, stream, length } = consume2 try { - if (type === "text") { - resolve(toUSVString(Buffer.concat(body))); - } else if (type === "json") { - resolve(JSON.parse(Buffer.concat(body))); - } else if (type === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; + if (type === 'text') { + resolve(toUSVString(Buffer.concat(body))) + } else if (type === 'json') { + resolve(JSON.parse(Buffer.concat(body))) + } else if (type === 'arrayBuffer') { + const dst = new Uint8Array(length) + let pos = 0 for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; + dst.set(buf, pos) + pos += buf.byteLength } - resolve(dst.buffer); - } else if (type === "blob") { + resolve(dst.buffer) + } else if (type === 'blob') { if (!Blob2) { - Blob2 = require("buffer").Blob; + Blob2 = require('buffer').Blob } - resolve(new Blob2(body, { type: stream[kContentType] })); + resolve(new Blob2(body, { type: stream[kContentType] })) } - consumeFinish(consume2); + consumeFinish(consume2) } catch (err) { - stream.destroy(err); + stream.destroy(err) } } function consumePush(consume2, chunk) { - consume2.length += chunk.length; - consume2.body.push(chunk); + consume2.length += chunk.length + consume2.body.push(chunk) } function consumeFinish(consume2, err) { if (consume2.body === null) { - return; + return } if (err) { - consume2.reject(err); + consume2.reject(err) } else { - consume2.resolve(); + consume2.resolve() } - consume2.type = null; - consume2.stream = null; - consume2.resolve = null; - consume2.reject = null; - consume2.length = 0; - consume2.body = null; + consume2.type = null + consume2.stream = null + consume2.resolve = null + consume2.reject = null + consume2.length = 0 + consume2.body = null } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/util.js var require_util3 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/util.js"(exports, module2) { - var assert = require("assert"); - var { - ResponseStatusCodeError - } = require_errors(); - var { toUSVString } = require_util(); - async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { - assert(body); - let chunks = []; - let limit = 0; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/util.js'( + exports, + module2 + ) { + var assert = require('assert') + var { ResponseStatusCodeError } = require_errors() + var { toUSVString } = require_util() + async function getResolveErrorBodyCallback({ + callback, + body, + contentType, + statusCode, + statusMessage, + headers + }) { + assert(body) + let chunks = [] + let limit = 0 for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; + chunks.push(chunk) + limit += chunk.length if (limit > 128 * 1024) { - chunks = null; - break; + chunks = null + break } } if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - return; + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers + ) + ) + return } try { - if (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + if (contentType.startsWith('application/json')) { + const payload = JSON.parse(toUSVString(Buffer.concat(chunks))) + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers, + payload + ) + ) + return + } + if (contentType.startsWith('text/')) { + const payload = toUSVString(Buffer.concat(chunks)) + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers, + payload + ) + ) + return + } + } catch (err) {} + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers + ) + ) } - module2.exports = { getResolveErrorBodyCallback }; + module2.exports = { getResolveErrorBodyCallback } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/abort-signal.js var require_abort_signal = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/abort-signal.js"(exports, module2) { - var { addAbortListener } = require_util(); - var { RequestAbortedError } = require_errors(); - var kListener = Symbol("kListener"); - var kSignal = Symbol("kSignal"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/abort-signal.js'( + exports, + module2 + ) { + var { addAbortListener } = require_util() + var { RequestAbortedError } = require_errors() + var kListener = Symbol('kListener') + var kSignal = Symbol('kSignal') function abort(self) { if (self.abort) { - self.abort(); + self.abort() } else { - self.onError(new RequestAbortedError()); + self.onError(new RequestAbortedError()) } } function addSignal(self, signal) { - self[kSignal] = null; - self[kListener] = null; + self[kSignal] = null + self[kListener] = null if (!signal) { - return; + return } if (signal.aborted) { - abort(self); - return; + abort(self) + return } - self[kSignal] = signal; + self[kSignal] = signal self[kListener] = () => { - abort(self); - }; - addAbortListener(self[kSignal], self[kListener]); + abort(self) + } + addAbortListener(self[kSignal], self[kListener]) } function removeSignal(self) { if (!self[kSignal]) { - return; + return } - if ("removeEventListener" in self[kSignal]) { - self[kSignal].removeEventListener("abort", self[kListener]); + if ('removeEventListener' in self[kSignal]) { + self[kSignal].removeEventListener('abort', self[kListener]) } else { - self[kSignal].removeListener("abort", self[kListener]); + self[kSignal].removeListener('abort', self[kListener]) } - self[kSignal] = null; - self[kListener] = null; + self[kSignal] = null + self[kListener] = null } module2.exports = { addSignal, removeSignal - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-request.js var require_api_request = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-request.js"(exports, module2) { - "use strict"; - var Readable = require_readable(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors(); - var util = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-request.js'( + exports, + module2 + ) { + 'use strict' + var Readable = require_readable() + var { InvalidArgumentError, RequestAbortedError } = require_errors() + var util = require_util() + var { getResolveErrorBodyCallback } = require_util3() + var { AsyncResource } = require('async_hooks') + var { addSignal, removeSignal } = require_abort_signal() var RequestHandler = class extends AsyncResource { constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; + const { + signal, + method, + opaque, + body, + onInfo, + responseHeaders, + throwOnError, + highWaterMark + } = opts try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } - if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { - throw new InvalidArgumentError("invalid highWaterMark"); + if ( + highWaterMark && + (typeof highWaterMark !== 'number' || highWaterMark < 0) + ) { + throw new InvalidArgumentError('invalid highWaterMark') } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method') } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback') } - super("UNDICI_REQUEST"); + super('UNDICI_REQUEST') } catch (err) { if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.res = null; - this.abort = null; - this.body = body; - this.trailers = {}; - this.context = null; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError; - this.highWaterMark = highWaterMark; + util.destroy(body.on('error', util.nop), err) + } + throw err + } + this.responseHeaders = responseHeaders || null + this.opaque = opaque || null + this.callback = callback + this.res = null + this.abort = null + this.body = body + this.trailers = {} + this.context = null + this.onInfo = onInfo || null + this.throwOnError = throwOnError + this.highWaterMark = highWaterMark if (util.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); + body.on('error', (err) => { + this.onError(err) + }) } - addSignal(this, signal); + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const { + callback, + opaque, + abort, + context, + responseHeaders, + highWaterMark + } = this + const headers = + responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) if (statusCode < 200) { if (this.onInfo) { - this.onInfo({ statusCode, headers }); + this.onInfo({ statusCode, headers }) } - return; + return } - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - const body = new Readable({ resume, abort, contentType, highWaterMark }); - this.callback = null; - this.res = body; + const parsedHeaders = + responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers + const contentType = parsedHeaders['content-type'] + const body = new Readable({ resume, abort, contentType, highWaterMark }) + this.callback = null + this.res = body if (callback !== null) { if (this.throwOnError && statusCode >= 400) { - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body, contentType, statusCode, statusMessage, headers } - ); + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback, + body, + contentType, + statusCode, + statusMessage, + headers + }) } else { this.runInAsyncScope(callback, null, null, { statusCode, @@ -10196,569 +11768,648 @@ var require_api_request = __commonJS({ opaque, body, context - }); + }) } } } onData(chunk) { - const { res } = this; - return res.push(chunk); + const { res } = this + return res.push(chunk) } onComplete(trailers) { - const { res } = this; - removeSignal(this); - util.parseHeaders(trailers, this.trailers); - res.push(null); + const { res } = this + removeSignal(this) + util.parseHeaders(trailers, this.trailers) + res.push(null) } onError(err) { - const { res, callback, body, opaque } = this; - removeSignal(this); + const { res, callback, body, opaque } = this + removeSignal(this) if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } if (res) { - this.res = null; + this.res = null queueMicrotask(() => { - util.destroy(res, err); - }); + util.destroy(res, err) + }) } if (body) { - this.body = null; - util.destroy(body, err); + this.body = null + util.destroy(body, err) } } - }; + } function request(opts, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { request.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - this.dispatch(opts, new RequestHandler(opts, callback)); + this.dispatch(opts, new RequestHandler(opts, callback)) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = request; + module2.exports = request } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-stream.js var require_api_stream = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-stream.js"(exports, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-stream.js'( + exports, + module2 + ) { + 'use strict' + var { finished, PassThrough } = require('stream') + var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = + require_errors() + var util = require_util() + var { getResolveErrorBodyCallback } = require_util3() + var { AsyncResource } = require('async_hooks') + var { addSignal, removeSignal } = require_abort_signal() var StreamHandler = class extends AsyncResource { constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + const { + signal, + method, + opaque, + body, + onInfo, + responseHeaders, + throwOnError + } = opts try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); + if (typeof factory !== 'function') { + throw new InvalidArgumentError('invalid factory') } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method') } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback') } - super("UNDICI_STREAM"); + super('UNDICI_STREAM') } catch (err) { if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.factory = factory; - this.callback = callback; - this.res = null; - this.abort = null; - this.context = null; - this.trailers = null; - this.body = body; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError || false; + util.destroy(body.on('error', util.nop), err) + } + throw err + } + this.responseHeaders = responseHeaders || null + this.opaque = opaque || null + this.factory = factory + this.callback = callback + this.res = null + this.abort = null + this.context = null + this.trailers = null + this.body = body + this.onInfo = onInfo || null + this.throwOnError = throwOnError || false if (util.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); + body.on('error', (err) => { + this.onError(err) + }) } - addSignal(this, signal); + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { factory, opaque, context, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const { factory, opaque, context, callback, responseHeaders } = this + const headers = + responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) if (statusCode < 200) { if (this.onInfo) { - this.onInfo({ statusCode, headers }); + this.onInfo({ statusCode, headers }) } - return; + return } - this.factory = null; - let res; + this.factory = null + let res if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - res = new PassThrough(); - this.callback = null; - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body: res, contentType, statusCode, statusMessage, headers } - ); + const parsedHeaders = + responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers + const contentType = parsedHeaders['content-type'] + res = new PassThrough() + this.callback = null + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback, + body: res, + contentType, + statusCode, + statusMessage, + headers + }) } else { if (factory === null) { - return; + return } res = this.runInAsyncScope(factory, null, { statusCode, headers, opaque, context - }); - if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { - throw new InvalidReturnValueError("expected Writable"); + }) + if ( + !res || + typeof res.write !== 'function' || + typeof res.end !== 'function' || + typeof res.on !== 'function' + ) { + throw new InvalidReturnValueError('expected Writable') } finished(res, { readable: false }, (err) => { - const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; - this.res = null; + const { + callback: callback2, + res: res2, + opaque: opaque2, + trailers, + abort + } = this + this.res = null if (err || !res2.readable) { - util.destroy(res2, err); + util.destroy(res2, err) } - this.callback = null; - this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); + this.callback = null + this.runInAsyncScope(callback2, null, err || null, { + opaque: opaque2, + trailers + }) if (err) { - abort(); + abort() } - }); + }) } - res.on("drain", resume); - this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; - return needDrain !== true; + res.on('drain', resume) + this.res = res + const needDrain = + res.writableNeedDrain !== void 0 + ? res.writableNeedDrain + : res._writableState && res._writableState.needDrain + return needDrain !== true } onData(chunk) { - const { res } = this; - return res ? res.write(chunk) : true; + const { res } = this + return res ? res.write(chunk) : true } onComplete(trailers) { - const { res } = this; - removeSignal(this); + const { res } = this + removeSignal(this) if (!res) { - return; + return } - this.trailers = util.parseHeaders(trailers); - res.end(); + this.trailers = util.parseHeaders(trailers) + res.end() } onError(err) { - const { res, callback, opaque, body } = this; - removeSignal(this); - this.factory = null; + const { res, callback, opaque, body } = this + removeSignal(this) + this.factory = null if (res) { - this.res = null; - util.destroy(res, err); + this.res = null + util.destroy(res, err) } else if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } if (body) { - this.body = null; - util.destroy(body, err); + this.body = null + util.destroy(body, err) } } - }; + } function stream(opts, factory, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { stream.call(this, opts, factory, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - this.dispatch(opts, new StreamHandler(opts, factory, callback)); + this.dispatch(opts, new StreamHandler(opts, factory, callback)) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = stream; + module2.exports = stream } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { - "use strict"; - var { - Readable, - Duplex, - PassThrough - } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util = require_util(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var kResume = Symbol("resume"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-pipeline.js'( + exports, + module2 + ) { + 'use strict' + var { Readable, Duplex, PassThrough } = require('stream') + var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = + require_errors() + var util = require_util() + var { AsyncResource } = require('async_hooks') + var { addSignal, removeSignal } = require_abort_signal() + var assert = require('assert') + var kResume = Symbol('resume') var PipelineRequest = class extends Readable { constructor() { - super({ autoDestroy: true }); - this[kResume] = null; + super({ autoDestroy: true }) + this[kResume] = null } _read() { - const { [kResume]: resume } = this; + const { [kResume]: resume } = this if (resume) { - this[kResume] = null; - resume(); + this[kResume] = null + resume() } } _destroy(err, callback) { - this._read(); - callback(err); + this._read() + callback(err) } - }; + } var PipelineResponse = class extends Readable { constructor(resume) { - super({ autoDestroy: true }); - this[kResume] = resume; + super({ autoDestroy: true }) + this[kResume] = resume } _read() { - this[kResume](); + this[kResume]() } _destroy(err, callback) { if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); + err = new RequestAbortedError() } - callback(err); + callback(err) } - }; + } var PipelineHandler = class extends AsyncResource { constructor(opts, handler) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof handler !== "function") { - throw new InvalidArgumentError("invalid handler"); - } - const { signal, method, opaque, onInfo, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_PIPELINE"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.handler = handler; - this.abort = null; - this.context = null; - this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util.nop); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') + } + if (typeof handler !== 'function') { + throw new InvalidArgumentError('invalid handler') + } + const { signal, method, opaque, onInfo, responseHeaders } = opts + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) + } + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method') + } + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback') + } + super('UNDICI_PIPELINE') + this.opaque = opaque || null + this.responseHeaders = responseHeaders || null + this.handler = handler + this.abort = null + this.context = null + this.onInfo = onInfo || null + this.req = new PipelineRequest().on('error', util.nop) this.ret = new Duplex({ readableObjectMode: opts.objectMode, autoDestroy: true, read: () => { - const { body } = this; + const { body } = this if (body && body.resume) { - body.resume(); + body.resume() } }, write: (chunk, encoding, callback) => { - const { req } = this; + const { req } = this if (req.push(chunk, encoding) || req._readableState.destroyed) { - callback(); + callback() } else { - req[kResume] = callback; + req[kResume] = callback } }, destroy: (err, callback) => { - const { body, req, res, ret, abort } = this; + const { body, req, res, ret, abort } = this if (!err && !ret._readableState.endEmitted) { - err = new RequestAbortedError(); + err = new RequestAbortedError() } if (abort && err) { - abort(); + abort() } - util.destroy(body, err); - util.destroy(req, err); - util.destroy(res, err); - removeSignal(this); - callback(err); - } - }).on("prefinish", () => { - const { req } = this; - req.push(null); - }); - this.res = null; - addSignal(this, signal); + util.destroy(body, err) + util.destroy(req, err) + util.destroy(res, err) + removeSignal(this) + callback(err) + } + }).on('prefinish', () => { + const { req } = this + req.push(null) + }) + this.res = null + addSignal(this, signal) } onConnect(abort, context) { - const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); + const { ret, res } = this + assert(!res, 'pipeline cannot be retried') if (ret.destroyed) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders(statusCode, rawHeaders, resume) { - const { opaque, handler, context } = this; + const { opaque, handler, context } = this if (statusCode < 200) { if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - this.onInfo({ statusCode, headers }); + const headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) + this.onInfo({ statusCode, headers }) } - return; + return } - this.res = new PipelineResponse(resume); - let body; + this.res = new PipelineResponse(resume) + let body try { - this.handler = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + this.handler = null + const headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) body = this.runInAsyncScope(handler, null, { statusCode, headers, opaque, body: this.res, context - }); + }) } catch (err) { - this.res.on("error", util.nop); - throw err; - } - if (!body || typeof body.on !== "function") { - throw new InvalidReturnValueError("expected Readable"); - } - body.on("data", (chunk) => { - const { ret, body: body2 } = this; - if (!ret.push(chunk) && body2.pause) { - body2.pause(); - } - }).on("error", (err) => { - const { ret } = this; - util.destroy(ret, err); - }).on("end", () => { - const { ret } = this; - ret.push(null); - }).on("close", () => { - const { ret } = this; - if (!ret._readableState.ended) { - util.destroy(ret, new RequestAbortedError()); - } - }); - this.body = body; + this.res.on('error', util.nop) + throw err + } + if (!body || typeof body.on !== 'function') { + throw new InvalidReturnValueError('expected Readable') + } + body + .on('data', (chunk) => { + const { ret, body: body2 } = this + if (!ret.push(chunk) && body2.pause) { + body2.pause() + } + }) + .on('error', (err) => { + const { ret } = this + util.destroy(ret, err) + }) + .on('end', () => { + const { ret } = this + ret.push(null) + }) + .on('close', () => { + const { ret } = this + if (!ret._readableState.ended) { + util.destroy(ret, new RequestAbortedError()) + } + }) + this.body = body } onData(chunk) { - const { res } = this; - return res.push(chunk); + const { res } = this + return res.push(chunk) } onComplete(trailers) { - const { res } = this; - res.push(null); + const { res } = this + res.push(null) } onError(err) { - const { ret } = this; - this.handler = null; - util.destroy(ret, err); + const { ret } = this + this.handler = null + util.destroy(ret, err) } - }; + } function pipeline(opts, handler) { try { - const pipelineHandler = new PipelineHandler(opts, handler); - this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); - return pipelineHandler.ret; + const pipelineHandler = new PipelineHandler(opts, handler) + this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler) + return pipelineHandler.ret } catch (err) { - return new PassThrough().destroy(err); + return new PassThrough().destroy(err) } } - module2.exports = pipeline; + module2.exports = pipeline } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { - "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var { AsyncResource } = require("async_hooks"); - var util = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-upgrade.js'( + exports, + module2 + ) { + 'use strict' + var { InvalidArgumentError, RequestAbortedError, SocketError } = + require_errors() + var { AsyncResource } = require('async_hooks') + var util = require_util() + var { addSignal, removeSignal } = require_abort_signal() + var assert = require('assert') var UpgradeHandler = class extends AsyncResource { constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') + } + const { signal, opaque, responseHeaders } = opts + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - super("UNDICI_UPGRADE"); - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.abort = null; - this.context = null; - addSignal(this, signal); + super('UNDICI_UPGRADE') + this.responseHeaders = responseHeaders || null + this.opaque = opaque || null + this.callback = callback + this.abort = null + this.context = null + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = null; + this.abort = abort + this.context = null } onHeaders() { - throw new SocketError("bad upgrade", null); + throw new SocketError('bad upgrade', null) } onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - assert.strictEqual(statusCode, 101); - removeSignal(this); - this.callback = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const { callback, opaque, context } = this + assert.strictEqual(statusCode, 101) + removeSignal(this) + this.callback = null + const headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) this.runInAsyncScope(callback, null, null, { headers, socket, opaque, context - }); + }) } onError(err) { - const { callback, opaque } = this; - removeSignal(this); + const { callback, opaque } = this + removeSignal(this) if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } } - }; + } function upgrade(opts, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - const upgradeHandler = new UpgradeHandler(opts, callback); - this.dispatch({ - ...opts, - method: opts.method || "GET", - upgrade: opts.protocol || "Websocket" - }, upgradeHandler); + const upgradeHandler = new UpgradeHandler(opts, callback) + this.dispatch( + { + ...opts, + method: opts.method || 'GET', + upgrade: opts.protocol || 'Websocket' + }, + upgradeHandler + ) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = upgrade; + module2.exports = upgrade } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-connect.js var require_api_connect = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-connect.js"(exports, module2) { - "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var util = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/api-connect.js'( + exports, + module2 + ) { + 'use strict' + var { AsyncResource } = require('async_hooks') + var { InvalidArgumentError, RequestAbortedError, SocketError } = + require_errors() + var util = require_util() + var { addSignal, removeSignal } = require_abort_signal() var ConnectHandler = class extends AsyncResource { constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') + } + const { signal, opaque, responseHeaders } = opts + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - super("UNDICI_CONNECT"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.callback = callback; - this.abort = null; - addSignal(this, signal); + super('UNDICI_CONNECT') + this.opaque = opaque || null + this.responseHeaders = responseHeaders || null + this.callback = callback + this.abort = null + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders() { - throw new SocketError("bad connect", null); + throw new SocketError('bad connect', null) } onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - removeSignal(this); - this.callback = null; - let headers = rawHeaders; + const { callback, opaque, context } = this + removeSignal(this) + this.callback = null + let headers = rawHeaders if (headers != null) { - headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) } this.runInAsyncScope(callback, null, null, { statusCode, @@ -10766,361 +12417,440 @@ var require_api_connect = __commonJS({ socket, opaque, context - }); + }) } onError(err) { - const { callback, opaque } = this; - removeSignal(this); + const { callback, opaque } = this + removeSignal(this) if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } } - }; + } function connect(opts, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { connect.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - const connectHandler = new ConnectHandler(opts, callback); - this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); + const connectHandler = new ConnectHandler(opts, callback) + this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = connect; + module2.exports = connect } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/index.js var require_api = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/index.js"(exports, module2) { - "use strict"; - module2.exports.request = require_api_request(); - module2.exports.stream = require_api_stream(); - module2.exports.pipeline = require_api_pipeline(); - module2.exports.upgrade = require_api_upgrade(); - module2.exports.connect = require_api_connect(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/api/index.js'( + exports, + module2 + ) { + 'use strict' + module2.exports.request = require_api_request() + module2.exports.stream = require_api_stream() + module2.exports.pipeline = require_api_pipeline() + module2.exports.upgrade = require_api_upgrade() + module2.exports.connect = require_api_connect() } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-errors.js var require_mock_errors = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-errors.js"(exports, module2) { - "use strict"; - var { UndiciError } = require_errors(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-errors.js'( + exports, + module2 + ) { + 'use strict' + var { UndiciError } = require_errors() var MockNotMatchedError = class _MockNotMatchedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _MockNotMatchedError); - this.name = "MockNotMatchedError"; - this.message = message || "The request does not match any registered mock dispatches"; - this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; + super(message) + Error.captureStackTrace(this, _MockNotMatchedError) + this.name = 'MockNotMatchedError' + this.message = + message || 'The request does not match any registered mock dispatches' + this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED' } - }; + } module2.exports = { MockNotMatchedError - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-symbols.js var require_mock_symbols = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kAgent: Symbol("agent"), - kOptions: Symbol("options"), - kFactory: Symbol("factory"), - kDispatches: Symbol("dispatches"), - kDispatchKey: Symbol("dispatch key"), - kDefaultHeaders: Symbol("default headers"), - kDefaultTrailers: Symbol("default trailers"), - kContentLength: Symbol("content length"), - kMockAgent: Symbol("mock agent"), - kMockAgentSet: Symbol("mock agent set"), - kMockAgentGet: Symbol("mock agent get"), - kMockDispatch: Symbol("mock dispatch"), - kClose: Symbol("close"), - kOriginalClose: Symbol("original agent close"), - kOrigin: Symbol("origin"), - kIsMockActive: Symbol("is mock active"), - kNetConnect: Symbol("net connect"), - kGetNetConnect: Symbol("get net connect"), - kConnected: Symbol("connected") - }; + kAgent: Symbol('agent'), + kOptions: Symbol('options'), + kFactory: Symbol('factory'), + kDispatches: Symbol('dispatches'), + kDispatchKey: Symbol('dispatch key'), + kDefaultHeaders: Symbol('default headers'), + kDefaultTrailers: Symbol('default trailers'), + kContentLength: Symbol('content length'), + kMockAgent: Symbol('mock agent'), + kMockAgentSet: Symbol('mock agent set'), + kMockAgentGet: Symbol('mock agent get'), + kMockDispatch: Symbol('mock dispatch'), + kClose: Symbol('close'), + kOriginalClose: Symbol('original agent close'), + kOrigin: Symbol('origin'), + kIsMockActive: Symbol('is mock active'), + kNetConnect: Symbol('net connect'), + kGetNetConnect: Symbol('get net connect'), + kConnected: Symbol('connected') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-utils.js var require_mock_utils = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-utils.js"(exports, module2) { - "use strict"; - var { MockNotMatchedError } = require_mock_errors(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-utils.js'( + exports, + module2 + ) { + 'use strict' + var { MockNotMatchedError } = require_mock_errors() var { kDispatches, kMockAgent, kOriginalDispatch, kOrigin, kGetNetConnect - } = require_mock_symbols(); - var { buildURL, nop } = require_util(); - var { STATUS_CODES } = require("http"); + } = require_mock_symbols() + var { buildURL, nop } = require_util() + var { STATUS_CODES } = require('http') var { - types: { - isPromise: isPromise2 - } - } = require("util"); + types: { isPromise: isPromise2 } + } = require('util') function matchValue(match, value) { - if (typeof match === "string") { - return match === value; + if (typeof match === 'string') { + return match === value } if (match instanceof RegExp) { - return match.test(value); + return match.test(value) } - if (typeof match === "function") { - return match(value) === true; + if (typeof match === 'function') { + return match(value) === true } - return false; + return false } function lowerCaseEntries(headers) { return Object.fromEntries( Object.entries(headers).map(([headerName, headerValue]) => { - return [headerName.toLocaleLowerCase(), headerValue]; + return [headerName.toLocaleLowerCase(), headerValue] }) - ); + ) } function getHeaderByName(headers, key) { if (Array.isArray(headers)) { for (let i = 0; i < headers.length; i += 2) { if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) { - return headers[i + 1]; + return headers[i + 1] } } - return void 0; - } else if (typeof headers.get === "function") { - return headers.get(key); + return void 0 + } else if (typeof headers.get === 'function') { + return headers.get(key) } else { - return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; + return lowerCaseEntries(headers)[key.toLocaleLowerCase()] } } function buildHeadersFromArray(headers) { - const clone = headers.slice(); - const entries = []; + const clone = headers.slice() + const entries = [] for (let index = 0; index < clone.length; index += 2) { - entries.push([clone[index], clone[index + 1]]); + entries.push([clone[index], clone[index + 1]]) } - return Object.fromEntries(entries); + return Object.fromEntries(entries) } function matchHeaders(mockDispatch2, headers) { - if (typeof mockDispatch2.headers === "function") { + if (typeof mockDispatch2.headers === 'function') { if (Array.isArray(headers)) { - headers = buildHeadersFromArray(headers); + headers = buildHeadersFromArray(headers) } - return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); + return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}) } - if (typeof mockDispatch2.headers === "undefined") { - return true; + if (typeof mockDispatch2.headers === 'undefined') { + return true } - if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { - return false; + if ( + typeof headers !== 'object' || + typeof mockDispatch2.headers !== 'object' + ) { + return false } - for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { - const headerValue = getHeaderByName(headers, matchHeaderName); + for (const [matchHeaderName, matchHeaderValue] of Object.entries( + mockDispatch2.headers + )) { + const headerValue = getHeaderByName(headers, matchHeaderName) if (!matchValue(matchHeaderValue, headerValue)) { - return false; + return false } } - return true; + return true } function safeUrl(path) { - if (typeof path !== "string") { - return path; + if (typeof path !== 'string') { + return path } - const pathSegments = path.split("?"); + const pathSegments = path.split('?') if (pathSegments.length !== 2) { - return path; + return path } - const qp = new URLSearchParams(pathSegments.pop()); - qp.sort(); - return [...pathSegments, qp.toString()].join("?"); + const qp = new URLSearchParams(pathSegments.pop()) + qp.sort() + return [...pathSegments, qp.toString()].join('?') } function matchKey(mockDispatch2, { path, method, body, headers }) { - const pathMatch = matchValue(mockDispatch2.path, path); - const methodMatch = matchValue(mockDispatch2.method, method); - const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; - const headersMatch = matchHeaders(mockDispatch2, headers); - return pathMatch && methodMatch && bodyMatch && headersMatch; + const pathMatch = matchValue(mockDispatch2.path, path) + const methodMatch = matchValue(mockDispatch2.method, method) + const bodyMatch = + typeof mockDispatch2.body !== 'undefined' + ? matchValue(mockDispatch2.body, body) + : true + const headersMatch = matchHeaders(mockDispatch2, headers) + return pathMatch && methodMatch && bodyMatch && headersMatch } function getResponseData(data) { if (Buffer.isBuffer(data)) { - return data; - } else if (typeof data === "object") { - return JSON.stringify(data); + return data + } else if (typeof data === 'object') { + return JSON.stringify(data) } else { - return data.toString(); + return data.toString() } } function getMockDispatch(mockDispatches, key) { - const basePath = key.query ? buildURL(key.path, key.query) : key.path; - const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath; - let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath)); + const basePath = key.query ? buildURL(key.path, key.query) : key.path + const resolvedPath = + typeof basePath === 'string' ? safeUrl(basePath) : basePath + let matchedMockDispatches = mockDispatches + .filter(({ consumed }) => !consumed) + .filter(({ path }) => matchValue(safeUrl(path), resolvedPath)) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for path '${resolvedPath}'` + ) } - matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); + matchedMockDispatches = matchedMockDispatches.filter(({ method }) => + matchValue(method, key.method) + ) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for method '${key.method}'` + ) } - matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); + matchedMockDispatches = matchedMockDispatches.filter(({ body }) => + typeof body !== 'undefined' ? matchValue(body, key.body) : true + ) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for body '${key.body}'` + ) } - matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); + matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => + matchHeaders(mockDispatch2, key.headers) + ) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for headers '${ + typeof key.headers === 'object' + ? JSON.stringify(key.headers) + : key.headers + }'` + ) } - return matchedMockDispatches[0]; + return matchedMockDispatches[0] } function addMockDispatch(mockDispatches, key, data) { - const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; - const replyData = typeof data === "function" ? { callback: data } : { ...data }; - const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; - mockDispatches.push(newMockDispatch); - return newMockDispatch; + const baseData = { + timesInvoked: 0, + times: 1, + persist: false, + consumed: false + } + const replyData = + typeof data === 'function' ? { callback: data } : { ...data } + const newMockDispatch = { + ...baseData, + ...key, + pending: true, + data: { error: null, ...replyData } + } + mockDispatches.push(newMockDispatch) + return newMockDispatch } function deleteMockDispatch(mockDispatches, key) { const index = mockDispatches.findIndex((dispatch) => { if (!dispatch.consumed) { - return false; + return false } - return matchKey(dispatch, key); - }); + return matchKey(dispatch, key) + }) if (index !== -1) { - mockDispatches.splice(index, 1); + mockDispatches.splice(index, 1) } } function buildKey(opts) { - const { path, method, body, headers, query } = opts; + const { path, method, body, headers, query } = opts return { path, method, body, headers, query - }; + } } function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`) - ], []); + return Object.entries(data).reduce( + (keyValuePairs, [key, value]) => [ + ...keyValuePairs, + Buffer.from(`${key}`), + Array.isArray(value) + ? value.map((x) => Buffer.from(`${x}`)) + : Buffer.from(`${value}`) + ], + [] + ) } function getStatusText(statusCode) { - return STATUS_CODES[statusCode] || "unknown"; + return STATUS_CODES[statusCode] || 'unknown' } async function getResponse(body) { - const buffers = []; + const buffers = [] for await (const data of body) { - buffers.push(data); + buffers.push(data) } - return Buffer.concat(buffers).toString("utf8"); + return Buffer.concat(buffers).toString('utf8') } function mockDispatch(opts, handler) { - const key = buildKey(opts); - const mockDispatch2 = getMockDispatch(this[kDispatches], key); - mockDispatch2.timesInvoked++; + const key = buildKey(opts) + const mockDispatch2 = getMockDispatch(this[kDispatches], key) + mockDispatch2.timesInvoked++ if (mockDispatch2.data.callback) { - mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; + mockDispatch2.data = { + ...mockDispatch2.data, + ...mockDispatch2.data.callback(opts) + } } - const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch2; - const { timesInvoked, times } = mockDispatch2; - mockDispatch2.consumed = !persist && timesInvoked >= times; - mockDispatch2.pending = timesInvoked < times; + const { + data: { statusCode, data, headers, trailers, error }, + delay, + persist + } = mockDispatch2 + const { timesInvoked, times } = mockDispatch2 + mockDispatch2.consumed = !persist && timesInvoked >= times + mockDispatch2.pending = timesInvoked < times if (error !== null) { - deleteMockDispatch(this[kDispatches], key); - handler.onError(error); - return true; + deleteMockDispatch(this[kDispatches], key) + handler.onError(error) + return true } - if (typeof delay === "number" && delay > 0) { + if (typeof delay === 'number' && delay > 0) { setTimeout(() => { - handleReply(this[kDispatches]); - }, delay); + handleReply(this[kDispatches]) + }, delay) } else { - handleReply(this[kDispatches]); + handleReply(this[kDispatches]) } function handleReply(mockDispatches, _data = data) { - const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; - const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; + const optsHeaders = Array.isArray(opts.headers) + ? buildHeadersFromArray(opts.headers) + : opts.headers + const body = + typeof _data === 'function' + ? _data({ ...opts, headers: optsHeaders }) + : _data if (isPromise2(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); - return; - } - const responseData = getResponseData(body); - const responseHeaders = generateKeyValues(headers); - const responseTrailers = generateKeyValues(trailers); - handler.abort = nop; - handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler.onData(Buffer.from(responseData)); - handler.onComplete(responseTrailers); - deleteMockDispatch(mockDispatches, key); - } - function resume() { + body.then((newData) => handleReply(mockDispatches, newData)) + return + } + const responseData = getResponseData(body) + const responseHeaders = generateKeyValues(headers) + const responseTrailers = generateKeyValues(trailers) + handler.abort = nop + handler.onHeaders( + statusCode, + responseHeaders, + resume, + getStatusText(statusCode) + ) + handler.onData(Buffer.from(responseData)) + handler.onComplete(responseTrailers) + deleteMockDispatch(mockDispatches, key) } - return true; + function resume() {} + return true } function buildMockDispatch() { - const agent = this[kMockAgent]; - const origin = this[kOrigin]; - const originalDispatch = this[kOriginalDispatch]; + const agent = this[kMockAgent] + const origin = this[kOrigin] + const originalDispatch = this[kOriginalDispatch] return function dispatch(opts, handler) { if (agent.isMockActive) { try { - mockDispatch.call(this, opts, handler); + mockDispatch.call(this, opts, handler) } catch (error) { if (error instanceof MockNotMatchedError) { - const netConnect = agent[kGetNetConnect](); + const netConnect = agent[kGetNetConnect]() if (netConnect === false) { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); + throw new MockNotMatchedError( + `${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)` + ) } if (checkNetConnect(netConnect, origin)) { - originalDispatch.call(this, opts, handler); + originalDispatch.call(this, opts, handler) } else { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); + throw new MockNotMatchedError( + `${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)` + ) } } else { - throw error; + throw error } } } else { - originalDispatch.call(this, opts, handler); + originalDispatch.call(this, opts, handler) } - }; + } } function checkNetConnect(netConnect, origin) { - const url = new URL(origin); + const url = new URL(origin) if (netConnect === true) { - return true; - } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) { - return true; + return true + } else if ( + Array.isArray(netConnect) && + netConnect.some((matcher) => matchValue(matcher, url.host)) + ) { + return true } - return false; + return false } function buildMockOptions(opts) { if (opts) { - const { agent, ...mockOptions } = opts; - return mockOptions; + const { agent, ...mockOptions } = opts + return mockOptions } } module2.exports = { @@ -11138,15 +12868,18 @@ var require_mock_utils = __commonJS({ checkNetConnect, buildMockOptions, getHeaderByName - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-interceptor.js var require_mock_interceptor = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) { - "use strict"; - var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-interceptor.js'( + exports, + module2 + ) { + 'use strict' + var { getResponseData, buildKey, addMockDispatch } = require_mock_utils() var { kDispatches, kDispatchKey, @@ -11154,162 +12887,210 @@ var require_mock_interceptor = __commonJS({ kDefaultTrailers, kContentLength, kMockDispatch - } = require_mock_symbols(); - var { InvalidArgumentError } = require_errors(); - var { buildURL } = require_util(); + } = require_mock_symbols() + var { InvalidArgumentError } = require_errors() + var { buildURL } = require_util() var MockScope = class { constructor(mockDispatch) { - this[kMockDispatch] = mockDispatch; + this[kMockDispatch] = mockDispatch } /** * Delay a reply by a set amount in ms. */ delay(waitInMs) { - if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { - throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); + if ( + typeof waitInMs !== 'number' || + !Number.isInteger(waitInMs) || + waitInMs <= 0 + ) { + throw new InvalidArgumentError('waitInMs must be a valid integer > 0') } - this[kMockDispatch].delay = waitInMs; - return this; + this[kMockDispatch].delay = waitInMs + return this } /** * For a defined reply, never mark as consumed. */ persist() { - this[kMockDispatch].persist = true; - return this; + this[kMockDispatch].persist = true + return this } /** * Allow one to define a reply for a set amount of matching requests. */ times(repeatTimes) { - if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { - throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); + if ( + typeof repeatTimes !== 'number' || + !Number.isInteger(repeatTimes) || + repeatTimes <= 0 + ) { + throw new InvalidArgumentError( + 'repeatTimes must be a valid integer > 0' + ) } - this[kMockDispatch].times = repeatTimes; - return this; + this[kMockDispatch].times = repeatTimes + return this } - }; + } var MockInterceptor = class { constructor(opts, mockDispatches) { - if (typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object"); + if (typeof opts !== 'object') { + throw new InvalidArgumentError('opts must be an object') } - if (typeof opts.path === "undefined") { - throw new InvalidArgumentError("opts.path must be defined"); + if (typeof opts.path === 'undefined') { + throw new InvalidArgumentError('opts.path must be defined') } - if (typeof opts.method === "undefined") { - opts.method = "GET"; + if (typeof opts.method === 'undefined') { + opts.method = 'GET' } - if (typeof opts.path === "string") { + if (typeof opts.path === 'string') { if (opts.query) { - opts.path = buildURL(opts.path, opts.query); + opts.path = buildURL(opts.path, opts.query) } else { - const parsedURL = new URL(opts.path, "data://"); - opts.path = parsedURL.pathname + parsedURL.search; + const parsedURL = new URL(opts.path, 'data://') + opts.path = parsedURL.pathname + parsedURL.search } } - if (typeof opts.method === "string") { - opts.method = opts.method.toUpperCase(); + if (typeof opts.method === 'string') { + opts.method = opts.method.toUpperCase() } - this[kDispatchKey] = buildKey(opts); - this[kDispatches] = mockDispatches; - this[kDefaultHeaders] = {}; - this[kDefaultTrailers] = {}; - this[kContentLength] = false; + this[kDispatchKey] = buildKey(opts) + this[kDispatches] = mockDispatches + this[kDefaultHeaders] = {} + this[kDefaultTrailers] = {} + this[kContentLength] = false } createMockScopeDispatchData(statusCode, data, responseOptions = {}) { - const responseData = getResponseData(data); - const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; - const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; - const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; - return { statusCode, data, headers, trailers }; + const responseData = getResponseData(data) + const contentLength = this[kContentLength] + ? { 'content-length': responseData.length } + : {} + const headers = { + ...this[kDefaultHeaders], + ...contentLength, + ...responseOptions.headers + } + const trailers = { + ...this[kDefaultTrailers], + ...responseOptions.trailers + } + return { statusCode, data, headers, trailers } } validateReplyParameters(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { - throw new InvalidArgumentError("statusCode must be defined"); + if (typeof statusCode === 'undefined') { + throw new InvalidArgumentError('statusCode must be defined') } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); + if (typeof data === 'undefined') { + throw new InvalidArgumentError('data must be defined') } - if (typeof responseOptions !== "object") { - throw new InvalidArgumentError("responseOptions must be an object"); + if (typeof responseOptions !== 'object') { + throw new InvalidArgumentError('responseOptions must be an object') } } /** * Mock an undici request with a defined reply. */ reply(replyData) { - if (typeof replyData === "function") { + if (typeof replyData === 'function') { const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { - throw new InvalidArgumentError("reply options callback must return an object"); + const resolvedData = replyData(opts) + if (typeof resolvedData !== 'object') { + throw new InvalidArgumentError( + 'reply options callback must return an object' + ) } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); + const { + statusCode: statusCode2, + data: data2 = '', + responseOptions: responseOptions2 = {} + } = resolvedData + this.validateReplyParameters(statusCode2, data2, responseOptions2) return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) - }; - }; - const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); - return new MockScope(newMockDispatch2); - } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); - return new MockScope(newMockDispatch); + ...this.createMockScopeDispatchData( + statusCode2, + data2, + responseOptions2 + ) + } + } + const newMockDispatch2 = addMockDispatch( + this[kDispatches], + this[kDispatchKey], + wrappedDefaultsCallback + ) + return new MockScope(newMockDispatch2) + } + const [statusCode, data = '', responseOptions = {}] = [...arguments] + this.validateReplyParameters(statusCode, data, responseOptions) + const dispatchData = this.createMockScopeDispatchData( + statusCode, + data, + responseOptions + ) + const newMockDispatch = addMockDispatch( + this[kDispatches], + this[kDispatchKey], + dispatchData + ) + return new MockScope(newMockDispatch) } /** * Mock an undici request with a defined error. */ replyWithError(error) { - if (typeof error === "undefined") { - throw new InvalidArgumentError("error must be defined"); + if (typeof error === 'undefined') { + throw new InvalidArgumentError('error must be defined') } - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); - return new MockScope(newMockDispatch); + const newMockDispatch = addMockDispatch( + this[kDispatches], + this[kDispatchKey], + { error } + ) + return new MockScope(newMockDispatch) } /** * Set default reply headers on the interceptor for subsequent replies */ defaultReplyHeaders(headers) { - if (typeof headers === "undefined") { - throw new InvalidArgumentError("headers must be defined"); + if (typeof headers === 'undefined') { + throw new InvalidArgumentError('headers must be defined') } - this[kDefaultHeaders] = headers; - return this; + this[kDefaultHeaders] = headers + return this } /** * Set default reply trailers on the interceptor for subsequent replies */ defaultReplyTrailers(trailers) { - if (typeof trailers === "undefined") { - throw new InvalidArgumentError("trailers must be defined"); + if (typeof trailers === 'undefined') { + throw new InvalidArgumentError('trailers must be defined') } - this[kDefaultTrailers] = trailers; - return this; + this[kDefaultTrailers] = trailers + return this } /** * Set reply content length header for replies on the interceptor */ replyContentLength() { - this[kContentLength] = true; - return this; + this[kContentLength] = true + return this } - }; - module2.exports.MockInterceptor = MockInterceptor; - module2.exports.MockScope = MockScope; + } + module2.exports.MockInterceptor = MockInterceptor + module2.exports.MockScope = MockScope } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-client.js var require_mock_client = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-client.js"(exports, module2) { - "use strict"; - var { promisify } = require("util"); - var Client = require_client(); - var { buildMockDispatch } = require_mock_utils(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-client.js'( + exports, + module2 + ) { + 'use strict' + var { promisify } = require('util') + var Client = require_client() + var { buildMockDispatch } = require_mock_utils() var { kDispatches, kMockAgent, @@ -11318,51 +13099,56 @@ var require_mock_client = __commonJS({ kOrigin, kOriginalDispatch, kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); + } = require_mock_symbols() + var { MockInterceptor } = require_mock_interceptor() + var Symbols = require_symbols() + var { InvalidArgumentError } = require_errors() var MockClient = class extends Client { constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; + super(origin, opts) + if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError( + 'Argument opts.agent must implement Agent' + ) + } + this[kMockAgent] = opts.agent + this[kOrigin] = origin + this[kDispatches] = [] + this[kConnected] = 1 + this[kOriginalDispatch] = this.dispatch + this[kOriginalClose] = this.close.bind(this) + this.dispatch = buildMockDispatch.call(this) + this.close = this[kClose] } get [Symbols.kConnected]() { - return this[kConnected]; + return this[kConnected] } /** * Sets up the base interceptor for mocking replies from undici. */ intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); + return new MockInterceptor(opts, this[kDispatches]) } async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + await promisify(this[kOriginalClose])() + this[kConnected] = 0 + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]) } - }; - module2.exports = MockClient; + } + module2.exports = MockClient } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-pool.js var require_mock_pool = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-pool.js"(exports, module2) { - "use strict"; - var { promisify } = require("util"); - var Pool = require_pool(); - var { buildMockDispatch } = require_mock_utils(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-pool.js'( + exports, + module2 + ) { + 'use strict' + var { promisify } = require('util') + var Pool = require_pool() + var { buildMockDispatch } = require_mock_utils() var { kDispatches, kMockAgent, @@ -11371,120 +13157,139 @@ var require_mock_pool = __commonJS({ kOrigin, kOriginalDispatch, kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); + } = require_mock_symbols() + var { MockInterceptor } = require_mock_interceptor() + var Symbols = require_symbols() + var { InvalidArgumentError } = require_errors() var MockPool = class extends Pool { constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; + super(origin, opts) + if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError( + 'Argument opts.agent must implement Agent' + ) + } + this[kMockAgent] = opts.agent + this[kOrigin] = origin + this[kDispatches] = [] + this[kConnected] = 1 + this[kOriginalDispatch] = this.dispatch + this[kOriginalClose] = this.close.bind(this) + this.dispatch = buildMockDispatch.call(this) + this.close = this[kClose] } get [Symbols.kConnected]() { - return this[kConnected]; + return this[kConnected] } /** * Sets up the base interceptor for mocking replies from undici. */ intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); + return new MockInterceptor(opts, this[kDispatches]) } async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + await promisify(this[kOriginalClose])() + this[kConnected] = 0 + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]) } - }; - module2.exports = MockPool; + } + module2.exports = MockPool } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/pluralizer.js var require_pluralizer = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/pluralizer.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/pluralizer.js'( + exports, + module2 + ) { + 'use strict' var singulars = { - pronoun: "it", - is: "is", - was: "was", - this: "this" - }; + pronoun: 'it', + is: 'is', + was: 'was', + this: 'this' + } var plurals = { - pronoun: "they", - is: "are", - was: "were", - this: "these" - }; + pronoun: 'they', + is: 'are', + was: 'were', + this: 'these' + } module2.exports = class Pluralizer { constructor(singular, plural) { - this.singular = singular; - this.plural = plural; + this.singular = singular + this.plural = plural } pluralize(count) { - const one = count === 1; - const keys = one ? singulars : plurals; - const noun = one ? this.singular : this.plural; - return { ...keys, count, noun }; + const one = count === 1 + const keys = one ? singulars : plurals + const noun = one ? this.singular : this.plural + return { ...keys, count, noun } } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/pending-interceptors-formatter.js var require_pending_interceptors_formatter = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) { - "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/pending-interceptors-formatter.js'( + exports, + module2 + ) { + 'use strict' + var { Transform } = require('stream') + var { Console } = require('console') module2.exports = class PendingInterceptorsFormatter { constructor({ disableColors } = {}) { this.transform = new Transform({ transform(chunk, _enc, cb) { - cb(null, chunk); + cb(null, chunk) } - }); + }) this.logger = new Console({ stdout: this.transform, inspectOptions: { colors: !disableColors && !process.env.CI } - }); + }) } format(pendingInterceptors) { const withPrettyHeaders = pendingInterceptors.map( - ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ + ({ + method, + path, + data: { statusCode }, + persist, + times, + timesInvoked, + origin + }) => ({ Method: method, Origin: origin, Path: path, - "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", + 'Status code': statusCode, + Persistent: persist ? '\u2705' : '\u274C', Invocations: timesInvoked, Remaining: persist ? Infinity : times - timesInvoked }) - ); - this.logger.table(withPrettyHeaders); - return this.transform.read().toString(); + ) + this.logger.table(withPrettyHeaders) + return this.transform.read().toString() } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-agent.js var require_mock_agent = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-agent.js"(exports, module2) { - "use strict"; - var { kClients } = require_symbols(); - var Agent = require_agent(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/mock/mock-agent.js'( + exports, + module2 + ) { + 'use strict' + var { kClients } = require_symbols() + var Agent = require_agent() var { kAgent, kMockAgentSet, @@ -11495,201 +13300,240 @@ var require_mock_agent = __commonJS({ kGetNetConnect, kOptions, kFactory - } = require_mock_symbols(); - var MockClient = require_mock_client(); - var MockPool = require_mock_pool(); - var { matchValue, buildMockOptions } = require_mock_utils(); - var { InvalidArgumentError, UndiciError } = require_errors(); - var Dispatcher = require_dispatcher(); - var Pluralizer = require_pluralizer(); - var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); + } = require_mock_symbols() + var MockClient = require_mock_client() + var MockPool = require_mock_pool() + var { matchValue, buildMockOptions } = require_mock_utils() + var { InvalidArgumentError, UndiciError } = require_errors() + var Dispatcher = require_dispatcher() + var Pluralizer = require_pluralizer() + var PendingInterceptorsFormatter = require_pending_interceptors_formatter() var FakeWeakRef = class { constructor(value) { - this.value = value; + this.value = value } deref() { - return this.value; + return this.value } - }; + } var MockAgent = class extends Dispatcher { constructor(opts) { - super(opts); - this[kNetConnect] = true; - this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + super(opts) + this[kNetConnect] = true + this[kIsMockActive] = true + if (opts && opts.agent && typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError( + 'Argument opts.agent must implement Agent' + ) } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); - this[kAgent] = agent; - this[kClients] = agent[kClients]; - this[kOptions] = buildMockOptions(opts); + const agent = opts && opts.agent ? opts.agent : new Agent(opts) + this[kAgent] = agent + this[kClients] = agent[kClients] + this[kOptions] = buildMockOptions(opts) } get(origin) { - let dispatcher = this[kMockAgentGet](origin); + let dispatcher = this[kMockAgentGet](origin) if (!dispatcher) { - dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); + dispatcher = this[kFactory](origin) + this[kMockAgentSet](origin, dispatcher) } - return dispatcher; + return dispatcher } dispatch(opts, handler) { - this.get(opts.origin); - return this[kAgent].dispatch(opts, handler); + this.get(opts.origin) + return this[kAgent].dispatch(opts, handler) } async close() { - await this[kAgent].close(); - this[kClients].clear(); + await this[kAgent].close() + this[kClients].clear() } deactivate() { - this[kIsMockActive] = false; + this[kIsMockActive] = false } activate() { - this[kIsMockActive] = true; + this[kIsMockActive] = true } enableNetConnect(matcher) { - if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { + if ( + typeof matcher === 'string' || + typeof matcher === 'function' || + matcher instanceof RegExp + ) { if (Array.isArray(this[kNetConnect])) { - this[kNetConnect].push(matcher); + this[kNetConnect].push(matcher) } else { - this[kNetConnect] = [matcher]; + this[kNetConnect] = [matcher] } - } else if (typeof matcher === "undefined") { - this[kNetConnect] = true; + } else if (typeof matcher === 'undefined') { + this[kNetConnect] = true } else { - throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); + throw new InvalidArgumentError( + 'Unsupported matcher. Must be one of String|Function|RegExp.' + ) } } disableNetConnect() { - this[kNetConnect] = false; + this[kNetConnect] = false } // This is required to bypass issues caused by using global symbols - see: // https://github.com/nodejs/undici/issues/1447 get isMockActive() { - return this[kIsMockActive]; + return this[kIsMockActive] } [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(dispatcher)); + this[kClients].set(origin, new FakeWeakRef(dispatcher)) } [kFactory](origin) { - const mockOptions = Object.assign({ agent: this }, this[kOptions]); - return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); + const mockOptions = Object.assign({ agent: this }, this[kOptions]) + return this[kOptions] && this[kOptions].connections === 1 + ? new MockClient(origin, mockOptions) + : new MockPool(origin, mockOptions) } [kMockAgentGet](origin) { - const ref = this[kClients].get(origin); + const ref = this[kClients].get(origin) if (ref) { - return ref.deref(); + return ref.deref() } - if (typeof origin !== "string") { - const dispatcher = this[kFactory]("http://localhost:9999"); - this[kMockAgentSet](origin, dispatcher); - return dispatcher; + if (typeof origin !== 'string') { + const dispatcher = this[kFactory]('http://localhost:9999') + this[kMockAgentSet](origin, dispatcher) + return dispatcher } for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); - if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { - const dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; - return dispatcher; + const nonExplicitDispatcher = nonExplicitRef.deref() + if ( + nonExplicitDispatcher && + typeof keyMatcher !== 'string' && + matchValue(keyMatcher, origin) + ) { + const dispatcher = this[kFactory](origin) + this[kMockAgentSet](origin, dispatcher) + dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches] + return dispatcher } } } [kGetNetConnect]() { - return this[kNetConnect]; + return this[kNetConnect] } pendingInterceptors() { - const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + const mockAgentClients = this[kClients] + return Array.from(mockAgentClients.entries()) + .flatMap(([origin, scope]) => + scope + .deref() + [kDispatches].map((dispatch) => ({ ...dispatch, origin })) + ) + .filter(({ pending }) => pending) } - assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { - const pending = this.pendingInterceptors(); + assertNoPendingInterceptors({ + pendingInterceptorsFormatter = new PendingInterceptorsFormatter() + } = {}) { + const pending = this.pendingInterceptors() if (pending.length === 0) { - return; - } - const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); - throw new UndiciError(` + return + } + const pluralizer = new Pluralizer( + 'interceptor', + 'interceptors' + ).pluralize(pending.length) + throw new UndiciError( + ` ${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: ${pendingInterceptorsFormatter.format(pending)} -`.trim()); +`.trim() + ) } - }; - module2.exports = MockAgent; + } + module2.exports = MockAgent } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/proxy-agent.js var require_proxy_agent = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/proxy-agent.js"(exports, module2) { - "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); - var { URL: URL3 } = require("url"); - var Agent = require_agent(); - var Pool = require_pool(); - var DispatcherBase = require_dispatcher_base(); - var { InvalidArgumentError, RequestAbortedError } = require_errors(); - var buildConnector = require_connect(); - var kAgent = Symbol("proxy agent"); - var kClient = Symbol("proxy client"); - var kProxyHeaders = Symbol("proxy headers"); - var kRequestTls = Symbol("request tls settings"); - var kProxyTls = Symbol("proxy tls settings"); - var kConnectEndpoint = Symbol("connect endpoint function"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/proxy-agent.js'( + exports, + module2 + ) { + 'use strict' + var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols() + var { URL: URL3 } = require('url') + var Agent = require_agent() + var Pool = require_pool() + var DispatcherBase = require_dispatcher_base() + var { InvalidArgumentError, RequestAbortedError } = require_errors() + var buildConnector = require_connect() + var kAgent = Symbol('proxy agent') + var kClient = Symbol('proxy client') + var kProxyHeaders = Symbol('proxy headers') + var kRequestTls = Symbol('request tls settings') + var kProxyTls = Symbol('proxy tls settings') + var kConnectEndpoint = Symbol('connect endpoint function') function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; + return protocol === 'https:' ? 443 : 80 } function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; + if (typeof opts === 'string') { + opts = { uri: opts } } if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + throw new InvalidArgumentError('Proxy opts.uri is mandatory') } return { uri: opts.uri, - protocol: opts.protocol || "https" - }; + protocol: opts.protocol || 'https' + } } function defaultFactory(origin, opts) { - return new Pool(origin, opts); + return new Pool(origin, opts) } var ProxyAgent = class extends DispatcherBase { constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; + super(opts) + this[kProxy] = buildProxyOptions(opts) + this[kAgent] = new Agent(opts) + this[kInterceptors] = + opts.interceptors && + opts.interceptors.ProxyAgent && + Array.isArray(opts.interceptors.ProxyAgent) + ? opts.interceptors.ProxyAgent + : [] + if (typeof opts === 'string') { + opts = { uri: opts } } if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + throw new InvalidArgumentError('Proxy opts.uri is mandatory') } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); + const { clientFactory = defaultFactory } = opts + if (typeof clientFactory !== 'function') { + throw new InvalidArgumentError( + 'Proxy opts.clientFactory must be a function.' + ) } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; + this[kRequestTls] = opts.requestTls + this[kProxyTls] = opts.proxyTls + this[kProxyHeaders] = opts.headers || {} if (opts.auth && opts.token) { - throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); + throw new InvalidArgumentError( + 'opts.auth cannot be used in combination with opts.token' + ) } else if (opts.auth) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; + this[kProxyHeaders]['proxy-authorization'] = `Basic ${opts.auth}` } else if (opts.token) { - this[kProxyHeaders]["proxy-authorization"] = opts.token; + this[kProxyHeaders]['proxy-authorization'] = opts.token } - const resolvedUrl = new URL3(opts.uri); - const { origin, port, host } = resolvedUrl; - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); + const resolvedUrl = new URL3(opts.uri) + const { origin, port, host } = resolvedUrl + const connect = buildConnector({ ...opts.proxyTls }) + this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }) + this[kClient] = clientFactory(resolvedUrl, { connect }) this[kAgent] = new Agent({ ...opts, connect: async (opts2, callback) => { - let requestedHost = opts2.host; + let requestedHost = opts2.host if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; + requestedHost += `:${defaultProtocolPort(opts2.protocol)}` } try { const { socket, statusCode } = await this[kClient].connect({ @@ -11701,33 +13545,39 @@ var require_proxy_agent = __commonJS({ ...this[kProxyHeaders], host } - }); + }) if (statusCode !== 200) { - socket.on("error", () => { - }).destroy(); - callback(new RequestAbortedError("Proxy response !== 200 when HTTP Tunneling")); + socket.on('error', () => {}).destroy() + callback( + new RequestAbortedError( + 'Proxy response !== 200 when HTTP Tunneling' + ) + ) } - if (opts2.protocol !== "https:") { - callback(null, socket); - return; + if (opts2.protocol !== 'https:') { + callback(null, socket) + return } - let servername; + let servername if (this[kRequestTls]) { - servername = this[kRequestTls].servername; + servername = this[kRequestTls].servername } else { - servername = opts2.servername; + servername = opts2.servername } - this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); + this[kConnectEndpoint]( + { ...opts2, servername, httpSocket: socket }, + callback + ) } catch (err) { - callback(err); + callback(err) } } - }); + }) } dispatch(opts, handler) { - const { host } = new URL3(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); + const { host } = new URL3(opts.origin) + const headers = buildHeaders(opts.headers) + throwIfProxyAuthIsSent(headers) return this[kAgent].dispatch( { ...opts, @@ -11737,414 +13587,430 @@ var require_proxy_agent = __commonJS({ } }, handler - ); + ) } async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); + await this[kAgent].close() + await this[kClient].close() } async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); + await this[kAgent].destroy() + await this[kClient].destroy() } - }; + } function buildHeaders(headers) { if (Array.isArray(headers)) { - const headersPair = {}; + const headersPair = {} for (let i = 0; i < headers.length; i += 2) { - headersPair[headers[i]] = headers[i + 1]; + headersPair[headers[i]] = headers[i + 1] } - return headersPair; + return headersPair } - return headers; + return headers } function throwIfProxyAuthIsSent(headers) { - const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); + const existProxyAuth = + headers && + Object.keys(headers).find( + (key) => key.toLowerCase() === 'proxy-authorization' + ) if (existProxyAuth) { - throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); + throw new InvalidArgumentError( + 'Proxy-Authorization should be sent in ProxyAgent constructor' + ) } } - module2.exports = ProxyAgent; + module2.exports = ProxyAgent } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/global.js var require_global2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/global.js"(exports, module2) { - "use strict"; - var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors(); - var Agent = require_agent(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/global.js'( + exports, + module2 + ) { + 'use strict' + var globalDispatcher = Symbol.for('undici.globalDispatcher.1') + var { InvalidArgumentError } = require_errors() + var Agent = require_agent() if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); + setGlobalDispatcher(new Agent()) } function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); + if (!agent || typeof agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument agent must implement Agent') } Object.defineProperty(globalThis, globalDispatcher, { value: agent, writable: true, enumerable: false, configurable: false - }); + }) } function getGlobalDispatcher() { - return globalThis[globalDispatcher]; + return globalThis[globalDispatcher] } module2.exports = { setGlobalDispatcher, getGlobalDispatcher - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/handler/DecoratorHandler.js var require_DecoratorHandler = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/handler/DecoratorHandler.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/handler/DecoratorHandler.js'( + exports, + module2 + ) { + 'use strict' module2.exports = class DecoratorHandler { constructor(handler) { - this.handler = handler; + this.handler = handler } onConnect(...args) { - return this.handler.onConnect(...args); + return this.handler.onConnect(...args) } onError(...args) { - return this.handler.onError(...args); + return this.handler.onError(...args) } onUpgrade(...args) { - return this.handler.onUpgrade(...args); + return this.handler.onUpgrade(...args) } onHeaders(...args) { - return this.handler.onHeaders(...args); + return this.handler.onHeaders(...args) } onData(...args) { - return this.handler.onData(...args); + return this.handler.onData(...args) } onComplete(...args) { - return this.handler.onComplete(...args); + return this.handler.onComplete(...args) } onBodySent(...args) { - return this.handler.onBodySent(...args); + return this.handler.onBodySent(...args) } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/headers.js var require_headers = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/headers.js"(exports, module2) { - "use strict"; - var { kHeadersList } = require_symbols(); - var { kGuard } = require_symbols2(); - var { kEnumerableProperty } = require_util(); - var { - makeIterator, - isValidHeaderName, - isValidHeaderValue - } = require_util2(); - var { webidl } = require_webidl(); - var assert = require("assert"); - var kHeadersMap = Symbol("headers map"); - var kHeadersSortedMap = Symbol("headers map sorted"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/headers.js'( + exports, + module2 + ) { + 'use strict' + var { kHeadersList } = require_symbols() + var { kGuard } = require_symbols2() + var { kEnumerableProperty } = require_util() + var { makeIterator, isValidHeaderName, isValidHeaderValue } = + require_util2() + var { webidl } = require_webidl() + var assert = require('assert') + var kHeadersMap = Symbol('headers map') + var kHeadersSortedMap = Symbol('headers map sorted') function headerValueNormalize(potentialValue) { - let i = potentialValue.length; - while (/[\r\n\t ]/.test(potentialValue.charAt(--i))) - ; - return potentialValue.slice(0, i + 1).replace(/^[\r\n\t ]+/, ""); + let i = potentialValue.length + while (/[\r\n\t ]/.test(potentialValue.charAt(--i))); + return potentialValue.slice(0, i + 1).replace(/^[\r\n\t ]+/, '') } function fill(headers, object) { if (Array.isArray(object)) { for (const header of object) { if (header.length !== 2) { throw webidl.errors.exception({ - header: "Headers constructor", + header: 'Headers constructor', message: `expected name/value pair to be length 2, found ${header.length}.` - }); + }) } - headers.append(header[0], header[1]); + headers.append(header[0], header[1]) } - } else if (typeof object === "object" && object !== null) { + } else if (typeof object === 'object' && object !== null) { for (const [key, value] of Object.entries(object)) { - headers.append(key, value); + headers.append(key, value) } } else { throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] - }); + prefix: 'Headers constructor', + argument: 'Argument 1', + types: [ + 'sequence>', + 'record' + ] + }) } } var HeadersList = class _HeadersList { /** @type {[string, string][]|null} */ - cookies = null; + cookies = null constructor(init) { if (init instanceof _HeadersList) { - this[kHeadersMap] = new Map(init[kHeadersMap]); - this[kHeadersSortedMap] = init[kHeadersSortedMap]; - this.cookies = init.cookies; + this[kHeadersMap] = new Map(init[kHeadersMap]) + this[kHeadersSortedMap] = init[kHeadersSortedMap] + this.cookies = init.cookies } else { - this[kHeadersMap] = new Map(init); - this[kHeadersSortedMap] = null; + this[kHeadersMap] = new Map(init) + this[kHeadersSortedMap] = null } } // https://fetch.spec.whatwg.org/#header-list-contains contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); + name = name.toLowerCase() + return this[kHeadersMap].has(name) } clear() { - this[kHeadersMap].clear(); - this[kHeadersSortedMap] = null; - this.cookies = null; + this[kHeadersMap].clear() + this[kHeadersSortedMap] = null + this.cookies = null } // https://fetch.spec.whatwg.org/#concept-header-list-append append(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - const exists = this[kHeadersMap].get(lowercaseName); + this[kHeadersSortedMap] = null + const lowercaseName = name.toLowerCase() + const exists = this[kHeadersMap].get(lowercaseName) if (exists) { - const delimiter = lowercaseName === "cookie" ? "; " : ", "; + const delimiter = lowercaseName === 'cookie' ? '; ' : ', ' this[kHeadersMap].set(lowercaseName, { name: exists.name, value: `${exists.value}${delimiter}${value}` - }); + }) } else { - this[kHeadersMap].set(lowercaseName, { name, value }); + this[kHeadersMap].set(lowercaseName, { name, value }) } - if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); + if (lowercaseName === 'set-cookie') { + this.cookies ??= [] + this.cookies.push(value) } } // https://fetch.spec.whatwg.org/#concept-header-list-set set(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - if (lowercaseName === "set-cookie") { - this.cookies = [value]; + this[kHeadersSortedMap] = null + const lowercaseName = name.toLowerCase() + if (lowercaseName === 'set-cookie') { + this.cookies = [value] } - return this[kHeadersMap].set(lowercaseName, { name, value }); + return this[kHeadersMap].set(lowercaseName, { name, value }) } // https://fetch.spec.whatwg.org/#concept-header-list-delete delete(name) { - this[kHeadersSortedMap] = null; - name = name.toLowerCase(); - if (name === "set-cookie") { - this.cookies = null; + this[kHeadersSortedMap] = null + name = name.toLowerCase() + if (name === 'set-cookie') { + this.cookies = null } - return this[kHeadersMap].delete(name); + return this[kHeadersMap].delete(name) } // https://fetch.spec.whatwg.org/#concept-header-list-get get(name) { if (!this.contains(name)) { - return null; + return null } - return this[kHeadersMap].get(name.toLowerCase())?.value ?? null; + return this[kHeadersMap].get(name.toLowerCase())?.value ?? null } *[Symbol.iterator]() { for (const [name, { value }] of this[kHeadersMap]) { - yield [name, value]; + yield [name, value] } } get entries() { - const headers = {}; + const headers = {} if (this[kHeadersMap].size) { for (const { name, value } of this[kHeadersMap].values()) { - headers[name] = value; + headers[name] = value } } - return headers; + return headers } - }; + } var Headers = class _Headers { constructor(init = void 0) { - this[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; + this[kHeadersList] = new HeadersList() + this[kGuard] = 'none' if (init !== void 0) { - init = webidl.converters.HeadersInit(init); - fill(this, init); + init = webidl.converters.HeadersInit(init) + fill(this, init) } } // https://fetch.spec.whatwg.org/#dom-headers-append append(name, value) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.append' }) + name = webidl.converters.ByteString(name) + value = webidl.converters.ByteString(value) + value = headerValueNormalize(value) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.append", + prefix: 'Headers.append', value: name, - type: "header name" - }); + type: 'header name' + }) } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.append", + prefix: 'Headers.append', value, - type: "header value" - }); + type: 'header value' + }) } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { + if (this[kGuard] === 'immutable') { + throw new TypeError('immutable') + } else if (this[kGuard] === 'request-no-cors') { } - return this[kHeadersList].append(name, value); + return this[kHeadersList].append(name, value) } // https://fetch.spec.whatwg.org/#dom-headers-delete delete(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.delete' }) + name = webidl.converters.ByteString(name) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.delete", + prefix: 'Headers.delete', value: name, - type: "header name" - }); + type: 'header name' + }) } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { + if (this[kGuard] === 'immutable') { + throw new TypeError('immutable') + } else if (this[kGuard] === 'request-no-cors') { } if (!this[kHeadersList].contains(name)) { - return; + return } - return this[kHeadersList].delete(name); + return this[kHeadersList].delete(name) } // https://fetch.spec.whatwg.org/#dom-headers-get get(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.get' }) + name = webidl.converters.ByteString(name) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.get", + prefix: 'Headers.get', value: name, - type: "header name" - }); + type: 'header name' + }) } - return this[kHeadersList].get(name); + return this[kHeadersList].get(name) } // https://fetch.spec.whatwg.org/#dom-headers-has has(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.has' }) + name = webidl.converters.ByteString(name) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.has", + prefix: 'Headers.has', value: name, - type: "header name" - }); + type: 'header name' + }) } - return this[kHeadersList].contains(name); + return this[kHeadersList].contains(name) } // https://fetch.spec.whatwg.org/#dom-headers-set set(name, value) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.set' }) + name = webidl.converters.ByteString(name) + value = webidl.converters.ByteString(value) + value = headerValueNormalize(value) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix: 'Headers.set', value: name, - type: "header name" - }); + type: 'header name' + }) } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix: 'Headers.set', value, - type: "header value" - }); + type: 'header value' + }) } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { + if (this[kGuard] === 'immutable') { + throw new TypeError('immutable') + } else if (this[kGuard] === 'request-no-cors') { } - return this[kHeadersList].set(name, value); + return this[kHeadersList].set(name, value) } // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie getSetCookie() { - webidl.brandCheck(this, _Headers); - const list = this[kHeadersList].cookies; + webidl.brandCheck(this, _Headers) + const list = this[kHeadersList].cookies if (list) { - return [...list]; + return [...list] } - return []; + return [] } // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine get [kHeadersSortedMap]() { if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; + return this[kHeadersList][kHeadersSortedMap] } - const headers = []; - const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; + const headers = [] + const names = [...this[kHeadersList]].sort((a, b) => + a[0] < b[0] ? -1 : 1 + ) + const cookies = this[kHeadersList].cookies for (const [name, value] of names) { - if (name === "set-cookie") { + if (name === 'set-cookie') { for (const value2 of cookies) { - headers.push([name, value2]); + headers.push([name, value2]) } } else { - assert(value !== null); - headers.push([name, value]); + assert(value !== null) + headers.push([name, value]) } } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; + this[kHeadersList][kHeadersSortedMap] = headers + return headers } keys() { - webidl.brandCheck(this, _Headers); + webidl.brandCheck(this, _Headers) return makeIterator( () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); + 'Headers', + 'key' + ) } values() { - webidl.brandCheck(this, _Headers); + webidl.brandCheck(this, _Headers) return makeIterator( () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); + 'Headers', + 'value' + ) } entries() { - webidl.brandCheck(this, _Headers); + webidl.brandCheck(this, _Headers) return makeIterator( () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); + 'Headers', + 'key+value' + ) } /** * @param {(value: string, key: string, self: Headers) => void} callbackFn * @param {unknown} thisArg */ forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.forEach' }) + if (typeof callbackFn !== 'function') { throw new TypeError( "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); + ) } for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); + callbackFn.apply(thisArg, [value, key, this]) } } - [Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, _Headers); - return this[kHeadersList]; + [Symbol.for('nodejs.util.inspect.custom')]() { + webidl.brandCheck(this, _Headers) + return this[kHeadersList] } - }; - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + } + Headers.prototype[Symbol.iterator] = Headers.prototype.entries Object.defineProperties(Headers.prototype, { append: kEnumerableProperty, delete: kEnumerableProperty, @@ -12158,39 +14024,45 @@ var require_headers = __commonJS({ forEach: kEnumerableProperty, [Symbol.iterator]: { enumerable: false }, [Symbol.toStringTag]: { - value: "Headers", + value: 'Headers', configurable: true } - }); - webidl.converters.HeadersInit = function(V) { - if (webidl.util.Type(V) === "Object") { + }) + webidl.converters.HeadersInit = function (V) { + if (webidl.util.Type(V) === 'Object') { if (V[Symbol.iterator]) { - return webidl.converters["sequence>"](V); + return webidl.converters['sequence>'](V) } - return webidl.converters["record"](V); + return webidl.converters['record'](V) } throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] - }); - }; + prefix: 'Headers constructor', + argument: 'Argument 1', + types: [ + 'sequence>', + 'record' + ] + }) + } module2.exports = { fill, Headers, HeadersList - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/response.js var require_response = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/response.js"(exports, module2) { - "use strict"; - var { Headers, HeadersList, fill } = require_headers(); - var { extractBody, cloneBody, mixinBody } = require_body(); - var util = require_util(); - var { kEnumerableProperty } = util; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/response.js'( + exports, + module2 + ) { + 'use strict' + var { Headers, HeadersList, fill } = require_headers() + var { extractBody, cloneBody, mixinBody } = require_body() + var util = require_util() + var { kEnumerableProperty } = util var { isValidReasonPhrase, isCancelled, @@ -12199,165 +14071,176 @@ var require_response = __commonJS({ serializeJavascriptValueToJSONString, isErrorLike, isomorphicEncode - } = require_util2(); + } = require_util2() var { redirectStatusSet, nullBodyStatus, DOMException: DOMException2 - } = require_constants(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { FormData } = require_formdata(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList } = require_symbols(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream = globalThis.ReadableStream || require("stream/web").ReadableStream; - var textEncoder = new TextEncoder("utf-8"); + } = require_constants() + var { kState, kHeaders, kGuard, kRealm } = require_symbols2() + var { webidl } = require_webidl() + var { FormData } = require_formdata() + var { getGlobalOrigin } = require_global() + var { URLSerializer } = require_dataURL() + var { kHeadersList } = require_symbols() + var assert = require('assert') + var { types } = require('util') + var ReadableStream = + globalThis.ReadableStream || require('stream/web').ReadableStream + var textEncoder = new TextEncoder('utf-8') var Response = class _Response { // Creates network error Response. static error() { - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - return responseObject; + const relevantRealm = { settingsObject: {} } + const responseObject = new _Response() + responseObject[kState] = makeNetworkError() + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kHeadersList] = + responseObject[kState].headersList + responseObject[kHeaders][kGuard] = 'immutable' + responseObject[kHeaders][kRealm] = relevantRealm + return responseObject } // https://fetch.spec.whatwg.org/#dom-response-json static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + webidl.argumentLengthCheck(arguments, 1, { header: 'Response.json' }) if (init !== null) { - init = webidl.converters.ResponseInit(init); + init = webidl.converters.ResponseInit(init) } const bytes = textEncoder.encode( serializeJavascriptValueToJSONString(data) - ); - const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); - return responseObject; + ) + const body = extractBody(bytes) + const relevantRealm = { settingsObject: {} } + const responseObject = new _Response() + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kGuard] = 'response' + responseObject[kHeaders][kRealm] = relevantRealm + initializeResponse(responseObject, init, { + body: body[0], + type: 'application/json' + }) + return responseObject } // Creates a redirect Response that redirects to url with status status. static redirect(url, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); - url = webidl.converters.USVString(url); - status = webidl.converters["unsigned short"](status); - let parsedURL; + const relevantRealm = { settingsObject: {} } + webidl.argumentLengthCheck(arguments, 1, { + header: 'Response.redirect' + }) + url = webidl.converters.USVString(url) + status = webidl.converters['unsigned short'](status) + let parsedURL try { - parsedURL = new URL(url, getGlobalOrigin()); + parsedURL = new URL(url, getGlobalOrigin()) } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url), { - cause: err - }); + throw Object.assign( + new TypeError('Failed to parse URL from ' + url), + { + cause: err + } + ) } if (!redirectStatusSet.has(status)) { - throw new RangeError("Invalid status code " + status); + throw new RangeError('Invalid status code ' + status) } - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - responseObject[kState].status = status; - const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); - return responseObject; + const responseObject = new _Response() + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kGuard] = 'immutable' + responseObject[kHeaders][kRealm] = relevantRealm + responseObject[kState].status = status + const value = isomorphicEncode(URLSerializer(parsedURL)) + responseObject[kState].headersList.append('location', value) + return responseObject } // https://fetch.spec.whatwg.org/#dom-response constructor(body = null, init = {}) { if (body !== null) { - body = webidl.converters.BodyInit(body); - } - init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; - this[kState] = makeResponse({}); - this[kHeaders] = new Headers(); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; - let bodyWithType = null; + body = webidl.converters.BodyInit(body) + } + init = webidl.converters.ResponseInit(init) + this[kRealm] = { settingsObject: {} } + this[kState] = makeResponse({}) + this[kHeaders] = new Headers() + this[kHeaders][kGuard] = 'response' + this[kHeaders][kHeadersList] = this[kState].headersList + this[kHeaders][kRealm] = this[kRealm] + let bodyWithType = null if (body != null) { - const [extractedBody, type] = extractBody(body); - bodyWithType = { body: extractedBody, type }; + const [extractedBody, type] = extractBody(body) + bodyWithType = { body: extractedBody, type } } - initializeResponse(this, init, bodyWithType); + initializeResponse(this, init, bodyWithType) } // Returns response’s type, e.g., "cors". get type() { - webidl.brandCheck(this, _Response); - return this[kState].type; + webidl.brandCheck(this, _Response) + return this[kState].type } // Returns response’s URL, if it has one; otherwise the empty string. get url() { - webidl.brandCheck(this, _Response); - const urlList = this[kState].urlList; - const url = urlList[urlList.length - 1] ?? null; + webidl.brandCheck(this, _Response) + const urlList = this[kState].urlList + const url = urlList[urlList.length - 1] ?? null if (url === null) { - return ""; + return '' } - return URLSerializer(url, true); + return URLSerializer(url, true) } // Returns whether response was obtained through a redirect. get redirected() { - webidl.brandCheck(this, _Response); - return this[kState].urlList.length > 1; + webidl.brandCheck(this, _Response) + return this[kState].urlList.length > 1 } // Returns response’s status. get status() { - webidl.brandCheck(this, _Response); - return this[kState].status; + webidl.brandCheck(this, _Response) + return this[kState].status } // Returns whether response’s status is an ok status. get ok() { - webidl.brandCheck(this, _Response); - return this[kState].status >= 200 && this[kState].status <= 299; + webidl.brandCheck(this, _Response) + return this[kState].status >= 200 && this[kState].status <= 299 } // Returns response’s status message. get statusText() { - webidl.brandCheck(this, _Response); - return this[kState].statusText; + webidl.brandCheck(this, _Response) + return this[kState].statusText } // Returns response’s headers as Headers. get headers() { - webidl.brandCheck(this, _Response); - return this[kHeaders]; + webidl.brandCheck(this, _Response) + return this[kHeaders] } get body() { - webidl.brandCheck(this, _Response); - return this[kState].body ? this[kState].body.stream : null; + webidl.brandCheck(this, _Response) + return this[kState].body ? this[kState].body.stream : null } get bodyUsed() { - webidl.brandCheck(this, _Response); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + webidl.brandCheck(this, _Response) + return !!this[kState].body && util.isDisturbed(this[kState].body.stream) } // Returns a clone of response. clone() { - webidl.brandCheck(this, _Response); - if (this.bodyUsed || this.body && this.body.locked) { + webidl.brandCheck(this, _Response) + if (this.bodyUsed || (this.body && this.body.locked)) { throw webidl.errors.exception({ - header: "Response.clone", - message: "Body has already been consumed." - }); - } - const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new _Response(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; - } - }; - mixinBody(Response); + header: 'Response.clone', + message: 'Body has already been consumed.' + }) + } + const clonedResponse = cloneResponse(this[kState]) + const clonedResponseObject = new _Response() + clonedResponseObject[kState] = clonedResponse + clonedResponseObject[kRealm] = this[kRealm] + clonedResponseObject[kHeaders][kHeadersList] = + clonedResponse.headersList + clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard] + clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm] + return clonedResponseObject + } + } + mixinBody(Response) Object.defineProperties(Response.prototype, { type: kEnumerableProperty, url: kEnumerableProperty, @@ -12370,27 +14253,27 @@ var require_response = __commonJS({ body: kEnumerableProperty, bodyUsed: kEnumerableProperty, [Symbol.toStringTag]: { - value: "Response", + value: 'Response', configurable: true } - }); + }) Object.defineProperties(Response, { json: kEnumerableProperty, redirect: kEnumerableProperty, error: kEnumerableProperty - }); + }) function cloneResponse(response) { if (response.internalResponse) { return filterResponse( cloneResponse(response.internalResponse), response.type - ); + ) } - const newResponse = makeResponse({ ...response, body: null }); + const newResponse = makeResponse({ ...response, body: null }) if (response.body != null) { - newResponse.body = cloneBody(response.body); + newResponse.body = cloneBody(response.body) } - return newResponse; + return newResponse } function makeResponse(init) { return { @@ -12398,159 +14281,176 @@ var require_response = __commonJS({ rangeRequested: false, timingAllowPassed: false, requestIncludesCredentials: false, - type: "default", + type: 'default', status: 200, timingInfo: null, - cacheState: "", - statusText: "", + cacheState: '', + statusText: '', ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), + headersList: init.headersList + ? new HeadersList(init.headersList) + : new HeadersList(), urlList: init.urlList ? [...init.urlList] : [] - }; + } } function makeNetworkError(reason) { - const isError = isErrorLike(reason); + const isError = isErrorLike(reason) return makeResponse({ - type: "error", + type: 'error', status: 0, error: isError ? reason : new Error(reason ? String(reason) : reason), - aborted: reason && reason.name === "AbortError" - }); + aborted: reason && reason.name === 'AbortError' + }) } function makeFilteredResponse(response, state) { state = { internalResponse: response, ...state - }; + } return new Proxy(response, { get(target, p) { - return p in state ? state[p] : target[p]; + return p in state ? state[p] : target[p] }, set(target, p, value) { - assert(!(p in state)); - target[p] = value; - return true; + assert(!(p in state)) + target[p] = value + return true } - }); + }) } function filterResponse(response, type) { - if (type === "basic") { + if (type === 'basic') { return makeFilteredResponse(response, { - type: "basic", + type: 'basic', headersList: response.headersList - }); - } else if (type === "cors") { + }) + } else if (type === 'cors') { return makeFilteredResponse(response, { - type: "cors", + type: 'cors', headersList: response.headersList - }); - } else if (type === "opaque") { + }) + } else if (type === 'opaque') { return makeFilteredResponse(response, { - type: "opaque", + type: 'opaque', urlList: Object.freeze([]), status: 0, - statusText: "", + statusText: '', body: null - }); - } else if (type === "opaqueredirect") { + }) + } else if (type === 'opaqueredirect') { return makeFilteredResponse(response, { - type: "opaqueredirect", + type: 'opaqueredirect', status: 0, - statusText: "", + statusText: '', headersList: [], body: null - }); + }) } else { - assert(false); + assert(false) } } function makeAppropriateNetworkError(fetchParams, err = null) { - assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err })); + assert(isCancelled(fetchParams)) + return isAborted(fetchParams) + ? makeNetworkError( + Object.assign( + new DOMException2('The operation was aborted.', 'AbortError'), + { cause: err } + ) + ) + : makeNetworkError( + Object.assign(new DOMException2('Request was cancelled.'), { + cause: err + }) + ) } function initializeResponse(response, init, body) { if (init.status !== null && (init.status < 200 || init.status > 599)) { - throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); + throw new RangeError( + 'init["status"] must be in the range of 200 to 599, inclusive.' + ) } - if ("statusText" in init && init.statusText != null) { + if ('statusText' in init && init.statusText != null) { if (!isValidReasonPhrase(String(init.statusText))) { - throw new TypeError("Invalid statusText"); + throw new TypeError('Invalid statusText') } } - if ("status" in init && init.status != null) { - response[kState].status = init.status; + if ('status' in init && init.status != null) { + response[kState].status = init.status } - if ("statusText" in init && init.statusText != null) { - response[kState].statusText = init.statusText; + if ('statusText' in init && init.statusText != null) { + response[kState].statusText = init.statusText } - if ("headers" in init && init.headers != null) { - fill(response[kHeaders], init.headers); + if ('headers' in init && init.headers != null) { + fill(response[kHeaders], init.headers) } if (body) { if (nullBodyStatus.includes(response.status)) { throw webidl.errors.exception({ - header: "Response constructor", - message: "Invalid response status code " + response.status - }); + header: 'Response constructor', + message: 'Invalid response status code ' + response.status + }) } - response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); + response[kState].body = body.body + if ( + body.type != null && + !response[kState].headersList.contains('Content-Type') + ) { + response[kState].headersList.append('content-type', body.type) } } } - webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream - ); - webidl.converters.FormData = webidl.interfaceConverter( - FormData - ); - webidl.converters.URLSearchParams = webidl.interfaceConverter( - URLSearchParams - ); - webidl.converters.XMLHttpRequestBodyInit = function(V) { - if (typeof V === "string") { - return webidl.converters.USVString(V); + webidl.converters.ReadableStream = webidl.interfaceConverter(ReadableStream) + webidl.converters.FormData = webidl.interfaceConverter(FormData) + webidl.converters.URLSearchParams = + webidl.interfaceConverter(URLSearchParams) + webidl.converters.XMLHttpRequestBodyInit = function (V) { + if (typeof V === 'string') { + return webidl.converters.USVString(V) } if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, { strict: false }) } - if (types.isAnyArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) { - return webidl.converters.BufferSource(V); + if ( + types.isAnyArrayBuffer(V) || + types.isTypedArray(V) || + types.isDataView(V) + ) { + return webidl.converters.BufferSource(V) } if (util.isFormDataLike(V)) { - return webidl.converters.FormData(V, { strict: false }); + return webidl.converters.FormData(V, { strict: false }) } if (V instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V); + return webidl.converters.URLSearchParams(V) } - return webidl.converters.DOMString(V); - }; - webidl.converters.BodyInit = function(V) { + return webidl.converters.DOMString(V) + } + webidl.converters.BodyInit = function (V) { if (V instanceof ReadableStream) { - return webidl.converters.ReadableStream(V); + return webidl.converters.ReadableStream(V) } if (V?.[Symbol.asyncIterator]) { - return V; + return V } - return webidl.converters.XMLHttpRequestBodyInit(V); - }; + return webidl.converters.XMLHttpRequestBodyInit(V) + } webidl.converters.ResponseInit = webidl.dictionaryConverter([ { - key: "status", - converter: webidl.converters["unsigned short"], + key: 'status', + converter: webidl.converters['unsigned short'], defaultValue: 200 }, { - key: "statusText", + key: 'statusText', converter: webidl.converters.ByteString, - defaultValue: "" + defaultValue: '' }, { - key: "headers", + key: 'headers', converter: webidl.converters.HeadersInit } - ]); + ]) module2.exports = { makeNetworkError, makeResponse, @@ -12558,24 +14458,23 @@ var require_response = __commonJS({ filterResponse, Response, cloneResponse - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/request.js var require_request2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/request.js"(exports, module2) { - "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body(); - var { Headers, fill: fillHeaders, HeadersList } = require_headers(); - var { FinalizationRegistry } = require_dispatcher_weakref()(); - var util = require_util(); - var { - isValidHTTPToken, - sameOrigin, - normalizeMethod, - makePolicyContainer - } = require_util2(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/request.js'( + exports, + module2 + ) { + 'use strict' + var { extractBody, mixinBody, cloneBody } = require_body() + var { Headers, fill: fillHeaders, HeadersList } = require_headers() + var { FinalizationRegistry } = require_dispatcher_weakref()() + var util = require_util() + var { isValidHTTPToken, sameOrigin, normalizeMethod, makePolicyContainer } = + require_util2() var { forbiddenMethodsSet, corsSafeListedMethodsSet, @@ -12585,72 +14484,85 @@ var require_request2 = __commonJS({ requestCredentials, requestCache, requestDuplex - } = require_constants(); - var { kEnumerableProperty } = util; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList } = require_symbols(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream = globalThis.TransformStream; - var kInit = Symbol("init"); - var kAbortController = Symbol("abortController"); + } = require_constants() + var { kEnumerableProperty } = util + var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2() + var { webidl } = require_webidl() + var { getGlobalOrigin } = require_global() + var { URLSerializer } = require_dataURL() + var { kHeadersList } = require_symbols() + var assert = require('assert') + var { + getMaxListeners, + setMaxListeners, + getEventListeners, + defaultMaxListeners + } = require('events') + var TransformStream = globalThis.TransformStream + var kInit = Symbol('init') + var kAbortController = Symbol('abortController') var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => { - signal.removeEventListener("abort", abort); - }); + signal.removeEventListener('abort', abort) + }) var Request = class _Request { // https://fetch.spec.whatwg.org/#dom-request constructor(input, init = {}) { if (input === kInit) { - return; + return } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); + webidl.argumentLengthCheck(arguments, 1, { + header: 'Request constructor' + }) + input = webidl.converters.RequestInfo(input) + init = webidl.converters.RequestInit(init) this[kRealm] = { settingsObject: { baseUrl: getGlobalOrigin(), get origin() { - return this.baseUrl?.origin; + return this.baseUrl?.origin }, policyContainer: makePolicyContainer() } - }; - let request = null; - let fallbackMode = null; - const baseUrl = this[kRealm].settingsObject.baseUrl; - let signal = null; - if (typeof input === "string") { - let parsedURL; + } + let request = null + let fallbackMode = null + const baseUrl = this[kRealm].settingsObject.baseUrl + let signal = null + if (typeof input === 'string') { + let parsedURL try { - parsedURL = new URL(input, baseUrl); + parsedURL = new URL(input, baseUrl) } catch (err) { - throw new TypeError("Failed to parse URL from " + input, { cause: err }); + throw new TypeError('Failed to parse URL from ' + input, { + cause: err + }) } if (parsedURL.username || parsedURL.password) { throw new TypeError( - "Request cannot be constructed from a URL that includes credentials: " + input - ); + 'Request cannot be constructed from a URL that includes credentials: ' + + input + ) } - request = makeRequest({ urlList: [parsedURL] }); - fallbackMode = "cors"; + request = makeRequest({ urlList: [parsedURL] }) + fallbackMode = 'cors' } else { - assert(input instanceof _Request); - request = input[kState]; - signal = input[kSignal]; - } - const origin = this[kRealm].settingsObject.origin; - let window = "client"; - if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { - window = request.window; + assert(input instanceof _Request) + request = input[kState] + signal = input[kSignal] + } + const origin = this[kRealm].settingsObject.origin + let window = 'client' + if ( + request.window?.constructor?.name === 'EnvironmentSettingsObject' && + sameOrigin(request.window, origin) + ) { + window = request.window } if (init.window != null) { - throw new TypeError(`'window' option '${window}' must be null`); + throw new TypeError(`'window' option '${window}' must be null`) } - if ("window" in init) { - window = "no-window"; + if ('window' in init) { + window = 'no-window' } request = makeRequest({ // URL request’s URL. @@ -12694,217 +14606,247 @@ var require_request2 = __commonJS({ historyNavigation: request.historyNavigation, // URL list A clone of request’s URL list. urlList: [...request.urlList] - }); + }) if (Object.keys(init).length > 0) { - if (request.mode === "navigate") { - request.mode = "same-origin"; + if (request.mode === 'navigate') { + request.mode = 'same-origin' } - request.reloadNavigation = false; - request.historyNavigation = false; - request.origin = "client"; - request.referrer = "client"; - request.referrerPolicy = ""; - request.url = request.urlList[request.urlList.length - 1]; - request.urlList = [request.url]; + request.reloadNavigation = false + request.historyNavigation = false + request.origin = 'client' + request.referrer = 'client' + request.referrerPolicy = '' + request.url = request.urlList[request.urlList.length - 1] + request.urlList = [request.url] } if (init.referrer !== void 0) { - const referrer = init.referrer; - if (referrer === "") { - request.referrer = "no-referrer"; + const referrer = init.referrer + if (referrer === '') { + request.referrer = 'no-referrer' } else { - let parsedReferrer; + let parsedReferrer try { - parsedReferrer = new URL(referrer, baseUrl); + parsedReferrer = new URL(referrer, baseUrl) } catch (err) { - throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); + throw new TypeError( + `Referrer "${referrer}" is not a valid URL.`, + { cause: err } + ) } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { - request.referrer = "client"; + if ( + (parsedReferrer.protocol === 'about:' && + parsedReferrer.hostname === 'client') || + (origin && + !sameOrigin( + parsedReferrer, + this[kRealm].settingsObject.baseUrl + )) + ) { + request.referrer = 'client' } else { - request.referrer = parsedReferrer; + request.referrer = parsedReferrer } } } if (init.referrerPolicy !== void 0) { - request.referrerPolicy = init.referrerPolicy; + request.referrerPolicy = init.referrerPolicy } - let mode; + let mode if (init.mode !== void 0) { - mode = init.mode; + mode = init.mode } else { - mode = fallbackMode; + mode = fallbackMode } - if (mode === "navigate") { + if (mode === 'navigate') { throw webidl.errors.exception({ - header: "Request constructor", - message: "invalid request mode navigate." - }); + header: 'Request constructor', + message: 'invalid request mode navigate.' + }) } if (mode != null) { - request.mode = mode; + request.mode = mode } if (init.credentials !== void 0) { - request.credentials = init.credentials; + request.credentials = init.credentials } if (init.cache !== void 0) { - request.cache = init.cache; + request.cache = init.cache } - if (request.cache === "only-if-cached" && request.mode !== "same-origin") { + if ( + request.cache === 'only-if-cached' && + request.mode !== 'same-origin' + ) { throw new TypeError( "'only-if-cached' can be set only with 'same-origin' mode" - ); + ) } if (init.redirect !== void 0) { - request.redirect = init.redirect; + request.redirect = init.redirect } if (init.integrity !== void 0 && init.integrity != null) { - request.integrity = String(init.integrity); + request.integrity = String(init.integrity) } if (init.keepalive !== void 0) { - request.keepalive = Boolean(init.keepalive); + request.keepalive = Boolean(init.keepalive) } if (init.method !== void 0) { - let method = init.method; + let method = init.method if (!isValidHTTPToken(init.method)) { - throw TypeError(`'${init.method}' is not a valid HTTP method.`); + throw TypeError(`'${init.method}' is not a valid HTTP method.`) } if (forbiddenMethodsSet.has(method.toUpperCase())) { - throw TypeError(`'${init.method}' HTTP method is unsupported.`); + throw TypeError(`'${init.method}' HTTP method is unsupported.`) } - method = normalizeMethod(init.method); - request.method = method; + method = normalizeMethod(init.method) + request.method = method } if (init.signal !== void 0) { - signal = init.signal; + signal = init.signal } - this[kState] = request; - const ac = new AbortController(); - this[kSignal] = ac.signal; - this[kSignal][kRealm] = this[kRealm]; + this[kState] = request + const ac = new AbortController() + this[kSignal] = ac.signal + this[kSignal][kRealm] = this[kRealm] if (signal != null) { - if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { + if ( + !signal || + typeof signal.aborted !== 'boolean' || + typeof signal.addEventListener !== 'function' + ) { throw new TypeError( "Failed to construct 'Request': member signal is not of type AbortSignal." - ); + ) } if (signal.aborted) { - ac.abort(signal.reason); + ac.abort(signal.reason) } else { - this[kAbortController] = ac; - const acRef = new WeakRef(ac); - const abort = function() { - const ac2 = acRef.deref(); + this[kAbortController] = ac + const acRef = new WeakRef(ac) + const abort = function () { + const ac2 = acRef.deref() if (ac2 !== void 0) { - ac2.abort(this.reason); + ac2.abort(this.reason) } - }; + } try { - if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); - } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); + if ( + typeof getMaxListeners === 'function' && + getMaxListeners(signal) === defaultMaxListeners + ) { + setMaxListeners(100, signal) + } else if ( + getEventListeners(signal, 'abort').length >= defaultMaxListeners + ) { + setMaxListeners(100, signal) } - } catch { - } - util.addAbortListener(signal, abort); - requestFinalizer.register(ac, { signal, abort }); + } catch {} + util.addAbortListener(signal, abort) + requestFinalizer.register(ac, { signal, abort }) } } - this[kHeaders] = new Headers(); - this[kHeaders][kHeadersList] = request.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; - if (mode === "no-cors") { + this[kHeaders] = new Headers() + this[kHeaders][kHeadersList] = request.headersList + this[kHeaders][kGuard] = 'request' + this[kHeaders][kRealm] = this[kRealm] + if (mode === 'no-cors') { if (!corsSafeListedMethodsSet.has(request.method)) { throw new TypeError( `'${request.method} is unsupported in no-cors mode.` - ); + ) } - this[kHeaders][kGuard] = "request-no-cors"; + this[kHeaders][kGuard] = 'request-no-cors' } if (Object.keys(init).length !== 0) { - let headers = new Headers(this[kHeaders]); + let headers = new Headers(this[kHeaders]) if (init.headers !== void 0) { - headers = init.headers; + headers = init.headers } - this[kHeaders][kHeadersList].clear(); - if (headers.constructor.name === "Headers") { + this[kHeaders][kHeadersList].clear() + if (headers.constructor.name === 'Headers') { for (const [key, val] of headers) { - this[kHeaders].append(key, val); + this[kHeaders].append(key, val) } } else { - fillHeaders(this[kHeaders], headers); + fillHeaders(this[kHeaders], headers) } } - const inputBody = input instanceof _Request ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body."); + const inputBody = input instanceof _Request ? input[kState].body : null + if ( + (init.body != null || inputBody != null) && + (request.method === 'GET' || request.method === 'HEAD') + ) { + throw new TypeError('Request with GET/HEAD method cannot have body.') } - let initBody = null; + let initBody = null if (init.body != null) { const [extractedBody, contentType] = extractBody( init.body, request.keepalive - ); - initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { - this[kHeaders].append("content-type", contentType); + ) + initBody = extractedBody + if ( + contentType && + !this[kHeaders][kHeadersList].contains('content-type') + ) { + this[kHeaders].append('content-type', contentType) } } - const inputOrInitBody = initBody ?? inputBody; + const inputOrInitBody = initBody ?? inputBody if (inputOrInitBody != null && inputOrInitBody.source == null) { if (initBody != null && init.duplex == null) { - throw new TypeError("RequestInit: duplex option is required when sending a body."); + throw new TypeError( + 'RequestInit: duplex option is required when sending a body.' + ) } - if (request.mode !== "same-origin" && request.mode !== "cors") { + if (request.mode !== 'same-origin' && request.mode !== 'cors') { throw new TypeError( 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' - ); + ) } - request.useCORSPreflightFlag = true; + request.useCORSPreflightFlag = true } - let finalBody = inputOrInitBody; + let finalBody = inputOrInitBody if (initBody == null && inputBody != null) { if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) { throw new TypeError( - "Cannot construct a Request with a Request object that has already been used." - ); + 'Cannot construct a Request with a Request object that has already been used.' + ) } if (!TransformStream) { - TransformStream = require("stream/web").TransformStream; + TransformStream = require('stream/web').TransformStream } - const identityTransform = new TransformStream(); - inputBody.stream.pipeThrough(identityTransform); + const identityTransform = new TransformStream() + inputBody.stream.pipeThrough(identityTransform) finalBody = { source: inputBody.source, length: inputBody.length, stream: identityTransform.readable - }; + } } - this[kState].body = finalBody; + this[kState].body = finalBody } // Returns request’s HTTP method, which is "GET" by default. get method() { - webidl.brandCheck(this, _Request); - return this[kState].method; + webidl.brandCheck(this, _Request) + return this[kState].method } // Returns the URL of request as a string. get url() { - webidl.brandCheck(this, _Request); - return URLSerializer(this[kState].url); + webidl.brandCheck(this, _Request) + return URLSerializer(this[kState].url) } // Returns a Headers object consisting of the headers associated with request. // Note that headers added in the network layer by the user agent will not // be accounted for in this object, e.g., the "Host" header. get headers() { - webidl.brandCheck(this, _Request); - return this[kHeaders]; + webidl.brandCheck(this, _Request) + return this[kHeaders] } // Returns the kind of resource requested by request, e.g., "document" // or "script". get destination() { - webidl.brandCheck(this, _Request); - return this[kState].destination; + webidl.brandCheck(this, _Request) + return this[kState].destination } // Returns the referrer of request. Its value can be a same-origin URL if // explicitly set in init, the empty string to indicate no referrer, and @@ -12912,173 +14854,172 @@ var require_request2 = __commonJS({ // during fetching to determine the value of the `Referer` header of the // request being made. get referrer() { - webidl.brandCheck(this, _Request); - if (this[kState].referrer === "no-referrer") { - return ""; + webidl.brandCheck(this, _Request) + if (this[kState].referrer === 'no-referrer') { + return '' } - if (this[kState].referrer === "client") { - return "about:client"; + if (this[kState].referrer === 'client') { + return 'about:client' } - return this[kState].referrer.toString(); + return this[kState].referrer.toString() } // Returns the referrer policy associated with request. // This is used during fetching to compute the value of the request’s // referrer. get referrerPolicy() { - webidl.brandCheck(this, _Request); - return this[kState].referrerPolicy; + webidl.brandCheck(this, _Request) + return this[kState].referrerPolicy } // Returns the mode associated with request, which is a string indicating // whether the request will use CORS, or will be restricted to same-origin // URLs. get mode() { - webidl.brandCheck(this, _Request); - return this[kState].mode; + webidl.brandCheck(this, _Request) + return this[kState].mode } // Returns the credentials mode associated with request, // which is a string indicating whether credentials will be sent with the // request always, never, or only when sent to a same-origin URL. get credentials() { - return this[kState].credentials; + return this[kState].credentials } // Returns the cache mode associated with request, // which is a string indicating how the request will // interact with the browser’s cache when fetching. get cache() { - webidl.brandCheck(this, _Request); - return this[kState].cache; + webidl.brandCheck(this, _Request) + return this[kState].cache } // Returns the redirect mode associated with request, // which is a string indicating how redirects for the // request will be handled during fetching. A request // will follow redirects by default. get redirect() { - webidl.brandCheck(this, _Request); - return this[kState].redirect; + webidl.brandCheck(this, _Request) + return this[kState].redirect } // Returns request’s subresource integrity metadata, which is a // cryptographic hash of the resource being fetched. Its value // consists of multiple hashes separated by whitespace. [SRI] get integrity() { - webidl.brandCheck(this, _Request); - return this[kState].integrity; + webidl.brandCheck(this, _Request) + return this[kState].integrity } // Returns a boolean indicating whether or not request can outlive the // global in which it was created. get keepalive() { - webidl.brandCheck(this, _Request); - return this[kState].keepalive; + webidl.brandCheck(this, _Request) + return this[kState].keepalive } // Returns a boolean indicating whether or not request is for a reload // navigation. get isReloadNavigation() { - webidl.brandCheck(this, _Request); - return this[kState].reloadNavigation; + webidl.brandCheck(this, _Request) + return this[kState].reloadNavigation } // Returns a boolean indicating whether or not request is for a history // navigation (a.k.a. back-foward navigation). get isHistoryNavigation() { - webidl.brandCheck(this, _Request); - return this[kState].historyNavigation; + webidl.brandCheck(this, _Request) + return this[kState].historyNavigation } // Returns the signal associated with request, which is an AbortSignal // object indicating whether or not request has been aborted, and its // abort event handler. get signal() { - webidl.brandCheck(this, _Request); - return this[kSignal]; + webidl.brandCheck(this, _Request) + return this[kSignal] } get body() { - webidl.brandCheck(this, _Request); - return this[kState].body ? this[kState].body.stream : null; + webidl.brandCheck(this, _Request) + return this[kState].body ? this[kState].body.stream : null } get bodyUsed() { - webidl.brandCheck(this, _Request); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + webidl.brandCheck(this, _Request) + return !!this[kState].body && util.isDisturbed(this[kState].body.stream) } get duplex() { - webidl.brandCheck(this, _Request); - return "half"; + webidl.brandCheck(this, _Request) + return 'half' } // Returns a clone of request. clone() { - webidl.brandCheck(this, _Request); + webidl.brandCheck(this, _Request) if (this.bodyUsed || this.body?.locked) { - throw new TypeError("unusable"); - } - const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new _Request(kInit); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers(); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - const ac = new AbortController(); + throw new TypeError('unusable') + } + const clonedRequest = cloneRequest(this[kState]) + const clonedRequestObject = new _Request(kInit) + clonedRequestObject[kState] = clonedRequest + clonedRequestObject[kRealm] = this[kRealm] + clonedRequestObject[kHeaders] = new Headers() + clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList + clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard] + clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm] + const ac = new AbortController() if (this.signal.aborted) { - ac.abort(this.signal.reason); + ac.abort(this.signal.reason) } else { - util.addAbortListener( - this.signal, - () => { - ac.abort(this.signal.reason); - } - ); + util.addAbortListener(this.signal, () => { + ac.abort(this.signal.reason) + }) } - clonedRequestObject[kSignal] = ac.signal; - return clonedRequestObject; + clonedRequestObject[kSignal] = ac.signal + return clonedRequestObject } - }; - mixinBody(Request); + } + mixinBody(Request) function makeRequest(init) { const request = { - method: "GET", + method: 'GET', localURLsOnly: false, unsafeRequest: false, body: null, client: null, reservedClient: null, - replacesClientId: "", - window: "client", + replacesClientId: '', + window: 'client', keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", + serviceWorkers: 'all', + initiator: '', + destination: '', priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", + origin: 'client', + policyContainer: 'client', + referrer: 'client', + referrerPolicy: '', + mode: 'no-cors', useCORSPreflightFlag: false, - credentials: "same-origin", + credentials: 'same-origin', useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", + cache: 'default', + redirect: 'follow', + integrity: '', + cryptoGraphicsNonceMetadata: '', + parserMetadata: '', reloadNavigation: false, historyNavigation: false, userActivation: false, taintedOrigin: false, redirectCount: 0, - responseTainting: "basic", + responseTainting: 'basic', preventNoCacheCacheControlHeaderModification: false, done: false, timingAllowFailed: false, ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() - }; - request.url = request.urlList[0]; - return request; + headersList: init.headersList + ? new HeadersList(init.headersList) + : new HeadersList() + } + request.url = request.urlList[0] + return request } function cloneRequest(request) { - const newRequest = makeRequest({ ...request, body: null }); + const newRequest = makeRequest({ ...request, body: null }) if (request.body != null) { - newRequest.body = cloneBody(request.body); + newRequest.body = cloneBody(request.body) } - return newRequest; + return newRequest } Object.defineProperties(Request.prototype, { method: kEnumerableProperty, @@ -13102,119 +15043,113 @@ var require_request2 = __commonJS({ referrer: kEnumerableProperty, mode: kEnumerableProperty, [Symbol.toStringTag]: { - value: "Request", + value: 'Request', configurable: true } - }); - webidl.converters.Request = webidl.interfaceConverter( - Request - ); - webidl.converters.RequestInfo = function(V) { - if (typeof V === "string") { - return webidl.converters.USVString(V); + }) + webidl.converters.Request = webidl.interfaceConverter(Request) + webidl.converters.RequestInfo = function (V) { + if (typeof V === 'string') { + return webidl.converters.USVString(V) } if (V instanceof Request) { - return webidl.converters.Request(V); + return webidl.converters.Request(V) } - return webidl.converters.USVString(V); - }; - webidl.converters.AbortSignal = webidl.interfaceConverter( - AbortSignal - ); + return webidl.converters.USVString(V) + } + webidl.converters.AbortSignal = webidl.interfaceConverter(AbortSignal) webidl.converters.RequestInit = webidl.dictionaryConverter([ { - key: "method", + key: 'method', converter: webidl.converters.ByteString }, { - key: "headers", + key: 'headers', converter: webidl.converters.HeadersInit }, { - key: "body", - converter: webidl.nullableConverter( - webidl.converters.BodyInit - ) + key: 'body', + converter: webidl.nullableConverter(webidl.converters.BodyInit) }, { - key: "referrer", + key: 'referrer', converter: webidl.converters.USVString }, { - key: "referrerPolicy", + key: 'referrerPolicy', converter: webidl.converters.DOMString, // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy allowedValues: referrerPolicy }, { - key: "mode", + key: 'mode', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#concept-request-mode allowedValues: requestMode }, { - key: "credentials", + key: 'credentials', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#requestcredentials allowedValues: requestCredentials }, { - key: "cache", + key: 'cache', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#requestcache allowedValues: requestCache }, { - key: "redirect", + key: 'redirect', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#requestredirect allowedValues: requestRedirect }, { - key: "integrity", + key: 'integrity', converter: webidl.converters.DOMString }, { - key: "keepalive", + key: 'keepalive', converter: webidl.converters.boolean }, { - key: "signal", - converter: webidl.nullableConverter( - (signal) => webidl.converters.AbortSignal( - signal, - { strict: false } - ) + key: 'signal', + converter: webidl.nullableConverter((signal) => + webidl.converters.AbortSignal(signal, { strict: false }) ) }, { - key: "window", + key: 'window', converter: webidl.converters.any }, { - key: "duplex", + key: 'duplex', converter: webidl.converters.DOMString, allowedValues: requestDuplex } - ]); - module2.exports = { Request, makeRequest }; + ]) + module2.exports = { Request, makeRequest } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/index.js var require_fetch = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/index.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fetch/index.js'( + exports, + module2 + ) { + 'use strict' var { Response, makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse - } = require_response(); - var { Headers } = require_headers(); - var { Request, makeRequest } = require_request2(); - var zlib = require("zlib"); + } = require_response() + var { Headers } = require_headers() + var { Request, makeRequest } = require_request2() + var zlib = require('zlib') var { bytesMatch, makePolicyContainer, @@ -13244,10 +15179,10 @@ var require_fetch = __commonJS({ urlIsLocal, urlIsHttpHttpsScheme, urlHasHttpsScheme - } = require_util2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var assert = require("assert"); - var { safelyExtractBody } = require_body(); + } = require_util2() + var { kState, kHeaders, kGuard, kRealm } = require_symbols2() + var assert = require('assert') + var { safelyExtractBody } = require_body() var { redirectStatusSet, nullBodyStatus, @@ -13255,175 +15190,193 @@ var require_fetch = __commonJS({ requestBodyHeader, subresourceSet, DOMException: DOMException2 - } = require_constants(); - var { kHeadersList } = require_symbols(); - var EE = require("events"); - var { Readable, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL(); - var { TransformStream } = require("stream/web"); - var { getGlobalDispatcher } = require_global2(); - var { webidl } = require_webidl(); - var { STATUS_CODES } = require("http"); - var GET_OR_HEAD = ["GET", "HEAD"]; - var resolveObjectURL; - var ReadableStream = globalThis.ReadableStream; + } = require_constants() + var { kHeadersList } = require_symbols() + var EE = require('events') + var { Readable, pipeline } = require('stream') + var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = + require_util() + var { dataURLProcessor, serializeAMimeType } = require_dataURL() + var { TransformStream } = require('stream/web') + var { getGlobalDispatcher } = require_global2() + var { webidl } = require_webidl() + var { STATUS_CODES } = require('http') + var GET_OR_HEAD = ['GET', 'HEAD'] + var resolveObjectURL + var ReadableStream = globalThis.ReadableStream var Fetch = class extends EE { constructor(dispatcher) { - super(); - this.dispatcher = dispatcher; - this.connection = null; - this.dump = false; - this.state = "ongoing"; - this.setMaxListeners(21); + super() + this.dispatcher = dispatcher + this.connection = null + this.dump = false + this.state = 'ongoing' + this.setMaxListeners(21) } terminate(reason) { - if (this.state !== "ongoing") { - return; + if (this.state !== 'ongoing') { + return } - this.state = "terminated"; - this.connection?.destroy(reason); - this.emit("terminated", reason); + this.state = 'terminated' + this.connection?.destroy(reason) + this.emit('terminated', reason) } // https://fetch.spec.whatwg.org/#fetch-controller-abort abort(error) { - if (this.state !== "ongoing") { - return; + if (this.state !== 'ongoing') { + return } - this.state = "aborted"; + this.state = 'aborted' if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); + error = new DOMException2('The operation was aborted.', 'AbortError') } - this.serializedAbortReason = error; - this.connection?.destroy(error); - this.emit("terminated", error); + this.serializedAbortReason = error + this.connection?.destroy(error) + this.emit('terminated', error) } - }; + } function fetch(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p = createDeferredPromise(); - let requestObject; + webidl.argumentLengthCheck(arguments, 1, { header: 'globalThis.fetch' }) + const p = createDeferredPromise() + let requestObject try { - requestObject = new Request(input, init); + requestObject = new Request(input, init) } catch (e) { - p.reject(e); - return p.promise; + p.reject(e) + return p.promise } - const request = requestObject[kState]; + const request = requestObject[kState] if (requestObject.signal.aborted) { - abortFetch(p, request, null, requestObject.signal.reason); - return p.promise; - } - const globalObject = request.client.globalObject; - if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { - request.serviceWorkers = "none"; - } - let responseObject = null; - const relevantRealm = null; - let locallyAborted = false; - let controller = null; - addAbortListener( - requestObject.signal, - () => { - locallyAborted = true; - assert(controller != null); - controller.abort(requestObject.signal.reason); - abortFetch(p, request, responseObject, requestObject.signal.reason); - } - ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); + abortFetch(p, request, null, requestObject.signal.reason) + return p.promise + } + const globalObject = request.client.globalObject + if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') { + request.serviceWorkers = 'none' + } + let responseObject = null + const relevantRealm = null + let locallyAborted = false + let controller = null + addAbortListener(requestObject.signal, () => { + locallyAborted = true + assert(controller != null) + controller.abort(requestObject.signal.reason) + abortFetch(p, request, responseObject, requestObject.signal.reason) + }) + const handleFetchDone = (response) => + finalizeAndReportTiming(response, 'fetch') const processResponse = (response) => { if (locallyAborted) { - return Promise.resolve(); + return Promise.resolve() } if (response.aborted) { - abortFetch(p, request, responseObject, controller.serializedAbortReason); - return Promise.resolve(); + abortFetch( + p, + request, + responseObject, + controller.serializedAbortReason + ) + return Promise.resolve() } - if (response.type === "error") { + if (response.type === 'error') { p.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); - } - responseObject = new Response(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p.resolve(responseObject); - }; + Object.assign(new TypeError('fetch failed'), { + cause: response.error + }) + ) + return Promise.resolve() + } + responseObject = new Response() + responseObject[kState] = response + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kHeadersList] = response.headersList + responseObject[kHeaders][kGuard] = 'immutable' + responseObject[kHeaders][kRealm] = relevantRealm + p.resolve(responseObject) + } controller = fetching({ request, processResponseEndOfBody: handleFetchDone, processResponse, dispatcher: init.dispatcher ?? getGlobalDispatcher() // undici - }); - return p.promise; + }) + return p.promise } - function finalizeAndReportTiming(response, initiatorType = "other") { - if (response.type === "error" && response.aborted) { - return; + function finalizeAndReportTiming(response, initiatorType = 'other') { + if (response.type === 'error' && response.aborted) { + return } if (!response.urlList?.length) { - return; + return } - const originalURL = response.urlList[0]; - let timingInfo = response.timingInfo; - let cacheState = response.cacheState; + const originalURL = response.urlList[0] + let timingInfo = response.timingInfo + let cacheState = response.cacheState if (!urlIsHttpHttpsScheme(originalURL)) { - return; + return } if (timingInfo === null) { - return; + return } if (!timingInfo.timingAllowPassed) { timingInfo = createOpaqueTimingInfo({ startTime: timingInfo.startTime - }); - cacheState = ""; + }) + cacheState = '' } - timingInfo.endTime = coarsenedSharedCurrentTime(); - response.timingInfo = timingInfo; + timingInfo.endTime = coarsenedSharedCurrentTime() + response.timingInfo = timingInfo markResourceTiming( timingInfo, originalURL, initiatorType, globalThis, cacheState - ); - } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); + ) + } + function markResourceTiming( + timingInfo, + originalURL, + initiatorType, + globalThis2, + cacheState + ) { + if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) { + performance.markResourceTiming( + timingInfo, + originalURL.href, + initiatorType, + globalThis2, + cacheState + ) } } function abortFetch(p, request, responseObject, error) { if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); + error = new DOMException2('The operation was aborted.', 'AbortError') } - p.reject(error); + p.reject(error) if (request.body != null && isReadable(request.body?.stream)) { request.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; + if (err.code === 'ERR_INVALID_STATE') { + return } - throw err; - }); + throw err + }) } if (responseObject == null) { - return; + return } - const response = responseObject[kState]; + const response = responseObject[kState] if (response.body != null && isReadable(response.body?.stream)) { response.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; + if (err.code === 'ERR_INVALID_STATE') { + return } - throw err; - }); + throw err + }) } } function fetching({ @@ -13437,16 +15390,19 @@ var require_fetch = __commonJS({ dispatcher // undici }) { - let taskDestination = null; - let crossOriginIsolatedCapability = false; + let taskDestination = null + let crossOriginIsolatedCapability = false if (request.client != null) { - taskDestination = request.client.globalObject; - crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; + taskDestination = request.client.globalObject + crossOriginIsolatedCapability = + request.client.crossOriginIsolatedCapability } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const currenTime = coarsenedSharedCurrentTime( + crossOriginIsolatedCapability + ) const timingInfo = createOpaqueTimingInfo({ startTime: currenTime - }); + }) const fetchParams = { controller: new Fetch(dispatcher), request, @@ -13458,455 +15414,553 @@ var require_fetch = __commonJS({ processResponseEndOfBody, taskDestination, crossOriginIsolatedCapability - }; - assert(!request.body || request.body.stream); - if (request.window === "client") { - request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; } - if (request.origin === "client") { - request.origin = request.client?.origin; + assert(!request.body || request.body.stream) + if (request.window === 'client') { + request.window = + request.client?.globalObject?.constructor?.name === 'Window' + ? request.client + : 'no-window' } - if (request.policyContainer === "client") { + if (request.origin === 'client') { + request.origin = request.client?.origin + } + if (request.policyContainer === 'client') { if (request.client != null) { request.policyContainer = clonePolicyContainer( request.client.policyContainer - ); + ) } else { - request.policyContainer = makePolicyContainer(); + request.policyContainer = makePolicyContainer() } } - if (!request.headersList.contains("accept")) { - const value = "*/*"; - request.headersList.append("accept", value); + if (!request.headersList.contains('accept')) { + const value = '*/*' + request.headersList.append('accept', value) } - if (!request.headersList.contains("accept-language")) { - request.headersList.append("accept-language", "*"); + if (!request.headersList.contains('accept-language')) { + request.headersList.append('accept-language', '*') } if (request.priority === null) { } if (subresourceSet.has(request.destination)) { } mainFetch(fetchParams).catch((err) => { - fetchParams.controller.terminate(err); - }); - return fetchParams.controller; + fetchParams.controller.terminate(err) + }) + return fetchParams.controller } async function mainFetch(fetchParams, recursive = false) { - const request = fetchParams.request; - let response = null; + const request = fetchParams.request + let response = null if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { - response = makeNetworkError("local URLs only"); + response = makeNetworkError('local URLs only') } - tryUpgradeRequestToAPotentiallyTrustworthyURL(request); - if (requestBadPort(request) === "blocked") { - response = makeNetworkError("bad port"); + tryUpgradeRequestToAPotentiallyTrustworthyURL(request) + if (requestBadPort(request) === 'blocked') { + response = makeNetworkError('bad port') } - if (request.referrerPolicy === "") { - request.referrerPolicy = request.policyContainer.referrerPolicy; + if (request.referrerPolicy === '') { + request.referrerPolicy = request.policyContainer.referrerPolicy } - if (request.referrer !== "no-referrer") { - request.referrer = determineRequestsReferrer(request); + if (request.referrer !== 'no-referrer') { + request.referrer = determineRequestsReferrer(request) } if (response === null) { response = await (async () => { - const currentURL = requestCurrentURL(request); + const currentURL = requestCurrentURL(request) if ( // - request’s current URL’s origin is same origin with request’s origin, // and request’s response tainting is "basic" - sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data" - currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" - (request.mode === "navigate" || request.mode === "websocket") + (sameOrigin(currentURL, request.url) && + request.responseTainting === 'basic') || // request’s current URL’s scheme is "data" + currentURL.protocol === 'data:' || // - request’s mode is "navigate" or "websocket" + request.mode === 'navigate' || + request.mode === 'websocket' ) { - request.responseTainting = "basic"; - return await schemeFetch(fetchParams); + request.responseTainting = 'basic' + return await schemeFetch(fetchParams) } - if (request.mode === "same-origin") { - return makeNetworkError('request mode cannot be "same-origin"'); + if (request.mode === 'same-origin') { + return makeNetworkError('request mode cannot be "same-origin"') } - if (request.mode === "no-cors") { - if (request.redirect !== "follow") { + if (request.mode === 'no-cors') { + if (request.redirect !== 'follow') { return makeNetworkError( 'redirect mode cannot be "follow" for "no-cors" request' - ); + ) } - request.responseTainting = "opaque"; - return await schemeFetch(fetchParams); + request.responseTainting = 'opaque' + return await schemeFetch(fetchParams) } if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { - return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + return makeNetworkError('URL scheme must be a HTTP(S) scheme') } - request.responseTainting = "cors"; - return await httpFetch(fetchParams); - })(); + request.responseTainting = 'cors' + return await httpFetch(fetchParams) + })() } if (recursive) { - return response; + return response } if (response.status !== 0 && !response.internalResponse) { - if (request.responseTainting === "cors") { - } - if (request.responseTainting === "basic") { - response = filterResponse(response, "basic"); - } else if (request.responseTainting === "cors") { - response = filterResponse(response, "cors"); - } else if (request.responseTainting === "opaque") { - response = filterResponse(response, "opaque"); + if (request.responseTainting === 'cors') { + } + if (request.responseTainting === 'basic') { + response = filterResponse(response, 'basic') + } else if (request.responseTainting === 'cors') { + response = filterResponse(response, 'cors') + } else if (request.responseTainting === 'opaque') { + response = filterResponse(response, 'opaque') } else { - assert(false); + assert(false) } } - let internalResponse = response.status === 0 ? response : response.internalResponse; + let internalResponse = + response.status === 0 ? response : response.internalResponse if (internalResponse.urlList.length === 0) { - internalResponse.urlList.push(...request.urlList); + internalResponse.urlList.push(...request.urlList) } if (!request.timingAllowFailed) { - response.timingAllowPassed = true; + response.timingAllowPassed = true } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { - response = internalResponse = makeNetworkError(); + if ( + response.type === 'opaque' && + internalResponse.status === 206 && + internalResponse.rangeRequested && + !request.headers.contains('range') + ) { + response = internalResponse = makeNetworkError() } - if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { - internalResponse.body = null; - fetchParams.controller.dump = true; + if ( + response.status !== 0 && + (request.method === 'HEAD' || + request.method === 'CONNECT' || + nullBodyStatus.includes(internalResponse.status)) + ) { + internalResponse.body = null + fetchParams.controller.dump = true } if (request.integrity) { - const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); - if (request.responseTainting === "opaque" || response.body == null) { - processBodyError(response.error); - return; + const processBodyError = (reason) => + fetchFinale(fetchParams, makeNetworkError(reason)) + if (request.responseTainting === 'opaque' || response.body == null) { + processBodyError(response.error) + return } const processBody = (bytes) => { if (!bytesMatch(bytes, request.integrity)) { - processBodyError("integrity mismatch"); - return; + processBodyError('integrity mismatch') + return } - response.body = safelyExtractBody(bytes)[0]; - fetchFinale(fetchParams, response); - }; - await fullyReadBody(response.body, processBody, processBodyError); + response.body = safelyExtractBody(bytes)[0] + fetchFinale(fetchParams, response) + } + await fullyReadBody(response.body, processBody, processBodyError) } else { - fetchFinale(fetchParams, response); + fetchFinale(fetchParams, response) } } function schemeFetch(fetchParams) { if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { - return Promise.resolve(makeAppropriateNetworkError(fetchParams)); + return Promise.resolve(makeAppropriateNetworkError(fetchParams)) } - const { request } = fetchParams; - const { protocol: scheme } = requestCurrentURL(request); + const { request } = fetchParams + const { protocol: scheme } = requestCurrentURL(request) switch (scheme) { - case "about:": { - return Promise.resolve(makeNetworkError("about scheme is not supported")); + case 'about:': { + return Promise.resolve( + makeNetworkError('about scheme is not supported') + ) } - case "blob:": { + case 'blob:': { if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; + resolveObjectURL = require('buffer').resolveObjectURL } - const blobURLEntry = requestCurrentURL(request); + const blobURLEntry = requestCurrentURL(request) if (blobURLEntry.search.length !== 0) { - return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); + return Promise.resolve( + makeNetworkError( + 'NetworkError when attempting to fetch resource.' + ) + ) } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) { - return Promise.resolve(makeNetworkError("invalid method")); + const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()) + if (request.method !== 'GET' || !isBlobLike(blobURLEntryObject)) { + return Promise.resolve(makeNetworkError('invalid method')) } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type = bodyWithType[1] ?? ""; + const bodyWithType = safelyExtractBody(blobURLEntryObject) + const body = bodyWithType[0] + const length = isomorphicEncode(`${body.length}`) + const type = bodyWithType[1] ?? '' const response = makeResponse({ - statusText: "OK", + statusText: 'OK', headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type }] + ['content-length', { name: 'Content-Length', value: length }], + ['content-type', { name: 'Content-Type', value: type }] ] - }); - response.body = body; - return Promise.resolve(response); - } - case "data:": { - const currentURL = requestCurrentURL(request); - const dataURLStruct = dataURLProcessor(currentURL); - if (dataURLStruct === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); - } - const mimeType = serializeAMimeType(dataURLStruct.mimeType); - return Promise.resolve(makeResponse({ - statusText: "OK", - headersList: [ - ["content-type", { name: "Content-Type", value: mimeType }] - ], - body: safelyExtractBody(dataURLStruct.body)[0] - })); + }) + response.body = body + return Promise.resolve(response) + } + case 'data:': { + const currentURL = requestCurrentURL(request) + const dataURLStruct = dataURLProcessor(currentURL) + if (dataURLStruct === 'failure') { + return Promise.resolve( + makeNetworkError('failed to fetch the data URL') + ) + } + const mimeType = serializeAMimeType(dataURLStruct.mimeType) + return Promise.resolve( + makeResponse({ + statusText: 'OK', + headersList: [ + ['content-type', { name: 'Content-Type', value: mimeType }] + ], + body: safelyExtractBody(dataURLStruct.body)[0] + }) + ) } - case "file:": { - return Promise.resolve(makeNetworkError("not implemented... yet...")); + case 'file:': { + return Promise.resolve(makeNetworkError('not implemented... yet...')) } - case "http:": - case "https:": { - return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); + case 'http:': + case 'https:': { + return httpFetch(fetchParams).catch((err) => makeNetworkError(err)) } default: { - return Promise.resolve(makeNetworkError("unknown scheme")); + return Promise.resolve(makeNetworkError('unknown scheme')) } } } function finalizeResponse(fetchParams, response) { - fetchParams.request.done = true; + fetchParams.request.done = true if (fetchParams.processResponseDone != null) { - queueMicrotask(() => fetchParams.processResponseDone(response)); + queueMicrotask(() => fetchParams.processResponseDone(response)) } } function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; + if (response.type === 'error') { + response.urlList = [fetchParams.request.urlList[0]] response.timingInfo = createOpaqueTimingInfo({ startTime: fetchParams.timingInfo.startTime - }); + }) } const processResponseEndOfBody = () => { - fetchParams.request.done = true; + fetchParams.request.done = true if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)) } - }; + } if (fetchParams.processResponse != null) { - queueMicrotask(() => fetchParams.processResponse(response)); + queueMicrotask(() => fetchParams.processResponse(response)) } if (response.body == null) { - processResponseEndOfBody(); + processResponseEndOfBody() } else { const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream({ - start() { + controller.enqueue(chunk) + } + const transformStream = new TransformStream( + { + start() {}, + transform: identityTransformAlgorithm, + flush: processResponseEndOfBody }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; + { + size() { + return 1 + } + }, + { + size() { + return 1 + } } - }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; + ) + response.body = { + stream: response.body.stream.pipeThrough(transformStream) + } } if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); + const processBody = (nullOrBytes) => + fetchParams.processResponseConsumeBody(response, nullOrBytes) + const processBodyError = (failure) => + fetchParams.processResponseConsumeBody(response, failure) if (response.body == null) { - queueMicrotask(() => processBody(null)); + queueMicrotask(() => processBody(null)) } else { - return fullyReadBody(response.body, processBody, processBodyError); + return fullyReadBody(response.body, processBody, processBodyError) } - return Promise.resolve(); + return Promise.resolve() } } async function httpFetch(fetchParams) { - const request = fetchParams.request; - let response = null; - let actualResponse = null; - const timingInfo = fetchParams.timingInfo; - if (request.serviceWorkers === "all") { + const request = fetchParams.request + let response = null + let actualResponse = null + const timingInfo = fetchParams.timingInfo + if (request.serviceWorkers === 'all') { } if (response === null) { - if (request.redirect === "follow") { - request.serviceWorkers = "none"; + if (request.redirect === 'follow') { + request.serviceWorkers = 'none' } - actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); - if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { - return makeNetworkError("cors failure"); + actualResponse = response = await httpNetworkOrCacheFetch(fetchParams) + if ( + request.responseTainting === 'cors' && + corsCheck(request, response) === 'failure' + ) { + return makeNetworkError('cors failure') } - if (TAOCheck(request, response) === "failure") { - request.timingAllowFailed = true; + if (TAOCheck(request, response) === 'failure') { + request.timingAllowFailed = true } } - if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( - request.origin, - request.client, - request.destination, - actualResponse - ) === "blocked") { - return makeNetworkError("blocked"); + if ( + (request.responseTainting === 'opaque' || response.type === 'opaque') && + crossOriginResourcePolicyCheck( + request.origin, + request.client, + request.destination, + actualResponse + ) === 'blocked' + ) { + return makeNetworkError('blocked') } if (redirectStatusSet.has(actualResponse.status)) { - if (request.redirect !== "manual") { - fetchParams.controller.connection.destroy(); - } - if (request.redirect === "error") { - response = makeNetworkError("unexpected redirect"); - } else if (request.redirect === "manual") { - response = actualResponse; - } else if (request.redirect === "follow") { - response = await httpRedirectFetch(fetchParams, response); + if (request.redirect !== 'manual') { + fetchParams.controller.connection.destroy() + } + if (request.redirect === 'error') { + response = makeNetworkError('unexpected redirect') + } else if (request.redirect === 'manual') { + response = actualResponse + } else if (request.redirect === 'follow') { + response = await httpRedirectFetch(fetchParams, response) } else { - assert(false); + assert(false) } } - response.timingInfo = timingInfo; - return response; + response.timingInfo = timingInfo + return response } function httpRedirectFetch(fetchParams, response) { - const request = fetchParams.request; - const actualResponse = response.internalResponse ? response.internalResponse : response; - let locationURL; + const request = fetchParams.request + const actualResponse = response.internalResponse + ? response.internalResponse + : response + let locationURL try { locationURL = responseLocationURL( actualResponse, requestCurrentURL(request).hash - ); + ) if (locationURL == null) { - return response; + return response } } catch (err) { - return Promise.resolve(makeNetworkError(err)); + return Promise.resolve(makeNetworkError(err)) } if (!urlIsHttpHttpsScheme(locationURL)) { - return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); + return Promise.resolve( + makeNetworkError('URL scheme must be a HTTP(S) scheme') + ) } if (request.redirectCount === 20) { - return Promise.resolve(makeNetworkError("redirect count exceeded")); + return Promise.resolve(makeNetworkError('redirect count exceeded')) } - request.redirectCount += 1; - if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { - return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + request.redirectCount += 1 + if ( + request.mode === 'cors' && + (locationURL.username || locationURL.password) && + !sameOrigin(request, locationURL) + ) { + return Promise.resolve( + makeNetworkError('cross origin not allowed for request mode "cors"') + ) } - if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { - return Promise.resolve(makeNetworkError( - 'URL cannot contain credentials for request mode "cors"' - )); + if ( + request.responseTainting === 'cors' && + (locationURL.username || locationURL.password) + ) { + return Promise.resolve( + makeNetworkError( + 'URL cannot contain credentials for request mode "cors"' + ) + ) } - if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { - return Promise.resolve(makeNetworkError()); + if ( + actualResponse.status !== 303 && + request.body != null && + request.body.source == null + ) { + return Promise.resolve(makeNetworkError()) } - if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { - request.method = "GET"; - request.body = null; + if ( + ([301, 302].includes(actualResponse.status) && + request.method === 'POST') || + (actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) + ) { + request.method = 'GET' + request.body = null for (const headerName of requestBodyHeader) { - request.headersList.delete(headerName); + request.headersList.delete(headerName) } } if (!sameOrigin(requestCurrentURL(request), locationURL)) { - request.headersList.delete("authorization"); - request.headersList.delete("cookie"); - request.headersList.delete("host"); + request.headersList.delete('authorization') + request.headersList.delete('cookie') + request.headersList.delete('host') } if (request.body != null) { - assert(request.body.source != null); - request.body = safelyExtractBody(request.body.source)[0]; + assert(request.body.source != null) + request.body = safelyExtractBody(request.body.source)[0] } - const timingInfo = fetchParams.timingInfo; - timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + const timingInfo = fetchParams.timingInfo + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = + coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability) if (timingInfo.redirectStartTime === 0) { - timingInfo.redirectStartTime = timingInfo.startTime; - } - request.urlList.push(locationURL); - setRequestReferrerPolicyOnRedirect(request, actualResponse); - return mainFetch(fetchParams, true); - } - async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { - const request = fetchParams.request; - let httpFetchParams = null; - let httpRequest = null; - let response = null; - const httpCache = null; - const revalidatingFlag = false; - if (request.window === "no-window" && request.redirect === "error") { - httpFetchParams = fetchParams; - httpRequest = request; + timingInfo.redirectStartTime = timingInfo.startTime + } + request.urlList.push(locationURL) + setRequestReferrerPolicyOnRedirect(request, actualResponse) + return mainFetch(fetchParams, true) + } + async function httpNetworkOrCacheFetch( + fetchParams, + isAuthenticationFetch = false, + isNewConnectionFetch = false + ) { + const request = fetchParams.request + let httpFetchParams = null + let httpRequest = null + let response = null + const httpCache = null + const revalidatingFlag = false + if (request.window === 'no-window' && request.redirect === 'error') { + httpFetchParams = fetchParams + httpRequest = request } else { - httpRequest = makeRequest(request); - httpFetchParams = { ...fetchParams }; - httpFetchParams.request = httpRequest; - } - const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic"; - const contentLength = httpRequest.body ? httpRequest.body.length : null; - let contentLengthHeaderValue = null; - if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { - contentLengthHeaderValue = "0"; + httpRequest = makeRequest(request) + httpFetchParams = { ...fetchParams } + httpFetchParams.request = httpRequest + } + const includeCredentials = + request.credentials === 'include' || + (request.credentials === 'same-origin' && + request.responseTainting === 'basic') + const contentLength = httpRequest.body ? httpRequest.body.length : null + let contentLengthHeaderValue = null + if ( + httpRequest.body == null && + ['POST', 'PUT'].includes(httpRequest.method) + ) { + contentLengthHeaderValue = '0' } if (contentLength != null) { - contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); + contentLengthHeaderValue = isomorphicEncode(`${contentLength}`) } if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); + httpRequest.headersList.append( + 'content-length', + contentLengthHeaderValue + ) } if (contentLength != null && httpRequest.keepalive) { } if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); + httpRequest.headersList.append( + 'referer', + isomorphicEncode(httpRequest.referrer.href) + ) } - appendRequestOriginHeader(httpRequest); - appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + appendRequestOriginHeader(httpRequest) + appendFetchMetadata(httpRequest) + if (!httpRequest.headersList.contains('user-agent')) { + httpRequest.headersList.append( + 'user-agent', + typeof esbuildDetection === 'undefined' ? 'undici' : 'node' + ) } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) { - httpRequest.cache = "no-store"; + if ( + httpRequest.cache === 'default' && + (httpRequest.headersList.contains('if-modified-since') || + httpRequest.headersList.contains('if-none-match') || + httpRequest.headersList.contains('if-unmodified-since') || + httpRequest.headersList.contains('if-match') || + httpRequest.headersList.contains('if-range')) + ) { + httpRequest.cache = 'no-store' } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "max-age=0"); + if ( + httpRequest.cache === 'no-cache' && + !httpRequest.preventNoCacheCacheControlHeaderModification && + !httpRequest.headersList.contains('cache-control') + ) { + httpRequest.headersList.append('cache-control', 'max-age=0') } - if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma")) { - httpRequest.headersList.append("pragma", "no-cache"); + if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') { + if (!httpRequest.headersList.contains('pragma')) { + httpRequest.headersList.append('pragma', 'no-cache') } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); + if (!httpRequest.headersList.contains('cache-control')) { + httpRequest.headersList.append('cache-control', 'no-cache') } } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); + if (httpRequest.headersList.contains('range')) { + httpRequest.headersList.append('accept-encoding', 'identity') } - if (!httpRequest.headersList.contains("accept-encoding")) { + if (!httpRequest.headersList.contains('accept-encoding')) { if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); + httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate') } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); + httpRequest.headersList.append('accept-encoding', 'gzip, deflate') } } - httpRequest.headersList.delete("host"); + httpRequest.headersList.delete('host') if (includeCredentials) { } if (httpCache == null) { - httpRequest.cache = "no-store"; + httpRequest.cache = 'no-store' } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { + if (httpRequest.mode !== 'no-store' && httpRequest.mode !== 'reload') { } if (response == null) { - if (httpRequest.mode === "only-if-cached") { - return makeNetworkError("only if cached"); + if (httpRequest.mode === 'only-if-cached') { + return makeNetworkError('only if cached') } const forwardResponse = await httpNetworkFetch( httpFetchParams, includeCredentials, isNewConnectionFetch - ); - if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { + ) + if ( + !safeMethodsSet.has(httpRequest.method) && + forwardResponse.status >= 200 && + forwardResponse.status <= 399 + ) { } if (revalidatingFlag && forwardResponse.status === 304) { } if (response == null) { - response = forwardResponse; + response = forwardResponse } } - response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { - response.rangeRequested = true; + response.urlList = [...httpRequest.urlList] + if (httpRequest.headersList.contains('range')) { + response.rangeRequested = true } - response.requestIncludesCredentials = includeCredentials; + response.requestIncludesCredentials = includeCredentials if (response.status === 407) { - if (request.window === "no-window") { - return makeNetworkError(); + if (request.window === 'no-window') { + return makeNetworkError() } if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); + return makeAppropriateNetworkError(fetchParams) } - return makeNetworkError("proxy authentication required"); + return makeNetworkError('proxy authentication required') } if ( // response’s status is 421 @@ -13915,316 +15969,355 @@ var require_fetch = __commonJS({ (request.body == null || request.body.source != null) ) { if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); + return makeAppropriateNetworkError(fetchParams) } - fetchParams.controller.connection.destroy(); + fetchParams.controller.connection.destroy() response = await httpNetworkOrCacheFetch( fetchParams, isAuthenticationFetch, true - ); + ) } if (isAuthenticationFetch) { } - return response; - } - async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { - assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); + return response + } + async function httpNetworkFetch( + fetchParams, + includeCredentials = false, + forceNewConnection = false + ) { + assert( + !fetchParams.controller.connection || + fetchParams.controller.connection.destroyed + ) fetchParams.controller.connection = { abort: null, destroyed: false, destroy(err) { if (!this.destroyed) { - this.destroyed = true; - this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError")); + this.destroyed = true + this.abort?.( + err ?? + new DOMException2('The operation was aborted.', 'AbortError') + ) } } - }; - const request = fetchParams.request; - let response = null; - const timingInfo = fetchParams.timingInfo; - const httpCache = null; + } + const request = fetchParams.request + let response = null + const timingInfo = fetchParams.timingInfo + const httpCache = null if (httpCache == null) { - request.cache = "no-store"; + request.cache = 'no-store' } - const newConnection = forceNewConnection ? "yes" : "no"; - if (request.mode === "websocket") { + const newConnection = forceNewConnection ? 'yes' : 'no' + if (request.mode === 'websocket') { } else { } - let requestBody = null; + let requestBody = null if (request.body == null && fetchParams.processRequestEndOfBody) { - queueMicrotask(() => fetchParams.processRequestEndOfBody()); + queueMicrotask(() => fetchParams.processRequestEndOfBody()) } else if (request.body != null) { const processBodyChunk = async function* (bytes) { if (isCancelled(fetchParams)) { - return; + return } - yield bytes; - fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); - }; + yield bytes + fetchParams.processRequestBodyChunkLength?.(bytes.byteLength) + } const processEndOfBody = () => { if (isCancelled(fetchParams)) { - return; + return } if (fetchParams.processRequestEndOfBody) { - fetchParams.processRequestEndOfBody(); + fetchParams.processRequestEndOfBody() } - }; + } const processBodyError = (e) => { if (isCancelled(fetchParams)) { - return; + return } - if (e.name === "AbortError") { - fetchParams.controller.abort(); + if (e.name === 'AbortError') { + fetchParams.controller.abort() } else { - fetchParams.controller.terminate(e); + fetchParams.controller.terminate(e) } - }; - requestBody = async function* () { + } + requestBody = (async function* () { try { for await (const bytes of request.body.stream) { - yield* processBodyChunk(bytes); + yield* processBodyChunk(bytes) } - processEndOfBody(); + processEndOfBody() } catch (err) { - processBodyError(err); + processBodyError(err) } - }(); + })() } try { - const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); + const { body, status, statusText, headersList, socket } = + await dispatch({ body: requestBody }) if (socket) { - response = makeResponse({ status, statusText, headersList, socket }); + response = makeResponse({ status, statusText, headersList, socket }) } else { - const iterator = body[Symbol.asyncIterator](); - fetchParams.controller.next = () => iterator.next(); - response = makeResponse({ status, statusText, headersList }); + const iterator = body[Symbol.asyncIterator]() + fetchParams.controller.next = () => iterator.next() + response = makeResponse({ status, statusText, headersList }) } } catch (err) { - if (err.name === "AbortError") { - fetchParams.controller.connection.destroy(); - return makeAppropriateNetworkError(fetchParams, err); + if (err.name === 'AbortError') { + fetchParams.controller.connection.destroy() + return makeAppropriateNetworkError(fetchParams, err) } - return makeNetworkError(err); + return makeNetworkError(err) } const pullAlgorithm = () => { - fetchParams.controller.resume(); - }; + fetchParams.controller.resume() + } const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); - }; + fetchParams.controller.abort(reason) + } if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } const stream = new ReadableStream( { async start(controller) { - fetchParams.controller.controller = controller; + fetchParams.controller.controller = controller }, async pull(controller) { - await pullAlgorithm(controller); + await pullAlgorithm(controller) }, async cancel(reason) { - await cancelAlgorithm(reason); + await cancelAlgorithm(reason) } }, { highWaterMark: 0, size() { - return 1; + return 1 } } - ); - response.body = { stream }; - fetchParams.controller.on("terminated", onAborted); + ) + response.body = { stream } + fetchParams.controller.on('terminated', onAborted) fetchParams.controller.resume = async () => { while (true) { - let bytes; - let isFailure; + let bytes + let isFailure try { - const { done, value } = await fetchParams.controller.next(); + const { done, value } = await fetchParams.controller.next() if (isAborted(fetchParams)) { - break; + break } - bytes = done ? void 0 : value; + bytes = done ? void 0 : value } catch (err) { if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { - bytes = void 0; + bytes = void 0 } else { - bytes = err; - isFailure = true; + bytes = err + isFailure = true } } if (bytes === void 0) { - readableStreamClose(fetchParams.controller.controller); - finalizeResponse(fetchParams, response); - return; + readableStreamClose(fetchParams.controller.controller) + finalizeResponse(fetchParams, response) + return } - timingInfo.decodedBodySize += bytes?.byteLength ?? 0; + timingInfo.decodedBodySize += bytes?.byteLength ?? 0 if (isFailure) { - fetchParams.controller.terminate(bytes); - return; + fetchParams.controller.terminate(bytes) + return } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); + fetchParams.controller.controller.enqueue(new Uint8Array(bytes)) if (isErrored(stream)) { - fetchParams.controller.terminate(); - return; + fetchParams.controller.terminate() + return } if (!fetchParams.controller.controller.desiredSize) { - return; + return } } - }; + } function onAborted(reason) { if (isAborted(fetchParams)) { - response.aborted = true; + response.aborted = true if (isReadable(stream)) { fetchParams.controller.controller.error( fetchParams.controller.serializedAbortReason - ); + ) } } else { if (isReadable(stream)) { - fetchParams.controller.controller.error(new TypeError("terminated", { - cause: isErrorLike(reason) ? reason : void 0 - })); + fetchParams.controller.controller.error( + new TypeError('terminated', { + cause: isErrorLike(reason) ? reason : void 0 + }) + ) } } - fetchParams.controller.connection.destroy(); + fetchParams.controller.connection.destroy() } - return response; + return response async function dispatch({ body }) { - const url = requestCurrentURL(request); - const agent = fetchParams.controller.dispatcher; - return new Promise((resolve, reject) => agent.dispatch( - { - path: url.pathname + url.search, - origin: url.origin, - method: request.method, - body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body, - headers: request.headersList.entries, - maxRedirections: 0, - upgrade: request.mode === "websocket" ? "websocket" : void 0 - }, - { - body: null, - abort: null, - onConnect(abort) { - const { connection } = fetchParams.controller; - if (connection.destroyed) { - abort(new DOMException2("The operation was aborted.", "AbortError")); - } else { - fetchParams.controller.on("terminated", abort); - this.abort = connection.abort = abort; - } + const url = requestCurrentURL(request) + const agent = fetchParams.controller.dispatcher + return new Promise((resolve, reject) => + agent.dispatch( + { + path: url.pathname + url.search, + origin: url.origin, + method: request.method, + body: fetchParams.controller.dispatcher.isMockActive + ? request.body && request.body.source + : body, + headers: request.headersList.entries, + maxRedirections: 0, + upgrade: request.mode === 'websocket' ? 'websocket' : void 0 }, - onHeaders(status, headersList, resume, statusText) { - if (status < 200) { - return; - } - let codings = []; - let location = ""; - const headers = new Headers(); - if (Array.isArray(headersList)) { - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers.append(key, val); + { + body: null, + abort: null, + onConnect(abort) { + const { connection } = fetchParams.controller + if (connection.destroyed) { + abort( + new DOMException2( + 'The operation was aborted.', + 'AbortError' + ) + ) + } else { + fetchParams.controller.on('terminated', abort) + this.abort = connection.abort = abort } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; + }, + onHeaders(status, headersList, resume, statusText) { + if (status < 200) { + return + } + let codings = [] + let location = '' + const headers = new Headers() + if (Array.isArray(headersList)) { + for (let n = 0; n < headersList.length; n += 2) { + const key = headersList[n + 0].toString('latin1') + const val = headersList[n + 1].toString('latin1') + if (key.toLowerCase() === 'content-encoding') { + codings = val + .toLowerCase() + .split(',') + .map((x) => x.trim()) + } else if (key.toLowerCase() === 'location') { + location = val + } + headers.append(key, val) + } + } else { + const keys = Object.keys(headersList) + for (const key of keys) { + const val = headersList[key] + if (key.toLowerCase() === 'content-encoding') { + codings = val + .toLowerCase() + .split(',') + .map((x) => x.trim()) + .reverse() + } else if (key.toLowerCase() === 'location') { + location = val + } + headers.append(key, val) } - headers.append(key, val); } - } - this.body = new Readable({ read: resume }); - const decoders = []; - const willFollow = request.redirect === "follow" && location && redirectStatusSet.has(status); - if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { - if (coding === "x-gzip" || coding === "gzip") { - decoders.push(zlib.createGunzip({ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - flush: zlib.constants.Z_SYNC_FLUSH, - finishFlush: zlib.constants.Z_SYNC_FLUSH - })); - } else if (coding === "deflate") { - decoders.push(zlib.createInflate()); - } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress()); - } else { - decoders.length = 0; - break; + this.body = new Readable({ read: resume }) + const decoders = [] + const willFollow = + request.redirect === 'follow' && + location && + redirectStatusSet.has(status) + if ( + request.method !== 'HEAD' && + request.method !== 'CONNECT' && + !nullBodyStatus.includes(status) && + !willFollow + ) { + for (const coding of codings) { + if (coding === 'x-gzip' || coding === 'gzip') { + decoders.push( + zlib.createGunzip({ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + }) + ) + } else if (coding === 'deflate') { + decoders.push(zlib.createInflate()) + } else if (coding === 'br') { + decoders.push(zlib.createBrotliDecompress()) + } else { + decoders.length = 0 + break + } } } - } - resolve({ - status, - statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { + resolve({ + status, + statusText, + headersList: headers[kHeadersList], + body: decoders.length + ? pipeline(this.body, ...decoders, () => {}) + : this.body.on('error', () => {}) }) - }); - return true; - }, - onData(chunk) { - if (fetchParams.controller.dump) { - return; - } - const bytes = chunk; - timingInfo.encodedBodySize += bytes.byteLength; - return this.body.push(bytes); - }, - onComplete() { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - fetchParams.controller.ended = true; - this.body.push(null); - }, - onError(error) { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - this.body?.destroy(error); - fetchParams.controller.terminate(error); - reject(error); - }, - onUpgrade(status, headersList, socket) { - if (status !== 101) { - return; - } - const headers = new Headers(); - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - headers.append(key, val); + return true + }, + onData(chunk) { + if (fetchParams.controller.dump) { + return + } + const bytes = chunk + timingInfo.encodedBodySize += bytes.byteLength + return this.body.push(bytes) + }, + onComplete() { + if (this.abort) { + fetchParams.controller.off('terminated', this.abort) + } + fetchParams.controller.ended = true + this.body.push(null) + }, + onError(error) { + if (this.abort) { + fetchParams.controller.off('terminated', this.abort) + } + this.body?.destroy(error) + fetchParams.controller.terminate(error) + reject(error) + }, + onUpgrade(status, headersList, socket) { + if (status !== 101) { + return + } + const headers = new Headers() + for (let n = 0; n < headersList.length; n += 2) { + const key = headersList[n + 0].toString('latin1') + const val = headersList[n + 1].toString('latin1') + headers.append(key, val) + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList: headers[kHeadersList], + socket + }) + return true } - resolve({ - status, - statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], - socket - }); - return true; } - } - )); + ) + ) } } module2.exports = { @@ -14232,589 +16325,601 @@ var require_fetch = __commonJS({ Fetch, fetching, finalizeAndReportTiming - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/symbols.js var require_symbols3 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kState: Symbol("FileReader state"), - kResult: Symbol("FileReader result"), - kError: Symbol("FileReader error"), - kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), - kEvents: Symbol("FileReader events"), - kAborted: Symbol("FileReader aborted") - }; + kState: Symbol('FileReader state'), + kResult: Symbol('FileReader result'), + kError: Symbol('FileReader error'), + kLastProgressEventFired: Symbol( + 'FileReader last progress event fired timestamp' + ), + kEvents: Symbol('FileReader events'), + kAborted: Symbol('FileReader aborted') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/progressevent.js var require_progressevent = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/progressevent.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl(); - var kState = Symbol("ProgressEvent state"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/progressevent.js'( + exports, + module2 + ) { + 'use strict' + var { webidl } = require_webidl() + var kState = Symbol('ProgressEvent state') var ProgressEvent = class _ProgressEvent extends Event { constructor(type, eventInitDict = {}) { - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); - super(type, eventInitDict); + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}) + super(type, eventInitDict) this[kState] = { lengthComputable: eventInitDict.lengthComputable, loaded: eventInitDict.loaded, total: eventInitDict.total - }; + } } get lengthComputable() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].lengthComputable; + webidl.brandCheck(this, _ProgressEvent) + return this[kState].lengthComputable } get loaded() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].loaded; + webidl.brandCheck(this, _ProgressEvent) + return this[kState].loaded } get total() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].total; + webidl.brandCheck(this, _ProgressEvent) + return this[kState].total } - }; + } webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ { - key: "lengthComputable", + key: 'lengthComputable', converter: webidl.converters.boolean, defaultValue: false }, { - key: "loaded", - converter: webidl.converters["unsigned long long"], + key: 'loaded', + converter: webidl.converters['unsigned long long'], defaultValue: 0 }, { - key: "total", - converter: webidl.converters["unsigned long long"], + key: 'total', + converter: webidl.converters['unsigned long long'], defaultValue: 0 }, { - key: "bubbles", + key: 'bubbles', converter: webidl.converters.boolean, defaultValue: false }, { - key: "cancelable", + key: 'cancelable', converter: webidl.converters.boolean, defaultValue: false }, { - key: "composed", + key: 'composed', converter: webidl.converters.boolean, defaultValue: false } - ]); + ]) module2.exports = { ProgressEvent - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/encoding.js var require_encoding = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/encoding.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/encoding.js'( + exports, + module2 + ) { + 'use strict' function getEncoding(label) { if (!label) { - return "failure"; + return 'failure' } switch (label.trim().toLowerCase()) { - case "unicode-1-1-utf-8": - case "unicode11utf8": - case "unicode20utf8": - case "utf-8": - case "utf8": - case "x-unicode20utf8": - return "UTF-8"; - case "866": - case "cp866": - case "csibm866": - case "ibm866": - return "IBM866"; - case "csisolatin2": - case "iso-8859-2": - case "iso-ir-101": - case "iso8859-2": - case "iso88592": - case "iso_8859-2": - case "iso_8859-2:1987": - case "l2": - case "latin2": - return "ISO-8859-2"; - case "csisolatin3": - case "iso-8859-3": - case "iso-ir-109": - case "iso8859-3": - case "iso88593": - case "iso_8859-3": - case "iso_8859-3:1988": - case "l3": - case "latin3": - return "ISO-8859-3"; - case "csisolatin4": - case "iso-8859-4": - case "iso-ir-110": - case "iso8859-4": - case "iso88594": - case "iso_8859-4": - case "iso_8859-4:1988": - case "l4": - case "latin4": - return "ISO-8859-4"; - case "csisolatincyrillic": - case "cyrillic": - case "iso-8859-5": - case "iso-ir-144": - case "iso8859-5": - case "iso88595": - case "iso_8859-5": - case "iso_8859-5:1988": - return "ISO-8859-5"; - case "arabic": - case "asmo-708": - case "csiso88596e": - case "csiso88596i": - case "csisolatinarabic": - case "ecma-114": - case "iso-8859-6": - case "iso-8859-6-e": - case "iso-8859-6-i": - case "iso-ir-127": - case "iso8859-6": - case "iso88596": - case "iso_8859-6": - case "iso_8859-6:1987": - return "ISO-8859-6"; - case "csisolatingreek": - case "ecma-118": - case "elot_928": - case "greek": - case "greek8": - case "iso-8859-7": - case "iso-ir-126": - case "iso8859-7": - case "iso88597": - case "iso_8859-7": - case "iso_8859-7:1987": - case "sun_eu_greek": - return "ISO-8859-7"; - case "csiso88598e": - case "csisolatinhebrew": - case "hebrew": - case "iso-8859-8": - case "iso-8859-8-e": - case "iso-ir-138": - case "iso8859-8": - case "iso88598": - case "iso_8859-8": - case "iso_8859-8:1988": - case "visual": - return "ISO-8859-8"; - case "csiso88598i": - case "iso-8859-8-i": - case "logical": - return "ISO-8859-8-I"; - case "csisolatin6": - case "iso-8859-10": - case "iso-ir-157": - case "iso8859-10": - case "iso885910": - case "l6": - case "latin6": - return "ISO-8859-10"; - case "iso-8859-13": - case "iso8859-13": - case "iso885913": - return "ISO-8859-13"; - case "iso-8859-14": - case "iso8859-14": - case "iso885914": - return "ISO-8859-14"; - case "csisolatin9": - case "iso-8859-15": - case "iso8859-15": - case "iso885915": - case "iso_8859-15": - case "l9": - return "ISO-8859-15"; - case "iso-8859-16": - return "ISO-8859-16"; - case "cskoi8r": - case "koi": - case "koi8": - case "koi8-r": - case "koi8_r": - return "KOI8-R"; - case "koi8-ru": - case "koi8-u": - return "KOI8-U"; - case "csmacintosh": - case "mac": - case "macintosh": - case "x-mac-roman": - return "macintosh"; - case "iso-8859-11": - case "iso8859-11": - case "iso885911": - case "tis-620": - case "windows-874": - return "windows-874"; - case "cp1250": - case "windows-1250": - case "x-cp1250": - return "windows-1250"; - case "cp1251": - case "windows-1251": - case "x-cp1251": - return "windows-1251"; - case "ansi_x3.4-1968": - case "ascii": - case "cp1252": - case "cp819": - case "csisolatin1": - case "ibm819": - case "iso-8859-1": - case "iso-ir-100": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "iso_8859-1:1987": - case "l1": - case "latin1": - case "us-ascii": - case "windows-1252": - case "x-cp1252": - return "windows-1252"; - case "cp1253": - case "windows-1253": - case "x-cp1253": - return "windows-1253"; - case "cp1254": - case "csisolatin5": - case "iso-8859-9": - case "iso-ir-148": - case "iso8859-9": - case "iso88599": - case "iso_8859-9": - case "iso_8859-9:1989": - case "l5": - case "latin5": - case "windows-1254": - case "x-cp1254": - return "windows-1254"; - case "cp1255": - case "windows-1255": - case "x-cp1255": - return "windows-1255"; - case "cp1256": - case "windows-1256": - case "x-cp1256": - return "windows-1256"; - case "cp1257": - case "windows-1257": - case "x-cp1257": - return "windows-1257"; - case "cp1258": - case "windows-1258": - case "x-cp1258": - return "windows-1258"; - case "x-mac-cyrillic": - case "x-mac-ukrainian": - return "x-mac-cyrillic"; - case "chinese": - case "csgb2312": - case "csiso58gb231280": - case "gb2312": - case "gb_2312": - case "gb_2312-80": - case "gbk": - case "iso-ir-58": - case "x-gbk": - return "GBK"; - case "gb18030": - return "gb18030"; - case "big5": - case "big5-hkscs": - case "cn-big5": - case "csbig5": - case "x-x-big5": - return "Big5"; - case "cseucpkdfmtjapanese": - case "euc-jp": - case "x-euc-jp": - return "EUC-JP"; - case "csiso2022jp": - case "iso-2022-jp": - return "ISO-2022-JP"; - case "csshiftjis": - case "ms932": - case "ms_kanji": - case "shift-jis": - case "shift_jis": - case "sjis": - case "windows-31j": - case "x-sjis": - return "Shift_JIS"; - case "cseuckr": - case "csksc56011987": - case "euc-kr": - case "iso-ir-149": - case "korean": - case "ks_c_5601-1987": - case "ks_c_5601-1989": - case "ksc5601": - case "ksc_5601": - case "windows-949": - return "EUC-KR"; - case "csiso2022kr": - case "hz-gb-2312": - case "iso-2022-cn": - case "iso-2022-cn-ext": - case "iso-2022-kr": - case "replacement": - return "replacement"; - case "unicodefffe": - case "utf-16be": - return "UTF-16BE"; - case "csunicode": - case "iso-10646-ucs-2": - case "ucs-2": - case "unicode": - case "unicodefeff": - case "utf-16": - case "utf-16le": - return "UTF-16LE"; - case "x-user-defined": - return "x-user-defined"; + case 'unicode-1-1-utf-8': + case 'unicode11utf8': + case 'unicode20utf8': + case 'utf-8': + case 'utf8': + case 'x-unicode20utf8': + return 'UTF-8' + case '866': + case 'cp866': + case 'csibm866': + case 'ibm866': + return 'IBM866' + case 'csisolatin2': + case 'iso-8859-2': + case 'iso-ir-101': + case 'iso8859-2': + case 'iso88592': + case 'iso_8859-2': + case 'iso_8859-2:1987': + case 'l2': + case 'latin2': + return 'ISO-8859-2' + case 'csisolatin3': + case 'iso-8859-3': + case 'iso-ir-109': + case 'iso8859-3': + case 'iso88593': + case 'iso_8859-3': + case 'iso_8859-3:1988': + case 'l3': + case 'latin3': + return 'ISO-8859-3' + case 'csisolatin4': + case 'iso-8859-4': + case 'iso-ir-110': + case 'iso8859-4': + case 'iso88594': + case 'iso_8859-4': + case 'iso_8859-4:1988': + case 'l4': + case 'latin4': + return 'ISO-8859-4' + case 'csisolatincyrillic': + case 'cyrillic': + case 'iso-8859-5': + case 'iso-ir-144': + case 'iso8859-5': + case 'iso88595': + case 'iso_8859-5': + case 'iso_8859-5:1988': + return 'ISO-8859-5' + case 'arabic': + case 'asmo-708': + case 'csiso88596e': + case 'csiso88596i': + case 'csisolatinarabic': + case 'ecma-114': + case 'iso-8859-6': + case 'iso-8859-6-e': + case 'iso-8859-6-i': + case 'iso-ir-127': + case 'iso8859-6': + case 'iso88596': + case 'iso_8859-6': + case 'iso_8859-6:1987': + return 'ISO-8859-6' + case 'csisolatingreek': + case 'ecma-118': + case 'elot_928': + case 'greek': + case 'greek8': + case 'iso-8859-7': + case 'iso-ir-126': + case 'iso8859-7': + case 'iso88597': + case 'iso_8859-7': + case 'iso_8859-7:1987': + case 'sun_eu_greek': + return 'ISO-8859-7' + case 'csiso88598e': + case 'csisolatinhebrew': + case 'hebrew': + case 'iso-8859-8': + case 'iso-8859-8-e': + case 'iso-ir-138': + case 'iso8859-8': + case 'iso88598': + case 'iso_8859-8': + case 'iso_8859-8:1988': + case 'visual': + return 'ISO-8859-8' + case 'csiso88598i': + case 'iso-8859-8-i': + case 'logical': + return 'ISO-8859-8-I' + case 'csisolatin6': + case 'iso-8859-10': + case 'iso-ir-157': + case 'iso8859-10': + case 'iso885910': + case 'l6': + case 'latin6': + return 'ISO-8859-10' + case 'iso-8859-13': + case 'iso8859-13': + case 'iso885913': + return 'ISO-8859-13' + case 'iso-8859-14': + case 'iso8859-14': + case 'iso885914': + return 'ISO-8859-14' + case 'csisolatin9': + case 'iso-8859-15': + case 'iso8859-15': + case 'iso885915': + case 'iso_8859-15': + case 'l9': + return 'ISO-8859-15' + case 'iso-8859-16': + return 'ISO-8859-16' + case 'cskoi8r': + case 'koi': + case 'koi8': + case 'koi8-r': + case 'koi8_r': + return 'KOI8-R' + case 'koi8-ru': + case 'koi8-u': + return 'KOI8-U' + case 'csmacintosh': + case 'mac': + case 'macintosh': + case 'x-mac-roman': + return 'macintosh' + case 'iso-8859-11': + case 'iso8859-11': + case 'iso885911': + case 'tis-620': + case 'windows-874': + return 'windows-874' + case 'cp1250': + case 'windows-1250': + case 'x-cp1250': + return 'windows-1250' + case 'cp1251': + case 'windows-1251': + case 'x-cp1251': + return 'windows-1251' + case 'ansi_x3.4-1968': + case 'ascii': + case 'cp1252': + case 'cp819': + case 'csisolatin1': + case 'ibm819': + case 'iso-8859-1': + case 'iso-ir-100': + case 'iso8859-1': + case 'iso88591': + case 'iso_8859-1': + case 'iso_8859-1:1987': + case 'l1': + case 'latin1': + case 'us-ascii': + case 'windows-1252': + case 'x-cp1252': + return 'windows-1252' + case 'cp1253': + case 'windows-1253': + case 'x-cp1253': + return 'windows-1253' + case 'cp1254': + case 'csisolatin5': + case 'iso-8859-9': + case 'iso-ir-148': + case 'iso8859-9': + case 'iso88599': + case 'iso_8859-9': + case 'iso_8859-9:1989': + case 'l5': + case 'latin5': + case 'windows-1254': + case 'x-cp1254': + return 'windows-1254' + case 'cp1255': + case 'windows-1255': + case 'x-cp1255': + return 'windows-1255' + case 'cp1256': + case 'windows-1256': + case 'x-cp1256': + return 'windows-1256' + case 'cp1257': + case 'windows-1257': + case 'x-cp1257': + return 'windows-1257' + case 'cp1258': + case 'windows-1258': + case 'x-cp1258': + return 'windows-1258' + case 'x-mac-cyrillic': + case 'x-mac-ukrainian': + return 'x-mac-cyrillic' + case 'chinese': + case 'csgb2312': + case 'csiso58gb231280': + case 'gb2312': + case 'gb_2312': + case 'gb_2312-80': + case 'gbk': + case 'iso-ir-58': + case 'x-gbk': + return 'GBK' + case 'gb18030': + return 'gb18030' + case 'big5': + case 'big5-hkscs': + case 'cn-big5': + case 'csbig5': + case 'x-x-big5': + return 'Big5' + case 'cseucpkdfmtjapanese': + case 'euc-jp': + case 'x-euc-jp': + return 'EUC-JP' + case 'csiso2022jp': + case 'iso-2022-jp': + return 'ISO-2022-JP' + case 'csshiftjis': + case 'ms932': + case 'ms_kanji': + case 'shift-jis': + case 'shift_jis': + case 'sjis': + case 'windows-31j': + case 'x-sjis': + return 'Shift_JIS' + case 'cseuckr': + case 'csksc56011987': + case 'euc-kr': + case 'iso-ir-149': + case 'korean': + case 'ks_c_5601-1987': + case 'ks_c_5601-1989': + case 'ksc5601': + case 'ksc_5601': + case 'windows-949': + return 'EUC-KR' + case 'csiso2022kr': + case 'hz-gb-2312': + case 'iso-2022-cn': + case 'iso-2022-cn-ext': + case 'iso-2022-kr': + case 'replacement': + return 'replacement' + case 'unicodefffe': + case 'utf-16be': + return 'UTF-16BE' + case 'csunicode': + case 'iso-10646-ucs-2': + case 'ucs-2': + case 'unicode': + case 'unicodefeff': + case 'utf-16': + case 'utf-16le': + return 'UTF-16LE' + case 'x-user-defined': + return 'x-user-defined' default: - return "failure"; + return 'failure' } } module2.exports = { getEncoding - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/util.js var require_util4 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/util.js"(exports, module2) { - "use strict"; - var { - kState, - kError, - kResult, - kAborted, - kLastProgressEventFired - } = require_symbols3(); - var { ProgressEvent } = require_progressevent(); - var { getEncoding } = require_encoding(); - var { DOMException: DOMException2 } = require_constants(); - var { serializeAMimeType, parseMIMEType } = require_dataURL(); - var { types } = require("util"); - var { StringDecoder } = require("string_decoder"); - var { btoa } = require("buffer"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/util.js'( + exports, + module2 + ) { + 'use strict' + var { kState, kError, kResult, kAborted, kLastProgressEventFired } = + require_symbols3() + var { ProgressEvent } = require_progressevent() + var { getEncoding } = require_encoding() + var { DOMException: DOMException2 } = require_constants() + var { serializeAMimeType, parseMIMEType } = require_dataURL() + var { types } = require('util') + var { StringDecoder } = require('string_decoder') + var { btoa } = require('buffer') var staticPropertyDescriptors = { enumerable: true, writable: false, configurable: false - }; + } function readOperation(fr, blob, type, encodingName) { - if (fr[kState] === "loading") { - throw new DOMException2("Invalid state", "InvalidStateError"); - } - fr[kState] = "loading"; - fr[kResult] = null; - fr[kError] = null; - const stream = blob.stream(); - const reader = stream.getReader(); - const bytes = []; - let chunkPromise = reader.read(); - let isFirstChunk = true; - (async () => { + if (fr[kState] === 'loading') { + throw new DOMException2('Invalid state', 'InvalidStateError') + } + fr[kState] = 'loading' + fr[kResult] = null + fr[kError] = null + const stream = blob.stream() + const reader = stream.getReader() + const bytes = [] + let chunkPromise = reader.read() + let isFirstChunk = true + ;(async () => { while (!fr[kAborted]) { try { - const { done, value } = await chunkPromise; + const { done, value } = await chunkPromise if (isFirstChunk && !fr[kAborted]) { queueMicrotask(() => { - fireAProgressEvent("loadstart", fr); - }); + fireAProgressEvent('loadstart', fr) + }) } - isFirstChunk = false; + isFirstChunk = false if (!done && types.isUint8Array(value)) { - bytes.push(value); - if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) { - fr[kLastProgressEventFired] = Date.now(); + bytes.push(value) + if ( + (fr[kLastProgressEventFired] === void 0 || + Date.now() - fr[kLastProgressEventFired] >= 50) && + !fr[kAborted] + ) { + fr[kLastProgressEventFired] = Date.now() queueMicrotask(() => { - fireAProgressEvent("progress", fr); - }); + fireAProgressEvent('progress', fr) + }) } - chunkPromise = reader.read(); + chunkPromise = reader.read() } else if (done) { queueMicrotask(() => { - fr[kState] = "done"; + fr[kState] = 'done' try { - const result = packageData(bytes, type, blob.type, encodingName); + const result = packageData( + bytes, + type, + blob.type, + encodingName + ) if (fr[kAborted]) { - return; + return } - fr[kResult] = result; - fireAProgressEvent("load", fr); + fr[kResult] = result + fireAProgressEvent('load', fr) } catch (error) { - fr[kError] = error; - fireAProgressEvent("error", fr); + fr[kError] = error + fireAProgressEvent('error', fr) } - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr) } - }); - break; + }) + break } } catch (error) { if (fr[kAborted]) { - return; + return } queueMicrotask(() => { - fr[kState] = "done"; - fr[kError] = error; - fireAProgressEvent("error", fr); - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); + fr[kState] = 'done' + fr[kError] = error + fireAProgressEvent('error', fr) + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr) } - }); - break; + }) + break } } - })(); + })() } function fireAProgressEvent(e, reader) { const event = new ProgressEvent(e, { bubbles: false, cancelable: false - }); - reader.dispatchEvent(event); + }) + reader.dispatchEvent(event) } function packageData(bytes, type, mimeType, encodingName) { switch (type) { - case "DataURL": { - let dataURL = "data:"; - const parsed = parseMIMEType(mimeType || "application/octet-stream"); - if (parsed !== "failure") { - dataURL += serializeAMimeType(parsed); - } - dataURL += ";base64,"; - const decoder = new StringDecoder("latin1"); + case 'DataURL': { + let dataURL = 'data:' + const parsed = parseMIMEType(mimeType || 'application/octet-stream') + if (parsed !== 'failure') { + dataURL += serializeAMimeType(parsed) + } + dataURL += ';base64,' + const decoder = new StringDecoder('latin1') for (const chunk of bytes) { - dataURL += btoa(decoder.write(chunk)); + dataURL += btoa(decoder.write(chunk)) } - dataURL += btoa(decoder.end()); - return dataURL; + dataURL += btoa(decoder.end()) + return dataURL } - case "Text": { - let encoding = "failure"; + case 'Text': { + let encoding = 'failure' if (encodingName) { - encoding = getEncoding(encodingName); + encoding = getEncoding(encodingName) } - if (encoding === "failure" && mimeType) { - const type2 = parseMIMEType(mimeType); - if (type2 !== "failure") { - encoding = getEncoding(type2.parameters.get("charset")); + if (encoding === 'failure' && mimeType) { + const type2 = parseMIMEType(mimeType) + if (type2 !== 'failure') { + encoding = getEncoding(type2.parameters.get('charset')) } } - if (encoding === "failure") { - encoding = "UTF-8"; + if (encoding === 'failure') { + encoding = 'UTF-8' } - return decode(bytes, encoding); + return decode(bytes, encoding) } - case "ArrayBuffer": { - const sequence = combineByteSequences(bytes); - return sequence.buffer; + case 'ArrayBuffer': { + const sequence = combineByteSequences(bytes) + return sequence.buffer } - case "BinaryString": { - let binaryString = ""; - const decoder = new StringDecoder("latin1"); + case 'BinaryString': { + let binaryString = '' + const decoder = new StringDecoder('latin1') for (const chunk of bytes) { - binaryString += decoder.write(chunk); + binaryString += decoder.write(chunk) } - binaryString += decoder.end(); - return binaryString; + binaryString += decoder.end() + return binaryString } } } function decode(ioQueue, encoding) { - const bytes = combineByteSequences(ioQueue); - const BOMEncoding = BOMSniffing(bytes); - let slice = 0; + const bytes = combineByteSequences(ioQueue) + const BOMEncoding = BOMSniffing(bytes) + let slice = 0 if (BOMEncoding !== null) { - encoding = BOMEncoding; - slice = BOMEncoding === "UTF-8" ? 3 : 2; + encoding = BOMEncoding + slice = BOMEncoding === 'UTF-8' ? 3 : 2 } - const sliced = bytes.slice(slice); - return new TextDecoder(encoding).decode(sliced); + const sliced = bytes.slice(slice) + return new TextDecoder(encoding).decode(sliced) } function BOMSniffing(ioQueue) { - const [a, b, c] = ioQueue; + const [a, b, c] = ioQueue if (a === 239 && b === 187 && c === 191) { - return "UTF-8"; + return 'UTF-8' } else if (a === 254 && b === 255) { - return "UTF-16BE"; + return 'UTF-16BE' } else if (a === 255 && b === 254) { - return "UTF-16LE"; + return 'UTF-16LE' } - return null; + return null } function combineByteSequences(sequences) { const size = sequences.reduce((a, b) => { - return a + b.byteLength; - }, 0); - let offset = 0; + return a + b.byteLength + }, 0) + let offset = 0 return sequences.reduce((a, b) => { - a.set(b, offset); - offset += b.byteLength; - return a; - }, new Uint8Array(size)); + a.set(b, offset) + offset += b.byteLength + return a + }, new Uint8Array(size)) } module2.exports = { staticPropertyDescriptors, readOperation, fireAProgressEvent - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/filereader.js var require_filereader = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/filereader.js"(exports, module2) { - "use strict"; - var { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - } = require_util4(); - var { - kState, - kError, - kResult, - kEvents, - kAborted - } = require_symbols3(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/fileapi/filereader.js'( + exports, + module2 + ) { + 'use strict' + var { staticPropertyDescriptors, readOperation, fireAProgressEvent } = + require_util4() + var { kState, kError, kResult, kEvents, kAborted } = require_symbols3() + var { webidl } = require_webidl() + var { kEnumerableProperty } = require_util() var FileReader = class _FileReader extends EventTarget { constructor() { - super(); - this[kState] = "empty"; - this[kResult] = null; - this[kError] = null; + super() + this[kState] = 'empty' + this[kResult] = null + this[kError] = null this[kEvents] = { loadend: null, error: null, @@ -14822,27 +16927,31 @@ var require_filereader = __commonJS({ load: null, progress: null, loadstart: null - }; + } } /** * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer * @param {import('buffer').Blob} blob */ readAsArrayBuffer(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "ArrayBuffer"); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsArrayBuffer' + }) + blob = webidl.converters.Blob(blob, { strict: false }) + readOperation(this, blob, 'ArrayBuffer') } /** * @see https://w3c.github.io/FileAPI/#readAsBinaryString * @param {import('buffer').Blob} blob */ readAsBinaryString(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "BinaryString"); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsBinaryString' + }) + blob = webidl.converters.Blob(blob, { strict: false }) + readOperation(this, blob, 'BinaryString') } /** * @see https://w3c.github.io/FileAPI/#readAsDataText @@ -14850,170 +16959,174 @@ var require_filereader = __commonJS({ * @param {string?} encoding */ readAsText(blob, encoding = void 0) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); - blob = webidl.converters.Blob(blob, { strict: false }); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsText' + }) + blob = webidl.converters.Blob(blob, { strict: false }) if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); + encoding = webidl.converters.DOMString(encoding) } - readOperation(this, blob, "Text", encoding); + readOperation(this, blob, 'Text', encoding) } /** * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL * @param {import('buffer').Blob} blob */ readAsDataURL(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "DataURL"); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsDataURL' + }) + blob = webidl.converters.Blob(blob, { strict: false }) + readOperation(this, blob, 'DataURL') } /** * @see https://w3c.github.io/FileAPI/#dfn-abort */ abort() { - if (this[kState] === "empty" || this[kState] === "done") { - this[kResult] = null; - return; + if (this[kState] === 'empty' || this[kState] === 'done') { + this[kResult] = null + return } - if (this[kState] === "loading") { - this[kState] = "done"; - this[kResult] = null; + if (this[kState] === 'loading') { + this[kState] = 'done' + this[kResult] = null } - this[kAborted] = true; - fireAProgressEvent("abort", this); - if (this[kState] !== "loading") { - fireAProgressEvent("loadend", this); + this[kAborted] = true + fireAProgressEvent('abort', this) + if (this[kState] !== 'loading') { + fireAProgressEvent('loadend', this) } } /** * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate */ get readyState() { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) switch (this[kState]) { - case "empty": - return this.EMPTY; - case "loading": - return this.LOADING; - case "done": - return this.DONE; + case 'empty': + return this.EMPTY + case 'loading': + return this.LOADING + case 'done': + return this.DONE } } /** * @see https://w3c.github.io/FileAPI/#dom-filereader-result */ get result() { - webidl.brandCheck(this, _FileReader); - return this[kResult]; + webidl.brandCheck(this, _FileReader) + return this[kResult] } /** * @see https://w3c.github.io/FileAPI/#dom-filereader-error */ get error() { - webidl.brandCheck(this, _FileReader); - return this[kError]; + webidl.brandCheck(this, _FileReader) + return this[kError] } get onloadend() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].loadend; + webidl.brandCheck(this, _FileReader) + return this[kEvents].loadend } set onloadend(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].loadend) { - this.removeEventListener("loadend", this[kEvents].loadend); + this.removeEventListener('loadend', this[kEvents].loadend) } - if (typeof fn === "function") { - this[kEvents].loadend = fn; - this.addEventListener("loadend", fn); + if (typeof fn === 'function') { + this[kEvents].loadend = fn + this.addEventListener('loadend', fn) } else { - this[kEvents].loadend = null; + this[kEvents].loadend = null } } get onerror() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].error; + webidl.brandCheck(this, _FileReader) + return this[kEvents].error } set onerror(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].error) { - this.removeEventListener("error", this[kEvents].error); + this.removeEventListener('error', this[kEvents].error) } - if (typeof fn === "function") { - this[kEvents].error = fn; - this.addEventListener("error", fn); + if (typeof fn === 'function') { + this[kEvents].error = fn + this.addEventListener('error', fn) } else { - this[kEvents].error = null; + this[kEvents].error = null } } get onloadstart() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].loadstart; + webidl.brandCheck(this, _FileReader) + return this[kEvents].loadstart } set onloadstart(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].loadstart) { - this.removeEventListener("loadstart", this[kEvents].loadstart); + this.removeEventListener('loadstart', this[kEvents].loadstart) } - if (typeof fn === "function") { - this[kEvents].loadstart = fn; - this.addEventListener("loadstart", fn); + if (typeof fn === 'function') { + this[kEvents].loadstart = fn + this.addEventListener('loadstart', fn) } else { - this[kEvents].loadstart = null; + this[kEvents].loadstart = null } } get onprogress() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].progress; + webidl.brandCheck(this, _FileReader) + return this[kEvents].progress } set onprogress(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].progress) { - this.removeEventListener("progress", this[kEvents].progress); + this.removeEventListener('progress', this[kEvents].progress) } - if (typeof fn === "function") { - this[kEvents].progress = fn; - this.addEventListener("progress", fn); + if (typeof fn === 'function') { + this[kEvents].progress = fn + this.addEventListener('progress', fn) } else { - this[kEvents].progress = null; + this[kEvents].progress = null } } get onload() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].load; + webidl.brandCheck(this, _FileReader) + return this[kEvents].load } set onload(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].load) { - this.removeEventListener("load", this[kEvents].load); + this.removeEventListener('load', this[kEvents].load) } - if (typeof fn === "function") { - this[kEvents].load = fn; - this.addEventListener("load", fn); + if (typeof fn === 'function') { + this[kEvents].load = fn + this.addEventListener('load', fn) } else { - this[kEvents].load = null; + this[kEvents].load = null } } get onabort() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].abort; + webidl.brandCheck(this, _FileReader) + return this[kEvents].abort } set onabort(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].abort) { - this.removeEventListener("abort", this[kEvents].abort); + this.removeEventListener('abort', this[kEvents].abort) } - if (typeof fn === "function") { - this[kEvents].abort = fn; - this.addEventListener("abort", fn); + if (typeof fn === 'function') { + this[kEvents].abort = fn + this.addEventListener('abort', fn) } else { - this[kEvents].abort = null; + this[kEvents].abort = null } } - }; - FileReader.EMPTY = FileReader.prototype.EMPTY = 0; - FileReader.LOADING = FileReader.prototype.LOADING = 1; - FileReader.DONE = FileReader.prototype.DONE = 2; + } + FileReader.EMPTY = FileReader.prototype.EMPTY = 0 + FileReader.LOADING = FileReader.prototype.LOADING = 1 + FileReader.DONE = FileReader.prototype.DONE = 2 Object.defineProperties(FileReader.prototype, { EMPTY: staticPropertyDescriptors, LOADING: staticPropertyDescriptors, @@ -15033,368 +17146,405 @@ var require_filereader = __commonJS({ onerror: kEnumerableProperty, onloadend: kEnumerableProperty, [Symbol.toStringTag]: { - value: "FileReader", + value: 'FileReader', writable: false, enumerable: false, configurable: true } - }); + }) Object.defineProperties(FileReader, { EMPTY: staticPropertyDescriptors, LOADING: staticPropertyDescriptors, DONE: staticPropertyDescriptors - }); + }) module2.exports = { FileReader - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/symbols.js var require_symbols4 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kConstruct: Symbol("constructable") - }; + kConstruct: Symbol('constructable') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/util.js var require_util5 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL(); - var { isValidHeaderName } = require_util2(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/util.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { URLSerializer } = require_dataURL() + var { isValidHeaderName } = require_util2() function urlEquals(A, B, excludeFragment = false) { - const serializedA = URLSerializer(A, excludeFragment); - const serializedB = URLSerializer(B, excludeFragment); - return serializedA === serializedB; + const serializedA = URLSerializer(A, excludeFragment) + const serializedB = URLSerializer(B, excludeFragment) + return serializedA === serializedB } function fieldValues(header) { - assert(header !== null); - const values = []; - for (let value of header.split(",")) { - value = value.trim(); + assert(header !== null) + const values = [] + for (let value of header.split(',')) { + value = value.trim() if (!value.length) { - continue; + continue } else if (!isValidHeaderName(value)) { - continue; + continue } - values.push(value); + values.push(value) } - return values; + return values } module2.exports = { urlEquals, fieldValues - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/cache.js var require_cache = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/cache.js"(exports, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { urlEquals, fieldValues: getFieldValues } = require_util5(); - var { kEnumerableProperty, isDisturbed } = require_util(); - var { kHeadersList } = require_symbols(); - var { webidl } = require_webidl(); - var { Response, cloneResponse } = require_response(); - var { Request } = require_request2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { fetching } = require_fetch(); - var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global2(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/cache.js'( + exports, + module2 + ) { + 'use strict' + var { kConstruct } = require_symbols4() + var { urlEquals, fieldValues: getFieldValues } = require_util5() + var { kEnumerableProperty, isDisturbed } = require_util() + var { kHeadersList } = require_symbols() + var { webidl } = require_webidl() + var { Response, cloneResponse } = require_response() + var { Request } = require_request2() + var { kState, kHeaders, kGuard, kRealm } = require_symbols2() + var { fetching } = require_fetch() + var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = + require_util2() + var assert = require('assert') + var { getGlobalDispatcher } = require_global2() var Cache = class _Cache { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list * @type {requestResponseList} */ - #relevantRequestResponseList; + #relevantRequestResponseList constructor() { if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); + webidl.illegalConstructor() } - this.#relevantRequestResponseList = arguments[1]; + this.#relevantRequestResponseList = arguments[1] } async match(request, options = {}) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - const p = await this.matchAll(request, options); + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.match' }) + request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + const p = await this.matchAll(request, options) if (p.length === 0) { - return; + return } - return p[0]; + return p[0] } async matchAll(request = void 0, options = {}) { - webidl.brandCheck(this, _Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; + webidl.brandCheck(this, _Cache) + if (request !== void 0) request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + let r = null if (request !== void 0) { if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; + r = request[kState] + if (r.method !== 'GET' && !options.ignoreMethod) { + return [] } - } else if (typeof request === "string") { - r = new Request(request)[kState]; + } else if (typeof request === 'string') { + r = new Request(request)[kState] } } - const responses = []; + const responses = [] if (request === void 0) { for (const requestResponse of this.#relevantRequestResponseList) { - responses.push(requestResponse[1]); + responses.push(requestResponse[1]) } } else { - const requestResponses = this.#queryCache(r, options); + const requestResponses = this.#queryCache(r, options) for (const requestResponse of requestResponses) { - responses.push(requestResponse[1]); + responses.push(requestResponse[1]) } } - const responseList = []; + const responseList = [] for (const response of responses) { - const responseObject = new Response(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); + const responseObject = new Response(response.body?.source ?? null) + const body = responseObject[kState].body + responseObject[kState] = response + responseObject[kState].body = body + responseObject[kHeaders][kHeadersList] = response.headersList + responseObject[kHeaders][kGuard] = 'immutable' + responseList.push(responseObject) } - return Object.freeze(responseList); + return Object.freeze(responseList) } async add(request) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request = webidl.converters.RequestInfo(request); - const requests = [request]; - const responseArrayPromise = this.addAll(requests); - return await responseArrayPromise; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.add' }) + request = webidl.converters.RequestInfo(request) + const requests = [request] + const responseArrayPromise = this.addAll(requests) + return await responseArrayPromise } async addAll(requests) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence"](requests); - const responsePromises = []; - const requestList = []; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.addAll' }) + requests = webidl.converters['sequence'](requests) + const responsePromises = [] + const requestList = [] for (const request of requests) { - if (typeof request === "string") { - continue; + if (typeof request === 'string') { + continue } - const r = request[kState]; - if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") { + const r = request[kState] + if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') { throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme when method is not GET." - }); + header: 'Cache.addAll', + message: 'Expected http/s scheme when method is not GET.' + }) } } - const fetchControllers = []; + const fetchControllers = [] for (const request of requests) { - const r = new Request(request)[kState]; + const r = new Request(request)[kState] if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme." - }); - } - r.initiator = "fetch"; - r.destination = "subresource"; - requestList.push(r); - const responsePromise = createDeferredPromise(); - fetchControllers.push(fetching({ - request: r, - dispatcher: getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "Received an invalid status code or the request failed." - })); - } else if (response.headersList.contains("vary")) { - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "invalid vary field value" - })); - for (const controller of fetchControllers) { - controller.abort(); + header: 'Cache.addAll', + message: 'Expected http/s scheme.' + }) + } + r.initiator = 'fetch' + r.destination = 'subresource' + requestList.push(r) + const responsePromise = createDeferredPromise() + fetchControllers.push( + fetching({ + request: r, + dispatcher: getGlobalDispatcher(), + processResponse(response) { + if ( + response.type === 'error' || + response.status === 206 || + response.status < 200 || + response.status > 299 + ) { + responsePromise.reject( + webidl.errors.exception({ + header: 'Cache.addAll', + message: + 'Received an invalid status code or the request failed.' + }) + ) + } else if (response.headersList.contains('vary')) { + const fieldValues = getFieldValues( + response.headersList.get('vary') + ) + for (const fieldValue of fieldValues) { + if (fieldValue === '*') { + responsePromise.reject( + webidl.errors.exception({ + header: 'Cache.addAll', + message: 'invalid vary field value' + }) + ) + for (const controller of fetchControllers) { + controller.abort() + } + return } - return; } } + }, + processResponseEndOfBody(response) { + if (response.aborted) { + responsePromise.reject( + new DOMException('aborted', 'AbortError') + ) + return + } + responsePromise.resolve(response) } - }, - processResponseEndOfBody(response) { - if (response.aborted) { - responsePromise.reject(new DOMException("aborted", "AbortError")); - return; - } - responsePromise.resolve(response); - } - })); - responsePromises.push(responsePromise.promise); + }) + ) + responsePromises.push(responsePromise.promise) } - const p = Promise.all(responsePromises); - const responses = await p; - const operations = []; - let index = 0; + const p = Promise.all(responsePromises) + const responses = await p + const operations = [] + let index = 0 for (const response of responses) { const operation = { - type: "put", + type: 'put', // 7.3.2 request: requestList[index], // 7.3.3 response // 7.3.4 - }; - operations.push(operation); - index++; + } + operations.push(operation) + index++ } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; + const cacheJobPromise = createDeferredPromise() + let errorData = null try { - this.#batchCacheOperations(operations); + this.#batchCacheOperations(operations) } catch (e) { - errorData = e; + errorData = e } queueMicrotask(() => { if (errorData === null) { - cacheJobPromise.resolve(void 0); + cacheJobPromise.resolve(void 0) } else { - cacheJobPromise.reject(errorData); + cacheJobPromise.reject(errorData) } - }); - return cacheJobPromise.promise; + }) + return cacheJobPromise.promise } async put(request, response) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request = webidl.converters.RequestInfo(request); - response = webidl.converters.Response(response); - let innerRequest = null; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 2, { header: 'Cache.put' }) + request = webidl.converters.RequestInfo(request) + response = webidl.converters.Response(response) + let innerRequest = null if (request instanceof Request) { - innerRequest = request[kState]; + innerRequest = request[kState] } else { - innerRequest = new Request(request)[kState]; + innerRequest = new Request(request)[kState] } - if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { + if ( + !urlIsHttpHttpsScheme(innerRequest.url) || + innerRequest.method !== 'GET' + ) { throw webidl.errors.exception({ - header: "Cache.put", - message: "Expected an http/s scheme when method is not GET" - }); + header: 'Cache.put', + message: 'Expected an http/s scheme when method is not GET' + }) } - const innerResponse = response[kState]; + const innerResponse = response[kState] if (innerResponse.status === 206) { throw webidl.errors.exception({ - header: "Cache.put", - message: "Got 206 status" - }); + header: 'Cache.put', + message: 'Got 206 status' + }) } - if (innerResponse.headersList.contains("vary")) { - const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); + if (innerResponse.headersList.contains('vary')) { + const fieldValues = getFieldValues( + innerResponse.headersList.get('vary') + ) for (const fieldValue of fieldValues) { - if (fieldValue === "*") { + if (fieldValue === '*') { throw webidl.errors.exception({ - header: "Cache.put", - message: "Got * vary field value" - }); + header: 'Cache.put', + message: 'Got * vary field value' + }) } } } - if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { + if ( + innerResponse.body && + (isDisturbed(innerResponse.body.stream) || + innerResponse.body.stream.locked) + ) { throw webidl.errors.exception({ - header: "Cache.put", - message: "Response body is locked or disturbed" - }); + header: 'Cache.put', + message: 'Response body is locked or disturbed' + }) } - const clonedResponse = cloneResponse(innerResponse); - const bodyReadPromise = createDeferredPromise(); + const clonedResponse = cloneResponse(innerResponse) + const bodyReadPromise = createDeferredPromise() if (innerResponse.body != null) { - const stream = innerResponse.body.stream; - const reader = stream.getReader(); - readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); + const stream = innerResponse.body.stream + const reader = stream.getReader() + readAllBytes(reader).then( + bodyReadPromise.resolve, + bodyReadPromise.reject + ) } else { - bodyReadPromise.resolve(void 0); + bodyReadPromise.resolve(void 0) } - const operations = []; + const operations = [] const operation = { - type: "put", + type: 'put', // 14. request: innerRequest, // 15. response: clonedResponse // 16. - }; - operations.push(operation); - const bytes = await bodyReadPromise.promise; + } + operations.push(operation) + const bytes = await bodyReadPromise.promise if (clonedResponse.body != null) { - clonedResponse.body.source = bytes; + clonedResponse.body.source = bytes } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; + const cacheJobPromise = createDeferredPromise() + let errorData = null try { - this.#batchCacheOperations(operations); + this.#batchCacheOperations(operations) } catch (e) { - errorData = e; + errorData = e } queueMicrotask(() => { if (errorData === null) { - cacheJobPromise.resolve(); + cacheJobPromise.resolve() } else { - cacheJobPromise.reject(errorData); + cacheJobPromise.reject(errorData) } - }); - return cacheJobPromise.promise; + }) + return cacheJobPromise.promise } async delete(request, options = {}) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.delete' }) + request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + let r = null if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return false; + r = request[kState] + if (r.method !== 'GET' && !options.ignoreMethod) { + return false } } else { - assert(typeof request === "string"); - r = new Request(request)[kState]; + assert(typeof request === 'string') + r = new Request(request)[kState] } - const operations = []; + const operations = [] const operation = { - type: "delete", + type: 'delete', request: r, options - }; - operations.push(operation); - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - let requestResponses; + } + operations.push(operation) + const cacheJobPromise = createDeferredPromise() + let errorData = null + let requestResponses try { - requestResponses = this.#batchCacheOperations(operations); + requestResponses = this.#batchCacheOperations(operations) } catch (e) { - errorData = e; + errorData = e } queueMicrotask(() => { if (errorData === null) { - cacheJobPromise.resolve(!!requestResponses?.length); + cacheJobPromise.resolve(!!requestResponses?.length) } else { - cacheJobPromise.reject(errorData); + cacheJobPromise.reject(errorData) } - }); - return cacheJobPromise.promise; + }) + return cacheJobPromise.promise } /** * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys @@ -15403,46 +17553,45 @@ var require_cache = __commonJS({ * @returns {readonly Request[]} */ async keys(request = void 0, options = {}) { - webidl.brandCheck(this, _Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; + webidl.brandCheck(this, _Cache) + if (request !== void 0) request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + let r = null if (request !== void 0) { if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; + r = request[kState] + if (r.method !== 'GET' && !options.ignoreMethod) { + return [] } - } else if (typeof request === "string") { - r = new Request(request)[kState]; + } else if (typeof request === 'string') { + r = new Request(request)[kState] } } - const promise = createDeferredPromise(); - const requests = []; + const promise = createDeferredPromise() + const requests = [] if (request === void 0) { for (const requestResponse of this.#relevantRequestResponseList) { - requests.push(requestResponse[0]); + requests.push(requestResponse[0]) } } else { - const requestResponses = this.#queryCache(r, options); + const requestResponses = this.#queryCache(r, options) for (const requestResponse of requestResponses) { - requests.push(requestResponse[0]); + requests.push(requestResponse[0]) } } queueMicrotask(() => { - const requestList = []; + const requestList = [] for (const request2 of requests) { - const requestObject = new Request("https://a"); - requestObject[kState] = request2; - requestObject[kHeaders][kHeadersList] = request2.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request2.client; - requestList.push(requestObject); - } - promise.resolve(Object.freeze(requestList)); - }); - return promise.promise; + const requestObject = new Request('https://a') + requestObject[kState] = request2 + requestObject[kHeaders][kHeadersList] = request2.headersList + requestObject[kHeaders][kGuard] = 'immutable' + requestObject[kRealm] = request2.client + requestList.push(requestObject) + } + promise.resolve(Object.freeze(requestList)) + }) + return promise.promise } /** * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm @@ -15450,80 +17599,87 @@ var require_cache = __commonJS({ * @returns {requestResponseList} */ #batchCacheOperations(operations) { - const cache = this.#relevantRequestResponseList; - const backupCache = [...cache]; - const addedItems = []; - const resultList = []; + const cache = this.#relevantRequestResponseList + const backupCache = [...cache] + const addedItems = [] + const resultList = [] try { for (const operation of operations) { - if (operation.type !== "delete" && operation.type !== "put") { + if (operation.type !== 'delete' && operation.type !== 'put') { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", + header: 'Cache.#batchCacheOperations', message: 'operation type does not match "delete" or "put"' - }); + }) } - if (operation.type === "delete" && operation.response != null) { + if (operation.type === 'delete' && operation.response != null) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "delete operation should not have an associated response" - }); + header: 'Cache.#batchCacheOperations', + message: + 'delete operation should not have an associated response' + }) } - if (this.#queryCache(operation.request, operation.options, addedItems).length) { - throw new DOMException("???", "InvalidStateError"); + if ( + this.#queryCache(operation.request, operation.options, addedItems) + .length + ) { + throw new DOMException('???', 'InvalidStateError') } - let requestResponses; - if (operation.type === "delete") { - requestResponses = this.#queryCache(operation.request, operation.options); + let requestResponses + if (operation.type === 'delete') { + requestResponses = this.#queryCache( + operation.request, + operation.options + ) if (requestResponses.length === 0) { - return []; + return [] } for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); + const idx = cache.indexOf(requestResponse) + assert(idx !== -1) + cache.splice(idx, 1) } - } else if (operation.type === "put") { + } else if (operation.type === 'put') { if (operation.response == null) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "put operation should have an associated response" - }); + header: 'Cache.#batchCacheOperations', + message: 'put operation should have an associated response' + }) } - const r = operation.request; + const r = operation.request if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "expected http or https scheme" - }); + header: 'Cache.#batchCacheOperations', + message: 'expected http or https scheme' + }) } - if (r.method !== "GET") { + if (r.method !== 'GET') { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "not get method" - }); + header: 'Cache.#batchCacheOperations', + message: 'not get method' + }) } if (operation.options != null) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "options must not be defined" - }); + header: 'Cache.#batchCacheOperations', + message: 'options must not be defined' + }) } - requestResponses = this.#queryCache(operation.request); + requestResponses = this.#queryCache(operation.request) for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); + const idx = cache.indexOf(requestResponse) + assert(idx !== -1) + cache.splice(idx, 1) } - cache.push([operation.request, operation.response]); - addedItems.push([operation.request, operation.response]); + cache.push([operation.request, operation.response]) + addedItems.push([operation.request, operation.response]) } - resultList.push([operation.request, operation.response]); + resultList.push([operation.request, operation.response]) } - return resultList; + return resultList } catch (e) { - this.#relevantRequestResponseList.length = 0; - this.#relevantRequestResponseList = backupCache; - throw e; + this.#relevantRequestResponseList.length = 0 + this.#relevantRequestResponseList = backupCache + throw e } } /** @@ -15534,15 +17690,22 @@ var require_cache = __commonJS({ * @returns {requestResponseList} */ #queryCache(requestQuery, options, targetStorage) { - const resultList = []; - const storage = targetStorage ?? this.#relevantRequestResponseList; + const resultList = [] + const storage = targetStorage ?? this.#relevantRequestResponseList for (const requestResponse of storage) { - const [cachedRequest, cachedResponse] = requestResponse; - if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { - resultList.push(requestResponse); + const [cachedRequest, cachedResponse] = requestResponse + if ( + this.#requestMatchesCachedItem( + requestQuery, + cachedRequest, + cachedResponse, + options + ) + ) { + resultList.push(requestResponse) } } - return resultList; + return resultList } /** * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm @@ -15552,36 +17715,45 @@ var require_cache = __commonJS({ * @param {import('../../types/cache').CacheQueryOptions | undefined} options * @returns {boolean} */ - #requestMatchesCachedItem(requestQuery, request, response = null, options) { - const queryURL = new URL(requestQuery.url); - const cachedURL = new URL(request.url); + #requestMatchesCachedItem( + requestQuery, + request, + response = null, + options + ) { + const queryURL = new URL(requestQuery.url) + const cachedURL = new URL(request.url) if (options?.ignoreSearch) { - cachedURL.search = ""; - queryURL.search = ""; + cachedURL.search = '' + queryURL.search = '' } if (!urlEquals(queryURL, cachedURL, true)) { - return false; + return false } - if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { - return true; + if ( + response == null || + options?.ignoreVary || + !response.headersList.contains('vary') + ) { + return true } - const fieldValues = getFieldValues(response.headersList.get("vary")); + const fieldValues = getFieldValues(response.headersList.get('vary')) for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - return false; + if (fieldValue === '*') { + return false } - const requestValue = request.headersList.get(fieldValue); - const queryValue = requestQuery.headersList.get(fieldValue); + const requestValue = request.headersList.get(fieldValue) + const queryValue = requestQuery.headersList.get(fieldValue) if (requestValue !== queryValue) { - return false; + return false } } - return true; + return true } - }; + } Object.defineProperties(Cache.prototype, { [Symbol.toStringTag]: { - value: "Cache", + value: 'Cache', configurable: true }, match: kEnumerableProperty, @@ -15591,78 +17763,85 @@ var require_cache = __commonJS({ put: kEnumerableProperty, delete: kEnumerableProperty, keys: kEnumerableProperty - }); + }) var cacheQueryOptionConverters = [ { - key: "ignoreSearch", + key: 'ignoreSearch', converter: webidl.converters.boolean, defaultValue: false }, { - key: "ignoreMethod", + key: 'ignoreMethod', converter: webidl.converters.boolean, defaultValue: false }, { - key: "ignoreVary", + key: 'ignoreVary', converter: webidl.converters.boolean, defaultValue: false } - ]; - webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); + ] + webidl.converters.CacheQueryOptions = webidl.dictionaryConverter( + cacheQueryOptionConverters + ) webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ ...cacheQueryOptionConverters, { - key: "cacheName", + key: 'cacheName', converter: webidl.converters.DOMString } - ]); - webidl.converters.Response = webidl.interfaceConverter(Response); - webidl.converters["sequence"] = webidl.sequenceConverter( + ]) + webidl.converters.Response = webidl.interfaceConverter(Response) + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.RequestInfo - ); + ) module2.exports = { Cache - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/cachestorage.js var require_cachestorage = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/cachestorage.js"(exports, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { Cache } = require_cache(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cache/cachestorage.js'( + exports, + module2 + ) { + 'use strict' + var { kConstruct } = require_symbols4() + var { Cache } = require_cache() + var { webidl } = require_webidl() + var { kEnumerableProperty } = require_util() var CacheStorage = class _CacheStorage { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map * @type {Map} */ async has(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.has(cacheName); + webidl.brandCheck(this, _CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.has' }) + cacheName = webidl.converters.DOMString(cacheName) + return this.#caches.has(cacheName) } /** * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open @@ -15684,16 +17863,18 @@ var require_cachestorage = __commonJS({ * @returns {Promise} */ async open(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); + webidl.brandCheck(this, _CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { + header: 'CacheStorage.open' + }) + cacheName = webidl.converters.DOMString(cacheName) if (this.#caches.has(cacheName)) { - const cache2 = this.#caches.get(cacheName); - return new Cache(kConstruct, cache2); + const cache2 = this.#caches.get(cacheName) + return new Cache(kConstruct, cache2) } - const cache = []; - this.#caches.set(cacheName, cache); - return new Cache(kConstruct, cache); + const cache = [] + this.#caches.set(cacheName, cache) + return new Cache(kConstruct, cache) } /** * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete @@ -15701,24 +17882,26 @@ var require_cachestorage = __commonJS({ * @returns {Promise} */ async delete(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.delete(cacheName); + webidl.brandCheck(this, _CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { + header: 'CacheStorage.delete' + }) + cacheName = webidl.converters.DOMString(cacheName) + return this.#caches.delete(cacheName) } /** * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys * @returns {string[]} */ async keys() { - webidl.brandCheck(this, _CacheStorage); - const keys = this.#caches.keys(); - return [...keys]; + webidl.brandCheck(this, _CacheStorage) + const keys = this.#caches.keys() + return [...keys] } - }; + } Object.defineProperties(CacheStorage.prototype, { [Symbol.toStringTag]: { - value: "CacheStorage", + value: 'CacheStorage', configurable: true }, match: kEnumerableProperty, @@ -15726,469 +17909,517 @@ var require_cachestorage = __commonJS({ open: kEnumerableProperty, delete: kEnumerableProperty, keys: kEnumerableProperty - }); + }) module2.exports = { CacheStorage - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/constants.js var require_constants3 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/constants.js"(exports, module2) { - "use strict"; - var maxAttributeValueSize = 1024; - var maxNameValuePairSize = 4096; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/constants.js'( + exports, + module2 + ) { + 'use strict' + var maxAttributeValueSize = 1024 + var maxNameValuePairSize = 4096 module2.exports = { maxAttributeValueSize, maxNameValuePairSize - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/util.js var require_util6 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { kHeadersList } = require_symbols(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/util.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { kHeadersList } = require_symbols() function isCTLExcludingHtab(value) { if (value.length === 0) { - return false; + return false } for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; + const code = char.charCodeAt(0) + if ( + code >= 0 || + code <= 8 || + code >= 10 || + code <= 31 || + code === 127 + ) { + return false } } } function validateCookieName(name) { for (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { - throw new Error("Invalid cookie name"); + const code = char.charCodeAt(0) + if ( + code <= 32 || + code > 127 || + char === '(' || + char === ')' || + char === '>' || + char === '<' || + char === '@' || + char === ',' || + char === ';' || + char === ':' || + char === '\\' || + char === '"' || + char === '/' || + char === '[' || + char === ']' || + char === '?' || + char === '=' || + char === '{' || + char === '}' + ) { + throw new Error('Invalid cookie name') } } } function validateCookieValue(value) { for (const char of value) { - const code = char.charCodeAt(0); - if (code < 33 || // exclude CTLs (0-31) - code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); + const code = char.charCodeAt(0) + if ( + code < 33 || // exclude CTLs (0-31) + code === 34 || + code === 44 || + code === 59 || + code === 92 || + code > 126 + ) { + throw new Error('Invalid header value') } } } function validateCookiePath(path) { for (const char of path) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { - throw new Error("Invalid cookie path"); + const code = char.charCodeAt(0) + if (code < 33 || char === ';') { + throw new Error('Invalid cookie path') } } } function validateCookieDomain(domain) { - if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { - throw new Error("Invalid cookie domain"); + if ( + domain.startsWith('-') || + domain.endsWith('.') || + domain.endsWith('-') + ) { + throw new Error('Invalid cookie domain') } } function toIMFDate(date) { - if (typeof date === "number") { - date = new Date(date); - } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; + if (typeof date === 'number') { + date = new Date(date) + } + const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec' + ] + const dayName = days[date.getUTCDay()] + const day = date.getUTCDate().toString().padStart(2, '0') + const month = months[date.getUTCMonth()] + const year = date.getUTCFullYear() + const hour = date.getUTCHours().toString().padStart(2, '0') + const minute = date.getUTCMinutes().toString().padStart(2, '0') + const second = date.getUTCSeconds().toString().padStart(2, '0') + return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT` } function validateCookieMaxAge(maxAge) { if (maxAge < 0) { - throw new Error("Invalid cookie max-age"); + throw new Error('Invalid cookie max-age') } } function stringify2(cookie) { if (cookie.name.length === 0) { - return null; + return null } - validateCookieName(cookie.name); - validateCookieValue(cookie.value); - const out = [`${cookie.name}=${cookie.value}`]; - if (cookie.name.startsWith("__Secure-")) { - cookie.secure = true; + validateCookieName(cookie.name) + validateCookieValue(cookie.value) + const out = [`${cookie.name}=${cookie.value}`] + if (cookie.name.startsWith('__Secure-')) { + cookie.secure = true } - if (cookie.name.startsWith("__Host-")) { - cookie.secure = true; - cookie.domain = null; - cookie.path = "/"; + if (cookie.name.startsWith('__Host-')) { + cookie.secure = true + cookie.domain = null + cookie.path = '/' } if (cookie.secure) { - out.push("Secure"); + out.push('Secure') } if (cookie.httpOnly) { - out.push("HttpOnly"); + out.push('HttpOnly') } - if (typeof cookie.maxAge === "number") { - validateCookieMaxAge(cookie.maxAge); - out.push(`Max-Age=${cookie.maxAge}`); + if (typeof cookie.maxAge === 'number') { + validateCookieMaxAge(cookie.maxAge) + out.push(`Max-Age=${cookie.maxAge}`) } if (cookie.domain) { - validateCookieDomain(cookie.domain); - out.push(`Domain=${cookie.domain}`); + validateCookieDomain(cookie.domain) + out.push(`Domain=${cookie.domain}`) } if (cookie.path) { - validateCookiePath(cookie.path); - out.push(`Path=${cookie.path}`); + validateCookiePath(cookie.path) + out.push(`Path=${cookie.path}`) } - if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { - out.push(`Expires=${toIMFDate(cookie.expires)}`); + if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') { + out.push(`Expires=${toIMFDate(cookie.expires)}`) } if (cookie.sameSite) { - out.push(`SameSite=${cookie.sameSite}`); + out.push(`SameSite=${cookie.sameSite}`) } for (const part of cookie.unparsed) { - if (!part.includes("=")) { - throw new Error("Invalid unparsed"); + if (!part.includes('=')) { + throw new Error('Invalid unparsed') } - const [key, ...value] = part.split("="); - out.push(`${key.trim()}=${value.join("=")}`); + const [key, ...value] = part.split('=') + out.push(`${key.trim()}=${value.join('=')}`) } - return out.join("; "); + return out.join('; ') } - var kHeadersListNode; + var kHeadersListNode function getHeadersList(headers) { if (headers[kHeadersList]) { - return headers[kHeadersList]; + return headers[kHeadersList] } if (!kHeadersListNode) { kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === "headers list" - ); - assert(kHeadersListNode, "Headers cannot be parsed"); + (symbol) => symbol.description === 'headers list' + ) + assert(kHeadersListNode, 'Headers cannot be parsed') } - const headersList = headers[kHeadersListNode]; - assert(headersList); - return headersList; + const headersList = headers[kHeadersListNode] + assert(headersList) + return headersList } module2.exports = { isCTLExcludingHtab, stringify: stringify2, getHeadersList - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/parse.js var require_parse = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/parse.js"(exports, module2) { - "use strict"; - var { maxNameValuePairSize, maxAttributeValueSize } = require_constants3(); - var { isCTLExcludingHtab } = require_util6(); - var { collectASequenceOfCodePointsFast } = require_dataURL(); - var assert = require("assert"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/parse.js'( + exports, + module2 + ) { + 'use strict' + var { maxNameValuePairSize, maxAttributeValueSize } = require_constants3() + var { isCTLExcludingHtab } = require_util6() + var { collectASequenceOfCodePointsFast } = require_dataURL() + var assert = require('assert') function parseSetCookie(header) { if (isCTLExcludingHtab(header)) { - return null; - } - let nameValuePair = ""; - let unparsedAttributes = ""; - let name = ""; - let value = ""; - if (header.includes(";")) { - const position = { position: 0 }; - nameValuePair = collectASequenceOfCodePointsFast(";", header, position); - unparsedAttributes = header.slice(position.position); + return null + } + let nameValuePair = '' + let unparsedAttributes = '' + let name = '' + let value = '' + if (header.includes(';')) { + const position = { position: 0 } + nameValuePair = collectASequenceOfCodePointsFast(';', header, position) + unparsedAttributes = header.slice(position.position) } else { - nameValuePair = header; + nameValuePair = header } - if (!nameValuePair.includes("=")) { - value = nameValuePair; + if (!nameValuePair.includes('=')) { + value = nameValuePair } else { - const position = { position: 0 }; - name = collectASequenceOfCodePointsFast( - "=", - nameValuePair, - position - ); - value = nameValuePair.slice(position.position + 1); + const position = { position: 0 } + name = collectASequenceOfCodePointsFast('=', nameValuePair, position) + value = nameValuePair.slice(position.position + 1) } - name = name.trim(); - value = value.trim(); + name = name.trim() + value = value.trim() if (name.length + value.length > maxNameValuePairSize) { - return null; + return null } return { name, value, ...parseUnparsedAttributes(unparsedAttributes) - }; + } } - function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { + function parseUnparsedAttributes( + unparsedAttributes, + cookieAttributeList = {} + ) { if (unparsedAttributes.length === 0) { - return cookieAttributeList; - } - assert(unparsedAttributes[0] === ";"); - unparsedAttributes = unparsedAttributes.slice(1); - let cookieAv = ""; - if (unparsedAttributes.includes(";")) { - cookieAv = collectASequenceOfCodePointsFast( - ";", - unparsedAttributes, - { position: 0 } - ); - unparsedAttributes = unparsedAttributes.slice(cookieAv.length); + return cookieAttributeList + } + assert(unparsedAttributes[0] === ';') + unparsedAttributes = unparsedAttributes.slice(1) + let cookieAv = '' + if (unparsedAttributes.includes(';')) { + cookieAv = collectASequenceOfCodePointsFast(';', unparsedAttributes, { + position: 0 + }) + unparsedAttributes = unparsedAttributes.slice(cookieAv.length) } else { - cookieAv = unparsedAttributes; - unparsedAttributes = ""; + cookieAv = unparsedAttributes + unparsedAttributes = '' } - let attributeName = ""; - let attributeValue = ""; - if (cookieAv.includes("=")) { - const position = { position: 0 }; + let attributeName = '' + let attributeValue = '' + if (cookieAv.includes('=')) { + const position = { position: 0 } attributeName = collectASequenceOfCodePointsFast( - "=", + '=', cookieAv, position - ); - attributeValue = cookieAv.slice(position.position + 1); + ) + attributeValue = cookieAv.slice(position.position + 1) } else { - attributeName = cookieAv; + attributeName = cookieAv } - attributeName = attributeName.trim(); - attributeValue = attributeValue.trim(); + attributeName = attributeName.trim() + attributeValue = attributeValue.trim() if (attributeValue.length > maxAttributeValueSize) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const attributeNameLowercase = attributeName.toLowerCase(); - if (attributeNameLowercase === "expires") { - const expiryTime = new Date(attributeValue); - cookieAttributeList.expires = expiryTime; - } else if (attributeNameLowercase === "max-age") { - const charCode = attributeValue.charCodeAt(0); - if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList) + } + const attributeNameLowercase = attributeName.toLowerCase() + if (attributeNameLowercase === 'expires') { + const expiryTime = new Date(attributeValue) + cookieAttributeList.expires = expiryTime + } else if (attributeNameLowercase === 'max-age') { + const charCode = attributeValue.charCodeAt(0) + if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') { + return parseUnparsedAttributes( + unparsedAttributes, + cookieAttributeList + ) } if (!/^\d+$/.test(attributeValue)) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const deltaSeconds = Number(attributeValue); - cookieAttributeList.maxAge = deltaSeconds; - } else if (attributeNameLowercase === "domain") { - let cookieDomain = attributeValue; - if (cookieDomain[0] === ".") { - cookieDomain = cookieDomain.slice(1); - } - cookieDomain = cookieDomain.toLowerCase(); - cookieAttributeList.domain = cookieDomain; - } else if (attributeNameLowercase === "path") { - let cookiePath = ""; - if (attributeValue.length === 0 || attributeValue[0] !== "/") { - cookiePath = "/"; + return parseUnparsedAttributes( + unparsedAttributes, + cookieAttributeList + ) + } + const deltaSeconds = Number(attributeValue) + cookieAttributeList.maxAge = deltaSeconds + } else if (attributeNameLowercase === 'domain') { + let cookieDomain = attributeValue + if (cookieDomain[0] === '.') { + cookieDomain = cookieDomain.slice(1) + } + cookieDomain = cookieDomain.toLowerCase() + cookieAttributeList.domain = cookieDomain + } else if (attributeNameLowercase === 'path') { + let cookiePath = '' + if (attributeValue.length === 0 || attributeValue[0] !== '/') { + cookiePath = '/' } else { - cookiePath = attributeValue; - } - cookieAttributeList.path = cookiePath; - } else if (attributeNameLowercase === "secure") { - cookieAttributeList.secure = true; - } else if (attributeNameLowercase === "httponly") { - cookieAttributeList.httpOnly = true; - } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; - const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; - } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; - } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; - } - cookieAttributeList.sameSite = enforcement; + cookiePath = attributeValue + } + cookieAttributeList.path = cookiePath + } else if (attributeNameLowercase === 'secure') { + cookieAttributeList.secure = true + } else if (attributeNameLowercase === 'httponly') { + cookieAttributeList.httpOnly = true + } else if (attributeNameLowercase === 'samesite') { + let enforcement = 'Default' + const attributeValueLowercase = attributeValue.toLowerCase() + if (attributeValueLowercase.includes('none')) { + enforcement = 'None' + } + if (attributeValueLowercase.includes('strict')) { + enforcement = 'Strict' + } + if (attributeValueLowercase.includes('lax')) { + enforcement = 'Lax' + } + cookieAttributeList.sameSite = enforcement } else { - cookieAttributeList.unparsed ??= []; - cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); + cookieAttributeList.unparsed ??= [] + cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`) } - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList) } module2.exports = { parseSetCookie, parseUnparsedAttributes - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/index.js var require_cookies = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/index.js"(exports, module2) { - "use strict"; - var { parseSetCookie } = require_parse(); - var { stringify: stringify2, getHeadersList } = require_util6(); - var { webidl } = require_webidl(); - var { Headers } = require_headers(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/cookies/index.js'( + exports, + module2 + ) { + 'use strict' + var { parseSetCookie } = require_parse() + var { stringify: stringify2, getHeadersList } = require_util6() + var { webidl } = require_webidl() + var { Headers } = require_headers() function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookie = headers.get("cookie"); - const out = {}; + webidl.argumentLengthCheck(arguments, 1, { header: 'getCookies' }) + webidl.brandCheck(headers, Headers, { strict: false }) + const cookie = headers.get('cookie') + const out = {} if (!cookie) { - return out; + return out } - for (const piece of cookie.split(";")) { - const [name, ...value] = piece.split("="); - out[name.trim()] = value.join("="); + for (const piece of cookie.split(';')) { + const [name, ...value] = piece.split('=') + out[name.trim()] = value.join('=') } - return out; + return out } function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - name = webidl.converters.DOMString(name); - attributes = webidl.converters.DeleteCookieAttributes(attributes); + webidl.argumentLengthCheck(arguments, 2, { header: 'deleteCookie' }) + webidl.brandCheck(headers, Headers, { strict: false }) + name = webidl.converters.DOMString(name) + attributes = webidl.converters.DeleteCookieAttributes(attributes) setCookie(headers, { name, - value: "", + value: '', expires: /* @__PURE__ */ new Date(0), ...attributes - }); + }) } function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookies = getHeadersList(headers).cookies; + webidl.argumentLengthCheck(arguments, 1, { header: 'getSetCookies' }) + webidl.brandCheck(headers, Headers, { strict: false }) + const cookies = getHeadersList(headers).cookies if (!cookies) { - return []; + return [] } - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); + return cookies.map((pair) => + parseSetCookie(Array.isArray(pair) ? pair[1] : pair) + ) } function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - cookie = webidl.converters.Cookie(cookie); - const str = stringify2(cookie); + webidl.argumentLengthCheck(arguments, 2, { header: 'setCookie' }) + webidl.brandCheck(headers, Headers, { strict: false }) + cookie = webidl.converters.Cookie(cookie) + const str = stringify2(cookie) if (str) { - headers.append("Set-Cookie", stringify2(cookie)); + headers.append('Set-Cookie', stringify2(cookie)) } } webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", + key: 'path', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", + key: 'domain', defaultValue: null } - ]); + ]) webidl.converters.Cookie = webidl.dictionaryConverter([ { converter: webidl.converters.DOMString, - key: "name" + key: 'name' }, { converter: webidl.converters.DOMString, - key: "value" + key: 'value' }, { converter: webidl.nullableConverter((value) => { - if (typeof value === "number") { - return webidl.converters["unsigned long long"](value); + if (typeof value === 'number') { + return webidl.converters['unsigned long long'](value) } - return new Date(value); + return new Date(value) }), - key: "expires", + key: 'expires', defaultValue: null }, { - converter: webidl.nullableConverter(webidl.converters["long long"]), - key: "maxAge", + converter: webidl.nullableConverter(webidl.converters['long long']), + key: 'maxAge', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", + key: 'domain', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", + key: 'path', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.boolean), - key: "secure", + key: 'secure', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.boolean), - key: "httpOnly", + key: 'httpOnly', defaultValue: null }, { converter: webidl.converters.USVString, - key: "sameSite", - allowedValues: ["Strict", "Lax", "None"] + key: 'sameSite', + allowedValues: ['Strict', 'Lax', 'None'] }, { converter: webidl.sequenceConverter(webidl.converters.DOMString), - key: "unparsed", + key: 'unparsed', defaultValue: [] } - ]); + ]) module2.exports = { getCookies, deleteCookie, getSetCookies, setCookie - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/constants.js var require_constants4 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/constants.js"(exports, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/constants.js'( + exports, + module2 + ) { + 'use strict' + var uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11' var staticPropertyDescriptors = { enumerable: true, writable: false, configurable: false - }; + } var states = { CONNECTING: 0, OPEN: 1, CLOSING: 2, CLOSED: 3 - }; + } var opcodes = { CONTINUATION: 0, TEXT: 1, @@ -16196,15 +18427,15 @@ var require_constants4 = __commonJS({ CLOSE: 8, PING: 9, PONG: 10 - }; - var maxUnsigned16Bit = 2 ** 16 - 1; + } + var maxUnsigned16Bit = 2 ** 16 - 1 var parserStates = { INFO: 0, PAYLOADLENGTH_16: 2, PAYLOADLENGTH_64: 3, READ_DATA: 4 - }; - var emptyBuffer = Buffer.allocUnsafe(0); + } + var emptyBuffer = Buffer.allocUnsafe(0) module2.exports = { uid, staticPropertyDescriptors, @@ -16213,69 +18444,88 @@ var require_constants4 = __commonJS({ maxUnsigned16Bit, parserStates, emptyBuffer - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/symbols.js var require_symbols5 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kWebSocketURL: Symbol("url"), - kReadyState: Symbol("ready state"), - kController: Symbol("controller"), - kResponse: Symbol("response"), - kBinaryType: Symbol("binary type"), - kSentClose: Symbol("sent close"), - kReceivedClose: Symbol("received close"), - kByteParser: Symbol("byte parser") - }; + kWebSocketURL: Symbol('url'), + kReadyState: Symbol('ready state'), + kController: Symbol('controller'), + kResponse: Symbol('response'), + kBinaryType: Symbol('binary type'), + kSentClose: Symbol('sent close'), + kReceivedClose: Symbol('received close'), + kByteParser: Symbol('byte parser') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/events.js var require_events = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/events.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var { MessagePort } = require("worker_threads"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/events.js'( + exports, + module2 + ) { + 'use strict' + var { webidl } = require_webidl() + var { kEnumerableProperty } = require_util() + var { MessagePort } = require('worker_threads') var MessageEvent = class _MessageEvent extends Event { - #eventInit; + #eventInit constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; + webidl.argumentLengthCheck(arguments, 1, { + header: 'MessageEvent constructor' + }) + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.MessageEventInit(eventInitDict) + super(type, eventInitDict) + this.#eventInit = eventInitDict } get data() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.data; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.data } get origin() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.origin; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.origin } get lastEventId() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.lastEventId; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.lastEventId } get source() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.source; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.source } get ports() { - webidl.brandCheck(this, _MessageEvent); + webidl.brandCheck(this, _MessageEvent) if (!Object.isFrozen(this.#eventInit.ports)) { - Object.freeze(this.#eventInit.ports); - } - return this.#eventInit.ports; - } - initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { - webidl.brandCheck(this, _MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + Object.freeze(this.#eventInit.ports) + } + return this.#eventInit.ports + } + initMessageEvent( + type, + bubbles = false, + cancelable = false, + data = null, + origin = '', + lastEventId = '', + source = null, + ports = [] + ) { + webidl.brandCheck(this, _MessageEvent) + webidl.argumentLengthCheck(arguments, 1, { + header: 'MessageEvent.initMessageEvent' + }) return new _MessageEvent(type, { bubbles, cancelable, @@ -16284,64 +18534,68 @@ var require_events = __commonJS({ lastEventId, source, ports - }); + }) } - }; + } var CloseEvent = class _CloseEvent extends Event { - #eventInit; + #eventInit constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.CloseEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; + webidl.argumentLengthCheck(arguments, 1, { + header: 'CloseEvent constructor' + }) + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.CloseEventInit(eventInitDict) + super(type, eventInitDict) + this.#eventInit = eventInitDict } get wasClean() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.wasClean; + webidl.brandCheck(this, _CloseEvent) + return this.#eventInit.wasClean } get code() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.code; + webidl.brandCheck(this, _CloseEvent) + return this.#eventInit.code } get reason() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.reason; + webidl.brandCheck(this, _CloseEvent) + return this.#eventInit.reason } - }; + } var ErrorEvent = class _ErrorEvent extends Event { - #eventInit; + #eventInit constructor(type, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); - super(type, eventInitDict); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); - this.#eventInit = eventInitDict; + webidl.argumentLengthCheck(arguments, 1, { + header: 'ErrorEvent constructor' + }) + super(type, eventInitDict) + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}) + this.#eventInit = eventInitDict } get message() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.message; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.message } get filename() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.filename; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.filename } get lineno() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.lineno; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.lineno } get colno() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.colno; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.colno } get error() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.error; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.error } - }; + } Object.defineProperties(MessageEvent.prototype, { [Symbol.toStringTag]: { - value: "MessageEvent", + value: 'MessageEvent', configurable: true }, data: kEnumerableProperty, @@ -16350,19 +18604,19 @@ var require_events = __commonJS({ source: kEnumerableProperty, ports: kEnumerableProperty, initMessageEvent: kEnumerableProperty - }); + }) Object.defineProperties(CloseEvent.prototype, { [Symbol.toStringTag]: { - value: "CloseEvent", + value: 'CloseEvent', configurable: true }, reason: kEnumerableProperty, code: kEnumerableProperty, wasClean: kEnumerableProperty - }); + }) Object.defineProperties(ErrorEvent.prototype, { [Symbol.toStringTag]: { - value: "ErrorEvent", + value: 'ErrorEvent', configurable: true }, message: kEnumerableProperty, @@ -16370,188 +18624,215 @@ var require_events = __commonJS({ lineno: kEnumerableProperty, colno: kEnumerableProperty, error: kEnumerableProperty - }); - webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); - webidl.converters["sequence"] = webidl.sequenceConverter( + }) + webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort) + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.MessagePort - ); + ) var eventInit = [ { - key: "bubbles", + key: 'bubbles', converter: webidl.converters.boolean, defaultValue: false }, { - key: "cancelable", + key: 'cancelable', converter: webidl.converters.boolean, defaultValue: false }, { - key: "composed", + key: 'composed', converter: webidl.converters.boolean, defaultValue: false } - ]; + ] webidl.converters.MessageEventInit = webidl.dictionaryConverter([ ...eventInit, { - key: "data", + key: 'data', converter: webidl.converters.any, defaultValue: null }, { - key: "origin", + key: 'origin', converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: '' }, { - key: "lastEventId", + key: 'lastEventId', converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: '' }, { - key: "source", + key: 'source', // Node doesn't implement WindowProxy or ServiceWorker, so the only // valid value for source is a MessagePort. converter: webidl.nullableConverter(webidl.converters.MessagePort), defaultValue: null }, { - key: "ports", - converter: webidl.converters["sequence"], + key: 'ports', + converter: webidl.converters['sequence'], get defaultValue() { - return []; + return [] } } - ]); + ]) webidl.converters.CloseEventInit = webidl.dictionaryConverter([ ...eventInit, { - key: "wasClean", + key: 'wasClean', converter: webidl.converters.boolean, defaultValue: false }, { - key: "code", - converter: webidl.converters["unsigned short"], + key: 'code', + converter: webidl.converters['unsigned short'], defaultValue: 0 }, { - key: "reason", + key: 'reason', converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: '' } - ]); + ]) webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ ...eventInit, { - key: "message", + key: 'message', converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: '' }, { - key: "filename", + key: 'filename', converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: '' }, { - key: "lineno", - converter: webidl.converters["unsigned long"], + key: 'lineno', + converter: webidl.converters['unsigned long'], defaultValue: 0 }, { - key: "colno", - converter: webidl.converters["unsigned long"], + key: 'colno', + converter: webidl.converters['unsigned long'], defaultValue: 0 }, { - key: "error", + key: 'error', converter: webidl.converters.any } - ]); + ]) module2.exports = { MessageEvent, CloseEvent, ErrorEvent - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/util.js var require_util7 = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/util.js"(exports, module2) { - "use strict"; - var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); - var { states, opcodes } = require_constants4(); - var { MessageEvent, ErrorEvent } = require_events(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/util.js'( + exports, + module2 + ) { + 'use strict' + var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = + require_symbols5() + var { states, opcodes } = require_constants4() + var { MessageEvent, ErrorEvent } = require_events() function isEstablished(ws) { - return ws[kReadyState] === states.OPEN; + return ws[kReadyState] === states.OPEN } function isClosing(ws) { - return ws[kReadyState] === states.CLOSING; + return ws[kReadyState] === states.CLOSING } function isClosed(ws) { - return ws[kReadyState] === states.CLOSED; + return ws[kReadyState] === states.CLOSED } function fireEvent(e, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e, eventInitDict); - target.dispatchEvent(event); + const event = new eventConstructor(e, eventInitDict) + target.dispatchEvent(event) } function websocketMessageReceived(ws, type, data) { if (ws[kReadyState] !== states.OPEN) { - return; + return } - let dataForEvent; + let dataForEvent if (type === opcodes.TEXT) { try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); + dataForEvent = new TextDecoder('utf-8', { fatal: true }).decode(data) } catch { - failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); - return; + failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.') + return } } else if (type === opcodes.BINARY) { - if (ws[kBinaryType] === "blob") { - dataForEvent = new Blob([data]); + if (ws[kBinaryType] === 'blob') { + dataForEvent = new Blob([data]) } else { - dataForEvent = new Uint8Array(data).buffer; + dataForEvent = new Uint8Array(data).buffer } } - fireEvent("message", ws, MessageEvent, { + fireEvent('message', ws, MessageEvent, { origin: ws[kWebSocketURL].origin, data: dataForEvent - }); + }) } function isValidSubprotocol(protocol) { if (protocol.length === 0) { - return false; + return false } for (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP - code === 9) { - return false; - } - } - return true; + const code = char.charCodeAt(0) + if ( + code < 33 || + code > 126 || + char === '(' || + char === ')' || + char === '<' || + char === '>' || + char === '@' || + char === ',' || + char === ';' || + char === ':' || + char === '\\' || + char === '"' || + char === '/' || + char === '[' || + char === ']' || + char === '?' || + char === '=' || + char === '{' || + char === '}' || + code === 32 || // SP + code === 9 + ) { + return false + } + } + return true } function isValidStatusCode(code) { if (code >= 1e3 && code < 1015) { - return code !== 1004 && // reserved - code !== 1005 && // "MUST NOT be set as a status code" - code !== 1006; + return ( + code !== 1004 && // reserved + code !== 1005 && // "MUST NOT be set as a status code" + code !== 1006 + ) } - return code >= 3e3 && code <= 4999; + return code >= 3e3 && code <= 4999 } function failWebsocketConnection(ws, reason) { - const { [kController]: controller, [kResponse]: response } = ws; - controller.abort(); + const { [kController]: controller, [kResponse]: response } = ws + controller.abort() if (response?.socket && !response.socket.destroyed) { - response.socket.destroy(); + response.socket.destroy() } if (reason) { - fireEvent("error", ws, ErrorEvent, { + fireEvent('error', ws, ErrorEvent, { error: new Error(reason) - }); + }) } } module2.exports = { @@ -16563,246 +18844,298 @@ var require_util7 = __commonJS({ isValidStatusCode, failWebsocketConnection, websocketMessageReceived - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/connection.js var require_connection = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/connection.js"(exports, module2) { - "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants4(); - var { - kReadyState, - kSentClose, - kByteParser, - kReceivedClose - } = require_symbols5(); - var { fireEvent, failWebsocketConnection } = require_util7(); - var { CloseEvent } = require_events(); - var { makeRequest } = require_request2(); - var { fetching } = require_fetch(); - var { Headers } = require_headers(); - var { getGlobalDispatcher } = require_global2(); - var { kHeadersList } = require_symbols(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); - var crypto4; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/connection.js'( + exports, + module2 + ) { + 'use strict' + var diagnosticsChannel = require('diagnostics_channel') + var { uid, states } = require_constants4() + var { kReadyState, kSentClose, kByteParser, kReceivedClose } = + require_symbols5() + var { fireEvent, failWebsocketConnection } = require_util7() + var { CloseEvent } = require_events() + var { makeRequest } = require_request2() + var { fetching } = require_fetch() + var { Headers } = require_headers() + var { getGlobalDispatcher } = require_global2() + var { kHeadersList } = require_symbols() + var channels = {} + channels.open = diagnosticsChannel.channel('undici:websocket:open') + channels.close = diagnosticsChannel.channel('undici:websocket:close') + channels.socketError = diagnosticsChannel.channel( + 'undici:websocket:socket_error' + ) + var crypto4 try { - crypto4 = require("crypto"); - } catch { - } - function establishWebSocketConnection(url, protocols, ws, onEstablish, options) { - const requestURL = url; - requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; + crypto4 = require('crypto') + } catch {} + function establishWebSocketConnection( + url, + protocols, + ws, + onEstablish, + options + ) { + const requestURL = url + requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:' const request = makeRequest({ urlList: [requestURL], - serviceWorkers: "none", - referrer: "no-referrer", - mode: "websocket", - credentials: "include", - cache: "no-store", - redirect: "error" - }); + serviceWorkers: 'none', + referrer: 'no-referrer', + mode: 'websocket', + credentials: 'include', + cache: 'no-store', + redirect: 'error' + }) if (options.headers) { - const headersList = new Headers(options.headers)[kHeadersList]; - request.headersList = headersList; + const headersList = new Headers(options.headers)[kHeadersList] + request.headersList = headersList } - const keyValue = crypto4.randomBytes(16).toString("base64"); - request.headersList.append("sec-websocket-key", keyValue); - request.headersList.append("sec-websocket-version", "13"); + const keyValue = crypto4.randomBytes(16).toString('base64') + request.headersList.append('sec-websocket-key', keyValue) + request.headersList.append('sec-websocket-version', '13') for (const protocol of protocols) { - request.headersList.append("sec-websocket-protocol", protocol); + request.headersList.append('sec-websocket-protocol', protocol) } - const permessageDeflate = ""; + const permessageDeflate = '' const controller = fetching({ request, useParallelQueue: true, dispatcher: options.dispatcher ?? getGlobalDispatcher(), processResponse(response) { - if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(ws, "Received network error or non-101 status code."); - return; + if (response.type === 'error' || response.status !== 101) { + failWebsocketConnection( + ws, + 'Received network error or non-101 status code.' + ) + return } - if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Server did not respond with sent protocols."); - return; + if ( + protocols.length !== 0 && + !response.headersList.get('Sec-WebSocket-Protocol') + ) { + failWebsocketConnection( + ws, + 'Server did not respond with sent protocols.' + ) + return } - if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { - failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); - return; + if ( + response.headersList.get('Upgrade')?.toLowerCase() !== 'websocket' + ) { + failWebsocketConnection( + ws, + 'Server did not set Upgrade header to "websocket".' + ) + return } - if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { - failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); - return; + if ( + response.headersList.get('Connection')?.toLowerCase() !== 'upgrade' + ) { + failWebsocketConnection( + ws, + 'Server did not set Connection header to "upgrade".' + ) + return } - const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); - const digest = crypto4.createHash("sha1").update(keyValue + uid).digest("base64"); + const secWSAccept = response.headersList.get('Sec-WebSocket-Accept') + const digest = crypto4 + .createHash('sha1') + .update(keyValue + uid) + .digest('base64') if (secWSAccept !== digest) { - failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); - return; + failWebsocketConnection( + ws, + 'Incorrect hash received in Sec-WebSocket-Accept header.' + ) + return } - const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); + const secExtension = response.headersList.get( + 'Sec-WebSocket-Extensions' + ) if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); - return; + failWebsocketConnection( + ws, + 'Received different permessage-deflate than the one set.' + ) + return } - const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); - if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); - return; + const secProtocol = response.headersList.get('Sec-WebSocket-Protocol') + if ( + secProtocol !== null && + secProtocol !== request.headersList.get('Sec-WebSocket-Protocol') + ) { + failWebsocketConnection( + ws, + 'Protocol was not set in the opening handshake.' + ) + return } - response.socket.on("data", onSocketData); - response.socket.on("close", onSocketClose); - response.socket.on("error", onSocketError); + response.socket.on('data', onSocketData) + response.socket.on('close', onSocketClose) + response.socket.on('error', onSocketError) if (channels.open.hasSubscribers) { channels.open.publish({ address: response.socket.address(), protocol: secProtocol, extensions: secExtension - }); + }) } - onEstablish(response); + onEstablish(response) } - }); - return controller; + }) + return controller } function onSocketData(chunk) { if (!this.ws[kByteParser].write(chunk)) { - this.pause(); + this.pause() } } function onSocketClose() { - const { ws } = this; - const wasClean = ws[kSentClose] && ws[kReceivedClose]; - let code = 1005; - let reason = ""; - const result = ws[kByteParser].closingInfo; + const { ws } = this + const wasClean = ws[kSentClose] && ws[kReceivedClose] + let code = 1005 + let reason = '' + const result = ws[kByteParser].closingInfo if (result) { - code = result.code ?? 1005; - reason = result.reason; + code = result.code ?? 1005 + reason = result.reason } else if (!ws[kSentClose]) { - code = 1006; + code = 1006 } - ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, CloseEvent, { + ws[kReadyState] = states.CLOSED + fireEvent('close', ws, CloseEvent, { wasClean, code, reason - }); + }) if (channels.close.hasSubscribers) { channels.close.publish({ websocket: ws, code, reason - }); + }) } } function onSocketError(error) { - const { ws } = this; - ws[kReadyState] = states.CLOSING; + const { ws } = this + ws[kReadyState] = states.CLOSING if (channels.socketError.hasSubscribers) { - channels.socketError.publish(error); + channels.socketError.publish(error) } - this.destroy(); + this.destroy() } module2.exports = { establishWebSocketConnection - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/frame.js var require_frame = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/frame.js"(exports, module2) { - "use strict"; - var { maxUnsigned16Bit } = require_constants4(); - var crypto4; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/frame.js'( + exports, + module2 + ) { + 'use strict' + var { maxUnsigned16Bit } = require_constants4() + var crypto4 try { - crypto4 = require("crypto"); - } catch { - } + crypto4 = require('crypto') + } catch {} var WebsocketFrameSend = class { /** * @param {Buffer|undefined} data */ constructor(data) { - this.frameData = data; - this.maskKey = crypto4.randomBytes(4); + this.frameData = data + this.maskKey = crypto4.randomBytes(4) } createFrame(opcode) { - const bodyLength = this.frameData?.byteLength ?? 0; - let payloadLength = bodyLength; - let offset = 6; + const bodyLength = this.frameData?.byteLength ?? 0 + let payloadLength = bodyLength + let offset = 6 if (bodyLength > maxUnsigned16Bit) { - offset += 8; - payloadLength = 127; + offset += 8 + payloadLength = 127 } else if (bodyLength > 125) { - offset += 2; - payloadLength = 126; - } - const buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; + offset += 2 + payloadLength = 126 + } + const buffer = Buffer.allocUnsafe(bodyLength + offset) + buffer[0] = buffer[1] = 0 + buffer[0] |= 128 + buffer[0] = (buffer[0] & 240) + opcode + buffer[offset - 4] = this.maskKey[0] + buffer[offset - 3] = this.maskKey[1] + buffer[offset - 2] = this.maskKey[2] + buffer[offset - 1] = this.maskKey[3] + buffer[1] = payloadLength if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); + buffer.writeUInt16BE(bodyLength, 2) } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); + buffer[2] = buffer[3] = 0 + buffer.writeUIntBE(bodyLength, 4, 6) } - buffer[1] |= 128; + buffer[1] |= 128 for (let i = 0; i < bodyLength; i++) { - buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]; + buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4] } - return buffer; + return buffer } - }; + } module2.exports = { WebsocketFrameSend - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/receiver.js var require_receiver = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/receiver.js"(exports, module2) { - "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants4(); - var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); - var { WebsocketFrameSend } = require_frame(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/receiver.js'( + exports, + module2 + ) { + 'use strict' + var { Writable } = require('stream') + var diagnosticsChannel = require('diagnostics_channel') + var { parserStates, opcodes, states, emptyBuffer } = require_constants4() + var { kReadyState, kSentClose, kResponse, kReceivedClose } = + require_symbols5() + var { + isValidStatusCode, + failWebsocketConnection, + websocketMessageReceived + } = require_util7() + var { WebsocketFrameSend } = require_frame() + var channels = {} + channels.ping = diagnosticsChannel.channel('undici:websocket:ping') + channels.pong = diagnosticsChannel.channel('undici:websocket:pong') var ByteParser = class extends Writable { - #buffers = []; - #byteOffset = 0; - #state = parserStates.INFO; - #info = {}; - #fragments = []; + #buffers = [] + #byteOffset = 0 + #state = parserStates.INFO + #info = {} + #fragments = [] constructor(ws) { - super(); - this.ws = ws; + super() + this.ws = ws } /** * @param {Buffer} chunk * @param {() => void} callback */ _write(chunk, _, callback) { - this.#buffers.push(chunk); - this.#byteOffset += chunk.length; - this.run(callback); + this.#buffers.push(chunk) + this.#byteOffset += chunk.length + this.run(callback) } /** * Runs whenever a new chunk is received. @@ -16813,128 +19146,160 @@ var require_receiver = __commonJS({ while (true) { if (this.#state === parserStates.INFO) { if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { - failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); - return; - } - const payloadLength = buffer[1] & 127; + return callback() + } + const buffer = this.consume(2) + this.#info.fin = (buffer[0] & 128) !== 0 + this.#info.opcode = buffer[0] & 15 + this.#info.originalOpcode ??= this.#info.opcode + this.#info.fragmented = + !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION + if ( + this.#info.fragmented && + this.#info.opcode !== opcodes.BINARY && + this.#info.opcode !== opcodes.TEXT + ) { + failWebsocketConnection( + this.ws, + 'Invalid frame type was fragmented.' + ) + return + } + const payloadLength = buffer[1] & 127 if (payloadLength <= 125) { - this.#info.payloadLength = payloadLength; - this.#state = parserStates.READ_DATA; + this.#info.payloadLength = payloadLength + this.#state = parserStates.READ_DATA } else if (payloadLength === 126) { - this.#state = parserStates.PAYLOADLENGTH_16; + this.#state = parserStates.PAYLOADLENGTH_16 } else if (payloadLength === 127) { - this.#state = parserStates.PAYLOADLENGTH_64; + this.#state = parserStates.PAYLOADLENGTH_64 } if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; + failWebsocketConnection( + this.ws, + 'Fragmented frame exceeded 125 bytes.' + ) + return + } else if ( + (this.#info.opcode === opcodes.PING || + this.#info.opcode === opcodes.PONG || + this.#info.opcode === opcodes.CLOSE) && + payloadLength > 125 + ) { + failWebsocketConnection( + this.ws, + 'Payload length for control frame exceeded 125 bytes.' + ) + return } else if (this.#info.opcode === opcodes.CLOSE) { if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; + failWebsocketConnection( + this.ws, + 'Received close frame with a 1-byte body.' + ) + return } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); + const body = this.consume(payloadLength) + this.#info.closeInfo = this.parseCloseBody(false, body) if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); + const body2 = Buffer.allocUnsafe(2) + body2.writeUInt16BE(this.#info.closeInfo.code, 0) + const closeFrame = new WebsocketFrameSend(body2) this.ws[kResponse].socket.write( closeFrame.createFrame(opcodes.CLOSE), (err) => { if (!err) { - this.ws[kSentClose] = true; + this.ws[kSentClose] = true } } - ); + ) } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; + this.ws[kReadyState] = states.CLOSING + this.ws[kReceivedClose] = true + this.end() + return } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); + const body = this.consume(payloadLength) if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + const frame = new WebsocketFrameSend(body) + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)) if (channels.ping.hasSubscribers) { channels.ping.publish({ payload: body - }); + }) } } - this.#state = parserStates.INFO; + this.#state = parserStates.INFO if (this.#byteOffset > 0) { - continue; + continue } else { - callback(); - return; + callback() + return } } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); + const body = this.consume(payloadLength) if (channels.pong.hasSubscribers) { channels.pong.publish({ payload: body - }); + }) } if (this.#byteOffset > 0) { - continue; + continue } else { - callback(); - return; + callback() + return } } } else if (this.#state === parserStates.PAYLOADLENGTH_16) { if (this.#byteOffset < 2) { - return callback(); + return callback() } - const buffer = this.consume(2); - this.#info.payloadLength = buffer.readUInt16BE(0); - this.#state = parserStates.READ_DATA; + const buffer = this.consume(2) + this.#info.payloadLength = buffer.readUInt16BE(0) + this.#state = parserStates.READ_DATA } else if (this.#state === parserStates.PAYLOADLENGTH_64) { if (this.#byteOffset < 8) { - return callback(); + return callback() } - const buffer = this.consume(8); - const upper = buffer.readUInt32BE(0); + const buffer = this.consume(8) + const upper = buffer.readUInt32BE(0) if (upper > 2 ** 31 - 1) { - failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); - return; + failWebsocketConnection( + this.ws, + 'Received payload length > 2^31 bytes.' + ) + return } - const lower = buffer.readUInt32BE(4); - this.#info.payloadLength = (upper << 8) + lower; - this.#state = parserStates.READ_DATA; + const lower = buffer.readUInt32BE(4) + this.#info.payloadLength = (upper << 8) + lower + this.#state = parserStates.READ_DATA } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { - return callback(); + return callback() } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; + const body = this.consume(this.#info.payloadLength) + this.#fragments.push(body) + if ( + !this.#info.fragmented || + (this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) + ) { + const fullMessage = Buffer.concat(this.#fragments) + websocketMessageReceived( + this.ws, + this.#info.originalOpcode, + fullMessage + ) + this.#info = {} + this.#fragments.length = 0 } - this.#state = parserStates.INFO; + this.#state = parserStates.INFO } } if (this.#byteOffset > 0) { - continue; + continue } else { - callback(); - break; + callback() + break } } } @@ -16945,78 +19310,82 @@ var require_receiver = __commonJS({ */ consume(n) { if (n > this.#byteOffset) { - return null; + return null } else if (n === 0) { - return emptyBuffer; + return emptyBuffer } if (this.#buffers[0].length === n) { - this.#byteOffset -= this.#buffers[0].length; - return this.#buffers.shift(); + this.#byteOffset -= this.#buffers[0].length + return this.#buffers.shift() } - const buffer = Buffer.allocUnsafe(n); - let offset = 0; + const buffer = Buffer.allocUnsafe(n) + let offset = 0 while (offset !== n) { - const next = this.#buffers[0]; - const { length } = next; + const next = this.#buffers[0] + const { length } = next if (length + offset === n) { - buffer.set(this.#buffers.shift(), offset); - break; + buffer.set(this.#buffers.shift(), offset) + break } else if (length + offset > n) { - buffer.set(next.subarray(0, n - offset), offset); - this.#buffers[0] = next.subarray(n - offset); - break; + buffer.set(next.subarray(0, n - offset), offset) + this.#buffers[0] = next.subarray(n - offset) + break } else { - buffer.set(this.#buffers.shift(), offset); - offset += next.length; + buffer.set(this.#buffers.shift(), offset) + offset += next.length } } - this.#byteOffset -= n; - return buffer; + this.#byteOffset -= n + return buffer } parseCloseBody(onlyCode, data) { - let code; + let code if (data.length >= 2) { - code = data.readUInt16BE(0); + code = data.readUInt16BE(0) } if (onlyCode) { if (!isValidStatusCode(code)) { - return null; + return null } - return { code }; + return { code } } - let reason = data.subarray(2); + let reason = data.subarray(2) if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { - reason = reason.subarray(3); + reason = reason.subarray(3) } if (code !== void 0 && !isValidStatusCode(code)) { - return null; + return null } try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); + reason = new TextDecoder('utf-8', { fatal: true }).decode(reason) } catch { - return null; + return null } - return { code, reason }; + return { code, reason } } get closingInfo() { - return this.#info.closeInfo; + return this.#info.closeInfo } - }; + } module2.exports = { ByteParser - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/websocket.js var require_websocket = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/websocket.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { DOMException: DOMException2 } = require_constants(); - var { URLSerializer } = require_dataURL(); - var { getGlobalOrigin } = require_global(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants4(); + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/lib/websocket/websocket.js'( + exports, + module2 + ) { + 'use strict' + var { webidl } = require_webidl() + var { DOMException: DOMException2 } = require_constants() + var { URLSerializer } = require_dataURL() + var { getGlobalOrigin } = require_global() + var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = + require_constants4() var { kWebSocketURL, kReadyState, @@ -17025,81 +19394,107 @@ var require_websocket = __commonJS({ kResponse, kSentClose, kByteParser - } = require_symbols5(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); - var { establishWebSocketConnection } = require_connection(); - var { WebsocketFrameSend } = require_frame(); - var { ByteParser } = require_receiver(); - var { kEnumerableProperty, isBlobLike } = require_util(); - var { getGlobalDispatcher } = require_global2(); - var { types } = require("util"); - var experimentalWarned = false; + } = require_symbols5() + var { + isEstablished, + isClosing, + isValidSubprotocol, + failWebsocketConnection, + fireEvent + } = require_util7() + var { establishWebSocketConnection } = require_connection() + var { WebsocketFrameSend } = require_frame() + var { ByteParser } = require_receiver() + var { kEnumerableProperty, isBlobLike } = require_util() + var { getGlobalDispatcher } = require_global2() + var { types } = require('util') + var experimentalWarned = false var WebSocket = class _WebSocket extends EventTarget { #events = { open: null, error: null, close: null, message: null - }; - #bufferedAmount = 0; - #protocol = ""; - #extensions = ""; + } + #bufferedAmount = 0 + #protocol = '' + #extensions = '' /** * @param {string} url * @param {string|string[]} protocols */ constructor(url, protocols = []) { - super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); + super() + webidl.argumentLengthCheck(arguments, 1, { + header: 'WebSocket constructor' + }) if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols); - url = webidl.converters.USVString(url); - protocols = options.protocols; - const baseURL = getGlobalOrigin(); - let urlRecord; + experimentalWarned = true + process.emitWarning( + 'WebSockets are experimental, expect them to change at any time.', + { + code: 'UNDICI-WS' + } + ) + } + const options = + webidl.converters[ + 'DOMString or sequence or WebSocketInit' + ](protocols) + url = webidl.converters.USVString(url) + protocols = options.protocols + const baseURL = getGlobalOrigin() + let urlRecord try { - urlRecord = new URL(url, baseURL); + urlRecord = new URL(url, baseURL) } catch (e) { - throw new DOMException2(e, "SyntaxError"); + throw new DOMException2(e, 'SyntaxError') } - if (urlRecord.protocol === "http:") { - urlRecord.protocol = "ws:"; - } else if (urlRecord.protocol === "https:") { - urlRecord.protocol = "wss:"; + if (urlRecord.protocol === 'http:') { + urlRecord.protocol = 'ws:' + } else if (urlRecord.protocol === 'https:') { + urlRecord.protocol = 'wss:' } - if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { + if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') { throw new DOMException2( `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, - "SyntaxError" - ); + 'SyntaxError' + ) } - if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException2("Got fragment", "SyntaxError"); + if (urlRecord.hash || urlRecord.href.endsWith('#')) { + throw new DOMException2('Got fragment', 'SyntaxError') } - if (typeof protocols === "string") { - protocols = [protocols]; + if (typeof protocols === 'string') { + protocols = [protocols] } - if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + if ( + protocols.length !== + new Set(protocols.map((p) => p.toLowerCase())).size + ) { + throw new DOMException2( + 'Invalid Sec-WebSocket-Protocol value', + 'SyntaxError' + ) } - if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + if ( + protocols.length > 0 && + !protocols.every((p) => isValidSubprotocol(p)) + ) { + throw new DOMException2( + 'Invalid Sec-WebSocket-Protocol value', + 'SyntaxError' + ) } - this[kWebSocketURL] = new URL(urlRecord.href); + this[kWebSocketURL] = new URL(urlRecord.href) this[kController] = establishWebSocketConnection( urlRecord, protocols, this, (response) => this.#onConnectionEstablished(response), options - ); - this[kReadyState] = _WebSocket.CONNECTING; - this[kBinaryType] = "blob"; + ) + this[kReadyState] = _WebSocket.CONNECTING + this[kBinaryType] = 'blob' } /** * @see https://websockets.spec.whatwg.org/#dom-websocket-close @@ -17107,53 +19502,59 @@ var require_websocket = __commonJS({ * @param {string|undefined} reason */ close(code = void 0, reason = void 0) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (code !== void 0) { - code = webidl.converters["unsigned short"](code, { clamp: true }); + code = webidl.converters['unsigned short'](code, { clamp: true }) } if (reason !== void 0) { - reason = webidl.converters.USVString(reason); + reason = webidl.converters.USVString(reason) } if (code !== void 0) { if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException2("invalid code", "InvalidAccessError"); + throw new DOMException2('invalid code', 'InvalidAccessError') } } - let reasonByteLength = 0; + let reasonByteLength = 0 if (reason !== void 0) { - reasonByteLength = Buffer.byteLength(reason); + reasonByteLength = Buffer.byteLength(reason) if (reasonByteLength > 123) { throw new DOMException2( `Reason must be less than 123 bytes; received ${reasonByteLength}`, - "SyntaxError" - ); + 'SyntaxError' + ) } } - if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) { + if ( + this[kReadyState] === _WebSocket.CLOSING || + this[kReadyState] === _WebSocket.CLOSED + ) { } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = _WebSocket.CLOSING; + failWebsocketConnection( + this, + 'Connection was closed before it was established.' + ) + this[kReadyState] = _WebSocket.CLOSING } else if (!isClosing(this)) { - const frame = new WebsocketFrameSend(); + const frame = new WebsocketFrameSend() if (code !== void 0 && reason === void 0) { - frame.frameData = Buffer.allocUnsafe(2); - frame.frameData.writeUInt16BE(code, 0); + frame.frameData = Buffer.allocUnsafe(2) + frame.frameData.writeUInt16BE(code, 0) } else if (code !== void 0 && reason !== void 0) { - frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); - frame.frameData.writeUInt16BE(code, 0); - frame.frameData.write(reason, 2, "utf-8"); + frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength) + frame.frameData.writeUInt16BE(code, 0) + frame.frameData.write(reason, 2, 'utf-8') } else { - frame.frameData = emptyBuffer; + frame.frameData = emptyBuffer } - const socket = this[kResponse].socket; + const socket = this[kResponse].socket socket.write(frame.createFrame(opcodes.CLOSE), (err) => { if (!err) { - this[kSentClose] = true; + this[kSentClose] = true } - }); - this[kReadyState] = states.CLOSING; + }) + this[kReadyState] = states.CLOSING } else { - this[kReadyState] = _WebSocket.CLOSING; + this[kReadyState] = _WebSocket.CLOSING } } /** @@ -17161,176 +19562,176 @@ var require_websocket = __commonJS({ * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data */ send(data) { - webidl.brandCheck(this, _WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); + webidl.brandCheck(this, _WebSocket) + webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket.send' }) + data = webidl.converters.WebSocketSendData(data) if (this[kReadyState] === _WebSocket.CONNECTING) { - throw new DOMException2("Sent before connected.", "InvalidStateError"); + throw new DOMException2('Sent before connected.', 'InvalidStateError') } if (!isEstablished(this) || isClosing(this)) { - return; - } - const socket = this[kResponse].socket; - if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; + return + } + const socket = this[kResponse].socket + if (typeof data === 'string') { + const value = Buffer.from(data) + const frame = new WebsocketFrameSend(value) + const buffer = frame.createFrame(opcodes.TEXT) + this.#bufferedAmount += value.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + this.#bufferedAmount -= value.byteLength + }) } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; + const value = Buffer.from(data) + const frame = new WebsocketFrameSend(value) + const buffer = frame.createFrame(opcodes.BINARY) + this.#bufferedAmount += value.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + this.#bufferedAmount -= value.byteLength + }) } else if (ArrayBuffer.isView(data)) { - const ab = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab.byteLength; + const ab = Buffer.from(data, data.byteOffset, data.byteLength) + const frame = new WebsocketFrameSend(ab) + const buffer = frame.createFrame(opcodes.BINARY) + this.#bufferedAmount += ab.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= ab.byteLength; - }); + this.#bufferedAmount -= ab.byteLength + }) } else if (isBlobLike(data)) { - const frame = new WebsocketFrameSend(); + const frame = new WebsocketFrameSend() data.arrayBuffer().then((ab) => { - const value = Buffer.from(ab); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; + const value = Buffer.from(ab) + frame.frameData = value + const buffer = frame.createFrame(opcodes.BINARY) + this.#bufferedAmount += value.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); + this.#bufferedAmount -= value.byteLength + }) + }) } } get readyState() { - webidl.brandCheck(this, _WebSocket); - return this[kReadyState]; + webidl.brandCheck(this, _WebSocket) + return this[kReadyState] } get bufferedAmount() { - webidl.brandCheck(this, _WebSocket); - return this.#bufferedAmount; + webidl.brandCheck(this, _WebSocket) + return this.#bufferedAmount } get url() { - webidl.brandCheck(this, _WebSocket); - return URLSerializer(this[kWebSocketURL]); + webidl.brandCheck(this, _WebSocket) + return URLSerializer(this[kWebSocketURL]) } get extensions() { - webidl.brandCheck(this, _WebSocket); - return this.#extensions; + webidl.brandCheck(this, _WebSocket) + return this.#extensions } get protocol() { - webidl.brandCheck(this, _WebSocket); - return this.#protocol; + webidl.brandCheck(this, _WebSocket) + return this.#protocol } get onopen() { - webidl.brandCheck(this, _WebSocket); - return this.#events.open; + webidl.brandCheck(this, _WebSocket) + return this.#events.open } set onopen(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.open) { - this.removeEventListener("open", this.#events.open); + this.removeEventListener('open', this.#events.open) } - if (typeof fn === "function") { - this.#events.open = fn; - this.addEventListener("open", fn); + if (typeof fn === 'function') { + this.#events.open = fn + this.addEventListener('open', fn) } else { - this.#events.open = null; + this.#events.open = null } } get onerror() { - webidl.brandCheck(this, _WebSocket); - return this.#events.error; + webidl.brandCheck(this, _WebSocket) + return this.#events.error } set onerror(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.error) { - this.removeEventListener("error", this.#events.error); + this.removeEventListener('error', this.#events.error) } - if (typeof fn === "function") { - this.#events.error = fn; - this.addEventListener("error", fn); + if (typeof fn === 'function') { + this.#events.error = fn + this.addEventListener('error', fn) } else { - this.#events.error = null; + this.#events.error = null } } get onclose() { - webidl.brandCheck(this, _WebSocket); - return this.#events.close; + webidl.brandCheck(this, _WebSocket) + return this.#events.close } set onclose(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.close) { - this.removeEventListener("close", this.#events.close); + this.removeEventListener('close', this.#events.close) } - if (typeof fn === "function") { - this.#events.close = fn; - this.addEventListener("close", fn); + if (typeof fn === 'function') { + this.#events.close = fn + this.addEventListener('close', fn) } else { - this.#events.close = null; + this.#events.close = null } } get onmessage() { - webidl.brandCheck(this, _WebSocket); - return this.#events.message; + webidl.brandCheck(this, _WebSocket) + return this.#events.message } set onmessage(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.message) { - this.removeEventListener("message", this.#events.message); + this.removeEventListener('message', this.#events.message) } - if (typeof fn === "function") { - this.#events.message = fn; - this.addEventListener("message", fn); + if (typeof fn === 'function') { + this.#events.message = fn + this.addEventListener('message', fn) } else { - this.#events.message = null; + this.#events.message = null } } get binaryType() { - webidl.brandCheck(this, _WebSocket); - return this[kBinaryType]; + webidl.brandCheck(this, _WebSocket) + return this[kBinaryType] } set binaryType(type) { - webidl.brandCheck(this, _WebSocket); - if (type !== "blob" && type !== "arraybuffer") { - this[kBinaryType] = "blob"; + webidl.brandCheck(this, _WebSocket) + if (type !== 'blob' && type !== 'arraybuffer') { + this[kBinaryType] = 'blob' } else { - this[kBinaryType] = type; + this[kBinaryType] = type } } /** * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol */ #onConnectionEstablished(response) { - this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); - response.socket.ws = this; - this[kByteParser] = parser; - this[kReadyState] = states.OPEN; - const extensions = response.headersList.get("sec-websocket-extensions"); + this[kResponse] = response + const parser = new ByteParser(this) + parser.on('drain', function onParserDrain() { + this.ws[kResponse].socket.resume() + }) + response.socket.ws = this + this[kByteParser] = parser + this[kReadyState] = states.OPEN + const extensions = response.headersList.get('sec-websocket-extensions') if (extensions !== null) { - this.#extensions = extensions; + this.#extensions = extensions } - const protocol = response.headersList.get("sec-websocket-protocol"); + const protocol = response.headersList.get('sec-websocket-protocol') if (protocol !== null) { - this.#protocol = protocol; + this.#protocol = protocol } - fireEvent("open", this); + fireEvent('open', this) } - }; - WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; - WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; - WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; - WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; + } + WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING + WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN + WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING + WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED Object.defineProperties(WebSocket.prototype, { CONNECTING: staticPropertyDescriptors, OPEN: staticPropertyDescriptors, @@ -17349,459 +19750,530 @@ var require_websocket = __commonJS({ extensions: kEnumerableProperty, protocol: kEnumerableProperty, [Symbol.toStringTag]: { - value: "WebSocket", + value: 'WebSocket', writable: false, enumerable: false, configurable: true } - }); + }) Object.defineProperties(WebSocket, { CONNECTING: staticPropertyDescriptors, OPEN: staticPropertyDescriptors, CLOSING: staticPropertyDescriptors, CLOSED: staticPropertyDescriptors - }); - webidl.converters["sequence"] = webidl.sequenceConverter( + }) + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.DOMString - ); - webidl.converters["DOMString or sequence"] = function(V) { - if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) { - return webidl.converters["sequence"](V); + ) + webidl.converters['DOMString or sequence'] = function (V) { + if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) { + return webidl.converters['sequence'](V) } - return webidl.converters.DOMString(V); - }; + return webidl.converters.DOMString(V) + } webidl.converters.WebSocketInit = webidl.dictionaryConverter([ { - key: "protocols", - converter: webidl.converters["DOMString or sequence"], + key: 'protocols', + converter: webidl.converters['DOMString or sequence'], get defaultValue() { - return []; + return [] } }, { - key: "dispatcher", + key: 'dispatcher', converter: (V) => V, get defaultValue() { - return getGlobalDispatcher(); + return getGlobalDispatcher() } }, { - key: "headers", + key: 'headers', converter: webidl.nullableConverter(webidl.converters.HeadersInit) } - ]); - webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) { - if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) { - return webidl.converters.WebSocketInit(V); + ]) + webidl.converters['DOMString or sequence or WebSocketInit'] = + function (V) { + if (webidl.util.Type(V) === 'Object' && !(Symbol.iterator in V)) { + return webidl.converters.WebSocketInit(V) + } + return { + protocols: webidl.converters['DOMString or sequence'](V) + } } - return { protocols: webidl.converters["DOMString or sequence"](V) }; - }; - webidl.converters.WebSocketSendData = function(V) { - if (webidl.util.Type(V) === "Object") { + webidl.converters.WebSocketSendData = function (V) { + if (webidl.util.Type(V) === 'Object') { if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, { strict: false }) } if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V); + return webidl.converters.BufferSource(V) } } - return webidl.converters.USVString(V); - }; + return webidl.converters.USVString(V) + } module2.exports = { WebSocket - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/index.js var require_undici = __commonJS({ - "../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/index.js"(exports, module2) { - "use strict"; - var Client = require_client(); - var Dispatcher = require_dispatcher(); - var errors = require_errors(); - var Pool = require_pool(); - var BalancedPool = require_balanced_pool(); - var Agent = require_agent(); - var util = require_util(); - var { InvalidArgumentError } = errors; - var api = require_api(); - var buildConnector = require_connect(); - var MockClient = require_mock_client(); - var MockAgent = require_mock_agent(); - var MockPool = require_mock_pool(); - var mockErrors = require_mock_errors(); - var ProxyAgent = require_proxy_agent(); - var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); - var DecoratorHandler = require_DecoratorHandler(); - var RedirectHandler = require_RedirectHandler(); - var createRedirectInterceptor = require_redirectInterceptor(); - var hasCrypto; + '../../node_modules/.pnpm/undici@5.27.2/node_modules/undici/index.js'( + exports, + module2 + ) { + 'use strict' + var Client = require_client() + var Dispatcher = require_dispatcher() + var errors = require_errors() + var Pool = require_pool() + var BalancedPool = require_balanced_pool() + var Agent = require_agent() + var util = require_util() + var { InvalidArgumentError } = errors + var api = require_api() + var buildConnector = require_connect() + var MockClient = require_mock_client() + var MockAgent = require_mock_agent() + var MockPool = require_mock_pool() + var mockErrors = require_mock_errors() + var ProxyAgent = require_proxy_agent() + var { getGlobalDispatcher, setGlobalDispatcher } = require_global2() + var DecoratorHandler = require_DecoratorHandler() + var RedirectHandler = require_RedirectHandler() + var createRedirectInterceptor = require_redirectInterceptor() + var hasCrypto try { - require("crypto"); - hasCrypto = true; + require('crypto') + hasCrypto = true } catch { - hasCrypto = false; - } - Object.assign(Dispatcher.prototype, api); - module2.exports.Dispatcher = Dispatcher; - module2.exports.Client = Client; - module2.exports.Pool = Pool; - module2.exports.BalancedPool = BalancedPool; - module2.exports.Agent = Agent; - module2.exports.ProxyAgent = ProxyAgent; - module2.exports.DecoratorHandler = DecoratorHandler; - module2.exports.RedirectHandler = RedirectHandler; - module2.exports.createRedirectInterceptor = createRedirectInterceptor; - module2.exports.buildConnector = buildConnector; - module2.exports.errors = errors; + hasCrypto = false + } + Object.assign(Dispatcher.prototype, api) + module2.exports.Dispatcher = Dispatcher + module2.exports.Client = Client + module2.exports.Pool = Pool + module2.exports.BalancedPool = BalancedPool + module2.exports.Agent = Agent + module2.exports.ProxyAgent = ProxyAgent + module2.exports.DecoratorHandler = DecoratorHandler + module2.exports.RedirectHandler = RedirectHandler + module2.exports.createRedirectInterceptor = createRedirectInterceptor + module2.exports.buildConnector = buildConnector + module2.exports.errors = errors function makeDispatcher(fn) { return (url, opts, handler) => { - if (typeof opts === "function") { - handler = opts; - opts = null; + if (typeof opts === 'function') { + handler = opts + opts = null } - if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) { - throw new InvalidArgumentError("invalid url"); + if ( + !url || + (typeof url !== 'string' && + typeof url !== 'object' && + !(url instanceof URL)) + ) { + throw new InvalidArgumentError('invalid url') } - if (opts != null && typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (opts != null && typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') } if (opts && opts.path != null) { - if (typeof opts.path !== "string") { - throw new InvalidArgumentError("invalid opts.path"); + if (typeof opts.path !== 'string') { + throw new InvalidArgumentError('invalid opts.path') } - let path = opts.path; - if (!opts.path.startsWith("/")) { - path = `/${path}`; + let path = opts.path + if (!opts.path.startsWith('/')) { + path = `/${path}` } - url = new URL(util.parseOrigin(url).origin + path); + url = new URL(util.parseOrigin(url).origin + path) } else { if (!opts) { - opts = typeof url === "object" ? url : {}; + opts = typeof url === 'object' ? url : {} } - url = util.parseURL(url); + url = util.parseURL(url) } - const { agent, dispatcher = getGlobalDispatcher() } = opts; + const { agent, dispatcher = getGlobalDispatcher() } = opts if (agent) { - throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); + throw new InvalidArgumentError( + 'unsupported opts.agent. Did you mean opts.client?' + ) } - return fn.call(dispatcher, { - ...opts, - origin: url.origin, - path: url.search ? `${url.pathname}${url.search}` : url.pathname, - method: opts.method || (opts.body ? "PUT" : "GET") - }, handler); - }; - } - module2.exports.setGlobalDispatcher = setGlobalDispatcher; - module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) { - let fetchImpl = null; + return fn.call( + dispatcher, + { + ...opts, + origin: url.origin, + path: url.search ? `${url.pathname}${url.search}` : url.pathname, + method: opts.method || (opts.body ? 'PUT' : 'GET') + }, + handler + ) + } + } + module2.exports.setGlobalDispatcher = setGlobalDispatcher + module2.exports.getGlobalDispatcher = getGlobalDispatcher + if (util.nodeMajor > 16 || (util.nodeMajor === 16 && util.nodeMinor >= 8)) { + let fetchImpl = null module2.exports.fetch = async function fetch(resource) { if (!fetchImpl) { - fetchImpl = require_fetch().fetch; + fetchImpl = require_fetch().fetch } try { - return await fetchImpl(...arguments); + return await fetchImpl(...arguments) } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; - } - }; - module2.exports.Headers = require_headers().Headers; - module2.exports.Response = require_response().Response; - module2.exports.Request = require_request2().Request; - module2.exports.FormData = require_formdata().FormData; - module2.exports.File = require_file().File; - module2.exports.FileReader = require_filereader().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage(); - const { kConstruct } = require_symbols4(); - module2.exports.caches = new CacheStorage(kConstruct); + if (typeof err === 'object') { + Error.captureStackTrace(err, this) + } + throw err + } + } + module2.exports.Headers = require_headers().Headers + module2.exports.Response = require_response().Response + module2.exports.Request = require_request2().Request + module2.exports.FormData = require_formdata().FormData + module2.exports.File = require_file().File + module2.exports.FileReader = require_filereader().FileReader + const { setGlobalOrigin, getGlobalOrigin } = require_global() + module2.exports.setGlobalOrigin = setGlobalOrigin + module2.exports.getGlobalOrigin = getGlobalOrigin + const { CacheStorage } = require_cachestorage() + const { kConstruct } = require_symbols4() + module2.exports.caches = new CacheStorage(kConstruct) } if (util.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; + const { deleteCookie, getCookies, getSetCookies, setCookie } = + require_cookies() + module2.exports.deleteCookie = deleteCookie + module2.exports.getCookies = getCookies + module2.exports.getSetCookies = getSetCookies + module2.exports.setCookie = setCookie + const { parseMIMEType, serializeAMimeType } = require_dataURL() + module2.exports.parseMIMEType = parseMIMEType + module2.exports.serializeAMimeType = serializeAMimeType } if (util.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket(); - module2.exports.WebSocket = WebSocket; - } - module2.exports.request = makeDispatcher(api.request); - module2.exports.stream = makeDispatcher(api.stream); - module2.exports.pipeline = makeDispatcher(api.pipeline); - module2.exports.connect = makeDispatcher(api.connect); - module2.exports.upgrade = makeDispatcher(api.upgrade); - module2.exports.MockClient = MockClient; - module2.exports.MockPool = MockPool; - module2.exports.MockAgent = MockAgent; - module2.exports.mockErrors = mockErrors; + const { WebSocket } = require_websocket() + module2.exports.WebSocket = WebSocket + } + module2.exports.request = makeDispatcher(api.request) + module2.exports.stream = makeDispatcher(api.stream) + module2.exports.pipeline = makeDispatcher(api.pipeline) + module2.exports.connect = makeDispatcher(api.connect) + module2.exports.upgrade = makeDispatcher(api.upgrade) + module2.exports.MockClient = MockClient + module2.exports.MockPool = MockPool + module2.exports.MockAgent = MockAgent + module2.exports.mockErrors = mockErrors } -}); +}) // ../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/index.js var require_lib = __commonJS({ - "../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/index.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/index.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + var desc = Object.getOwnPropertyDescriptor(m, k) + if ( + !desc || + ('get' in desc + ? !m.__esModule + : desc.writable || desc.configurable) + ) { + desc = { + enumerable: true, + get: function () { + return m[k] + } + } + } + Object.defineProperty(o, k2, desc) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; - var http = __importStar(require("http")); - var https = __importStar(require("https")); - var pm = __importStar(require_proxy()); - var tunnel = __importStar(require_tunnel2()); - var undici_1 = require_undici(); - var HttpCodes; - (function(HttpCodes2) { - HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; - HttpCodes2[HttpCodes2["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes2[HttpCodes2["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes2[HttpCodes2["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes2[HttpCodes2["SeeOther"] = 303] = "SeeOther"; - HttpCodes2[HttpCodes2["NotModified"] = 304] = "NotModified"; - HttpCodes2[HttpCodes2["UseProxy"] = 305] = "UseProxy"; - HttpCodes2[HttpCodes2["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes2[HttpCodes2["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes2[HttpCodes2["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes2[HttpCodes2["BadRequest"] = 400] = "BadRequest"; - HttpCodes2[HttpCodes2["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes2[HttpCodes2["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes2[HttpCodes2["Forbidden"] = 403] = "Forbidden"; - HttpCodes2[HttpCodes2["NotFound"] = 404] = "NotFound"; - HttpCodes2[HttpCodes2["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes2[HttpCodes2["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes2[HttpCodes2["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes2[HttpCodes2["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes2[HttpCodes2["Conflict"] = 409] = "Conflict"; - HttpCodes2[HttpCodes2["Gone"] = 410] = "Gone"; - HttpCodes2[HttpCodes2["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes2[HttpCodes2["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes2[HttpCodes2["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; - HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; - })(HttpCodes || (exports.HttpCodes = HttpCodes = {})); - var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; - })(Headers || (exports.Headers = Headers = {})); - var MediaTypes; - (function(MediaTypes2) { - MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes || (exports.MediaTypes = MediaTypes = {})); + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } + } + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.HttpClient = + exports.isHttps = + exports.HttpClientResponse = + exports.HttpClientError = + exports.getProxyUrl = + exports.MediaTypes = + exports.Headers = + exports.HttpCodes = + void 0 + var http = __importStar(require('http')) + var https = __importStar(require('https')) + var pm = __importStar(require_proxy()) + var tunnel = __importStar(require_tunnel2()) + var undici_1 = require_undici() + var HttpCodes + ;(function (HttpCodes2) { + HttpCodes2[(HttpCodes2['OK'] = 200)] = 'OK' + HttpCodes2[(HttpCodes2['MultipleChoices'] = 300)] = 'MultipleChoices' + HttpCodes2[(HttpCodes2['MovedPermanently'] = 301)] = 'MovedPermanently' + HttpCodes2[(HttpCodes2['ResourceMoved'] = 302)] = 'ResourceMoved' + HttpCodes2[(HttpCodes2['SeeOther'] = 303)] = 'SeeOther' + HttpCodes2[(HttpCodes2['NotModified'] = 304)] = 'NotModified' + HttpCodes2[(HttpCodes2['UseProxy'] = 305)] = 'UseProxy' + HttpCodes2[(HttpCodes2['SwitchProxy'] = 306)] = 'SwitchProxy' + HttpCodes2[(HttpCodes2['TemporaryRedirect'] = 307)] = 'TemporaryRedirect' + HttpCodes2[(HttpCodes2['PermanentRedirect'] = 308)] = 'PermanentRedirect' + HttpCodes2[(HttpCodes2['BadRequest'] = 400)] = 'BadRequest' + HttpCodes2[(HttpCodes2['Unauthorized'] = 401)] = 'Unauthorized' + HttpCodes2[(HttpCodes2['PaymentRequired'] = 402)] = 'PaymentRequired' + HttpCodes2[(HttpCodes2['Forbidden'] = 403)] = 'Forbidden' + HttpCodes2[(HttpCodes2['NotFound'] = 404)] = 'NotFound' + HttpCodes2[(HttpCodes2['MethodNotAllowed'] = 405)] = 'MethodNotAllowed' + HttpCodes2[(HttpCodes2['NotAcceptable'] = 406)] = 'NotAcceptable' + HttpCodes2[(HttpCodes2['ProxyAuthenticationRequired'] = 407)] = + 'ProxyAuthenticationRequired' + HttpCodes2[(HttpCodes2['RequestTimeout'] = 408)] = 'RequestTimeout' + HttpCodes2[(HttpCodes2['Conflict'] = 409)] = 'Conflict' + HttpCodes2[(HttpCodes2['Gone'] = 410)] = 'Gone' + HttpCodes2[(HttpCodes2['TooManyRequests'] = 429)] = 'TooManyRequests' + HttpCodes2[(HttpCodes2['InternalServerError'] = 500)] = + 'InternalServerError' + HttpCodes2[(HttpCodes2['NotImplemented'] = 501)] = 'NotImplemented' + HttpCodes2[(HttpCodes2['BadGateway'] = 502)] = 'BadGateway' + HttpCodes2[(HttpCodes2['ServiceUnavailable'] = 503)] = + 'ServiceUnavailable' + HttpCodes2[(HttpCodes2['GatewayTimeout'] = 504)] = 'GatewayTimeout' + })(HttpCodes || (exports.HttpCodes = HttpCodes = {})) + var Headers + ;(function (Headers2) { + Headers2['Accept'] = 'accept' + Headers2['ContentType'] = 'content-type' + })(Headers || (exports.Headers = Headers = {})) + var MediaTypes + ;(function (MediaTypes2) { + MediaTypes2['ApplicationJson'] = 'application/json' + })(MediaTypes || (exports.MediaTypes = MediaTypes = {})) function getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ""; + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)) + return proxyUrl ? proxyUrl.href : '' } - exports.getProxyUrl = getProxyUrl; + exports.getProxyUrl = getProxyUrl var HttpRedirectCodes = [ HttpCodes.MovedPermanently, HttpCodes.ResourceMoved, HttpCodes.SeeOther, HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect - ]; + ] var HttpResponseRetryCodes = [ HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout - ]; - var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; - var ExponentialBackoffCeiling = 10; - var ExponentialBackoffTimeSlice = 5; + ] + var RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'] + var ExponentialBackoffCeiling = 10 + var ExponentialBackoffTimeSlice = 5 var HttpClientError = class _HttpClientError extends Error { constructor(message, statusCode) { - super(message); - this.name = "HttpClientError"; - this.statusCode = statusCode; - Object.setPrototypeOf(this, _HttpClientError.prototype); + super(message) + this.name = 'HttpClientError' + this.statusCode = statusCode + Object.setPrototypeOf(this, _HttpClientError.prototype) } - }; - exports.HttpClientError = HttpClientError; + } + exports.HttpClientError = HttpClientError var HttpClientResponse = class { constructor(message) { - this.message = message; + this.message = message } readBody() { return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on("data", (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on("end", () => { - resolve(output.toString()); - }); - })); - }); + return new Promise((resolve) => + __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0) + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]) + }) + this.message.on('end', () => { + resolve(output.toString()) + }) + }) + ) + }) } readBodyBuffer() { return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - const chunks = []; - this.message.on("data", (chunk) => { - chunks.push(chunk); - }); - this.message.on("end", () => { - resolve(Buffer.concat(chunks)); - }); - })); - }); - } - }; - exports.HttpClientResponse = HttpClientResponse; + return new Promise((resolve) => + __awaiter(this, void 0, void 0, function* () { + const chunks = [] + this.message.on('data', (chunk) => { + chunks.push(chunk) + }) + this.message.on('end', () => { + resolve(Buffer.concat(chunks)) + }) + }) + ) + }) + } + } + exports.HttpClientResponse = HttpClientResponse function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === "https:"; + const parsedUrl = new URL(requestUrl) + return parsedUrl.protocol === 'https:' } - exports.isHttps = isHttps; + exports.isHttps = isHttps var HttpClient = class { constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; + this._ignoreSslError = false + this._allowRedirects = true + this._allowRedirectDowngrade = false + this._maxRedirects = 50 + this._allowRetries = false + this._maxRetries = 1 + this._keepAlive = false + this._disposed = false + this.userAgent = userAgent + this.handlers = handlers || [] + this.requestOptions = requestOptions if (requestOptions) { if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; + this._ignoreSslError = requestOptions.ignoreSslError } - this._socketTimeout = requestOptions.socketTimeout; + this._socketTimeout = requestOptions.socketTimeout if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; + this._allowRedirects = requestOptions.allowRedirects } if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade } if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0) } if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; + this._keepAlive = requestOptions.keepAlive } if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; + this._allowRetries = requestOptions.allowRetries } if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; + this._maxRetries = requestOptions.maxRetries } } } options(requestUrl, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); - }); + return this.request( + 'OPTIONS', + requestUrl, + null, + additionalHeaders || {} + ) + }) } get(requestUrl, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("GET", requestUrl, null, additionalHeaders || {}); - }); + return this.request('GET', requestUrl, null, additionalHeaders || {}) + }) } del(requestUrl, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("DELETE", requestUrl, null, additionalHeaders || {}); - }); + return this.request( + 'DELETE', + requestUrl, + null, + additionalHeaders || {} + ) + }) } post(requestUrl, data, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("POST", requestUrl, data, additionalHeaders || {}); - }); + return this.request('POST', requestUrl, data, additionalHeaders || {}) + }) } patch(requestUrl, data, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("PATCH", requestUrl, data, additionalHeaders || {}); - }); + return this.request( + 'PATCH', + requestUrl, + data, + additionalHeaders || {} + ) + }) } put(requestUrl, data, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("PUT", requestUrl, data, additionalHeaders || {}); - }); + return this.request('PUT', requestUrl, data, additionalHeaders || {}) + }) } head(requestUrl, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request("HEAD", requestUrl, null, additionalHeaders || {}); - }); + return this.request('HEAD', requestUrl, null, additionalHeaders || {}) + }) } sendStream(verb, requestUrl, stream, additionalHeaders) { return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); + return this.request(verb, requestUrl, stream, additionalHeaders) + }) } /** * Gets a typed object from an endpoint @@ -17809,37 +20281,68 @@ var require_lib = __commonJS({ */ getJson(requestUrl, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ) + const res = yield this.get(requestUrl, additionalHeaders) + return this._processResponse(res, this.requestOptions) + }) } postJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + const data = JSON.stringify(obj, null, 2) + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ) + additionalHeaders[Headers.ContentType] = + this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.ContentType, + MediaTypes.ApplicationJson + ) + const res = yield this.post(requestUrl, data, additionalHeaders) + return this._processResponse(res, this.requestOptions) + }) } putJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + const data = JSON.stringify(obj, null, 2) + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ) + additionalHeaders[Headers.ContentType] = + this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.ContentType, + MediaTypes.ApplicationJson + ) + const res = yield this.put(requestUrl, data, additionalHeaders) + return this._processResponse(res, this.requestOptions) + }) } patchJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + const data = JSON.stringify(obj, null, 2) + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ) + additionalHeaders[Headers.ContentType] = + this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.ContentType, + MediaTypes.ApplicationJson + ) + const res = yield this.patch(requestUrl, data, additionalHeaders) + return this._processResponse(res, this.requestOptions) + }) } /** * Makes a raw http request. @@ -17849,71 +20352,96 @@ var require_lib = __commonJS({ request(verb, requestUrl, data, headers) { return __awaiter(this, void 0, void 0, function* () { if (this._disposed) { - throw new Error("Client has already been disposed."); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; - let numTries = 0; - let response; + throw new Error('Client has already been disposed.') + } + const parsedUrl = new URL(requestUrl) + let info = this._prepareRequest(verb, parsedUrl, headers) + const maxTries = + this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1 + let numTries = 0 + let response do { - response = yield this.requestRaw(info, data); - if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; + response = yield this.requestRaw(info, data) + if ( + response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized + ) { + let authenticationHandler for (const handler of this.handlers) { if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; + authenticationHandler = handler + break } } if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); + return authenticationHandler.handleAuthentication( + this, + info, + data + ) } else { - return response; + return response } } - let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { - const redirectUrl = response.message.headers["location"]; + let redirectsRemaining = this._maxRedirects + while ( + response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0 + ) { + const redirectUrl = response.message.headers['location'] if (!redirectUrl) { - break; + break } - const parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol === "https:" && parsedUrl.protocol !== parsedRedirectUrl.protocol && !this._allowRedirectDowngrade) { - throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true."); + const parsedRedirectUrl = new URL(redirectUrl) + if ( + parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade + ) { + throw new Error( + 'Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.' + ) } - yield response.readBody(); + yield response.readBody() if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { for (const header in headers) { - if (header.toLowerCase() === "authorization") { - delete headers[header]; + if (header.toLowerCase() === 'authorization') { + delete headers[header] } } } - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = yield this.requestRaw(info, data); - redirectsRemaining--; + info = this._prepareRequest(verb, parsedRedirectUrl, headers) + response = yield this.requestRaw(info, data) + redirectsRemaining-- } - if (!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode)) { - return response; + if ( + !response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode) + ) { + return response } - numTries += 1; + numTries += 1 if (numTries < maxTries) { - yield response.readBody(); - yield this._performExponentialBackoff(numTries); + yield response.readBody() + yield this._performExponentialBackoff(numTries) } - } while (numTries < maxTries); - return response; - }); + } while (numTries < maxTries) + return response + }) } /** * Needs to be called if keepAlive is set to true in request options. */ dispose() { if (this._agent) { - this._agent.destroy(); + this._agent.destroy() } - this._disposed = true; + this._disposed = true } /** * Raw request. @@ -17925,16 +20453,16 @@ var require_lib = __commonJS({ return new Promise((resolve, reject) => { function callbackForResult(err, res) { if (err) { - reject(err); + reject(err) } else if (!res) { - reject(new Error("Unknown error")); + reject(new Error('Unknown error')) } else { - resolve(res); + resolve(res) } } - this.requestRawWithCallback(info, data, callbackForResult); - }); - }); + this.requestRawWithCallback(info, data, callbackForResult) + }) + }) } /** * Raw request with callback. @@ -17943,46 +20471,49 @@ var require_lib = __commonJS({ * @param onResult */ requestRawWithCallback(info, data, onResult) { - if (typeof data === "string") { + if (typeof data === 'string') { if (!info.options.headers) { - info.options.headers = {}; + info.options.headers = {} } - info.options.headers["Content-Length"] = Buffer.byteLength(data, "utf8"); + info.options.headers['Content-Length'] = Buffer.byteLength( + data, + 'utf8' + ) } - let callbackCalled = false; + let callbackCalled = false function handleResult(err, res) { if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); + callbackCalled = true + onResult(err, res) } } const req = info.httpModule.request(info.options, (msg) => { - const res = new HttpClientResponse(msg); - handleResult(void 0, res); - }); - let socket; - req.on("socket", (sock) => { - socket = sock; - }); + const res = new HttpClientResponse(msg) + handleResult(void 0, res) + }) + let socket + req.on('socket', (sock) => { + socket = sock + }) req.setTimeout(this._socketTimeout || 3 * 6e4, () => { if (socket) { - socket.end(); - } - handleResult(new Error(`Request timeout: ${info.options.path}`)); - }); - req.on("error", function(err) { - handleResult(err); - }); - if (data && typeof data === "string") { - req.write(data, "utf8"); - } - if (data && typeof data !== "string") { - data.on("close", function() { - req.end(); - }); - data.pipe(req); + socket.end() + } + handleResult(new Error(`Request timeout: ${info.options.path}`)) + }) + req.on('error', function (err) { + handleResult(err) + }) + if (data && typeof data === 'string') { + req.write(data, 'utf8') + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end() + }) + data.pipe(req) } else { - req.end(); + req.end() } } /** @@ -17991,435 +20522,507 @@ var require_lib = __commonJS({ * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com */ getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); + const parsedUrl = new URL(serverUrl) + return this._getAgent(parsedUrl) } getAgentDispatcher(serverUrl) { - const parsedUrl = new URL(serverUrl); - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; + const parsedUrl = new URL(serverUrl) + const proxyUrl = pm.getProxyUrl(parsedUrl) + const useProxy = proxyUrl && proxyUrl.hostname if (!useProxy) { - return; + return } - return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl) } _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === "https:"; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; - info.options.path = (info.parsedUrl.pathname || "") + (info.parsedUrl.search || ""); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); + const info = {} + info.parsedUrl = requestUrl + const usingSsl = info.parsedUrl.protocol === 'https:' + info.httpModule = usingSsl ? https : http + const defaultPort = usingSsl ? 443 : 80 + info.options = {} + info.options.host = info.parsedUrl.hostname + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '') + info.options.method = method + info.options.headers = this._mergeHeaders(headers) if (this.userAgent != null) { - info.options.headers["user-agent"] = this.userAgent; + info.options.headers['user-agent'] = this.userAgent } - info.options.agent = this._getAgent(info.parsedUrl); + info.options.agent = this._getAgent(info.parsedUrl) if (this.handlers) { for (const handler of this.handlers) { - handler.prepareRequest(info.options); + handler.prepareRequest(info.options) } } - return info; + return info } _mergeHeaders(headers) { if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + return Object.assign( + {}, + lowercaseKeys(this.requestOptions.headers), + lowercaseKeys(headers || {}) + ) } - return lowercaseKeys(headers || {}); + return lowercaseKeys(headers || {}) } _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; + let clientHeader if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + clientHeader = lowercaseKeys(this.requestOptions.headers)[header] } - return additionalHeaders[header] || clientHeader || _default; + return additionalHeaders[header] || clientHeader || _default } _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; + let agent + const proxyUrl = pm.getProxyUrl(parsedUrl) + const useProxy = proxyUrl && proxyUrl.hostname if (this._keepAlive && useProxy) { - agent = this._proxyAgent; + agent = this._proxyAgent } if (this._keepAlive && !useProxy) { - agent = this._agent; + agent = this._agent } if (agent) { - return agent; + return agent } - const usingSsl = parsedUrl.protocol === "https:"; - let maxSockets = 100; + const usingSsl = parsedUrl.protocol === 'https:' + let maxSockets = 100 if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + maxSockets = + this.requestOptions.maxSockets || http.globalAgent.maxSockets } if (proxyUrl && proxyUrl.hostname) { const agentOptions = { maxSockets, keepAlive: this._keepAlive, - proxy: Object.assign(Object.assign({}, (proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - }), { host: proxyUrl.hostname, port: proxyUrl.port }) - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === "https:"; + proxy: Object.assign( + Object.assign( + {}, + (proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + } + ), + { host: proxyUrl.hostname, port: proxyUrl.port } + ) + } + let tunnelAgent + const overHttps = proxyUrl.protocol === 'https:' if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + tunnelAgent = overHttps + ? tunnel.httpsOverHttps + : tunnel.httpsOverHttp } else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; + agent = tunnelAgent(agentOptions) + this._proxyAgent = agent } if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; + const options = { keepAlive: this._keepAlive, maxSockets } + agent = usingSsl ? new https.Agent(options) : new http.Agent(options) + this._agent = agent } if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; + agent = usingSsl ? https.globalAgent : http.globalAgent } if (usingSsl && this._ignoreSslError) { agent.options = Object.assign(agent.options || {}, { rejectUnauthorized: false - }); + }) } - return agent; + return agent } _getProxyAgentDispatcher(parsedUrl, proxyUrl) { - let proxyAgent; + let proxyAgent if (this._keepAlive) { - proxyAgent = this._proxyAgentDispatcher; + proxyAgent = this._proxyAgentDispatcher } if (proxyAgent) { - return proxyAgent; - } - const usingSsl = parsedUrl.protocol === "https:"; - proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { - token: `${proxyUrl.username}:${proxyUrl.password}` - })); - this._proxyAgentDispatcher = proxyAgent; + return proxyAgent + } + const usingSsl = parsedUrl.protocol === 'https:' + proxyAgent = new undici_1.ProxyAgent( + Object.assign( + { uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, + (proxyUrl.username || proxyUrl.password) && { + token: `${proxyUrl.username}:${proxyUrl.password}` + } + ) + ) + this._proxyAgentDispatcher = proxyAgent if (usingSsl && this._ignoreSslError) { - proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { - rejectUnauthorized: false - }); + proxyAgent.options = Object.assign( + proxyAgent.options.requestTls || {}, + { + rejectUnauthorized: false + } + ) } - return proxyAgent; + return proxyAgent } _performExponentialBackoff(retryNumber) { return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise((resolve) => setTimeout(() => resolve(), ms)); - }); + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber) + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber) + return new Promise((resolve) => setTimeout(() => resolve(), ms)) + }) } _processResponse(res, options) { return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - const statusCode = res.message.statusCode || 0; - const response = { - statusCode, - result: null, - headers: {} - }; - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - function dateTimeDeserializer(key, value) { - if (typeof value === "string") { - const a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; + return new Promise((resolve, reject) => + __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0 + const response = { + statusCode, + result: null, + headers: {} + } + if (statusCode === HttpCodes.NotFound) { + resolve(response) + } + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value) + if (!isNaN(a.valueOf())) { + return a + } } + return value } - return value; - } - let obj; - let contents; - try { - contents = yield res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); + let obj + let contents + try { + contents = yield res.readBody() + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer) + } else { + obj = JSON.parse(contents) + } + response.result = obj + } + response.headers = res.message.headers + } catch (err) {} + if (statusCode > 299) { + let msg + if (obj && obj.message) { + msg = obj.message + } else if (contents && contents.length > 0) { + msg = contents } else { - obj = JSON.parse(contents); + msg = `Failed request: (${statusCode})` } - response.result = obj; - } - response.headers = res.message.headers; - } catch (err) { - } - if (statusCode > 299) { - let msg; - if (obj && obj.message) { - msg = obj.message; - } else if (contents && contents.length > 0) { - msg = contents; + const err = new HttpClientError(msg, statusCode) + err.result = response.result + reject(err) } else { - msg = `Failed request: (${statusCode})`; + resolve(response) } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } else { - resolve(response); - } - })); - }); + }) + ) + }) } - }; - exports.HttpClient = HttpClient; - var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); + } + exports.HttpClient = HttpClient + var lowercaseKeys = (obj) => + Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}) } -}); +}) // ../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/auth.js var require_auth = __commonJS({ - "../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/auth.js"(exports) { - "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+http-client@2.2.0/node_modules/@actions/http-client/lib/auth.js'( + exports + ) { + 'use strict' + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.PersonalAccessTokenCredentialHandler = + exports.BearerCredentialHandler = + exports.BasicCredentialHandler = + void 0 var BasicCredentialHandler = class { constructor(username, password) { - this.username = username; - this.password = password; + this.username = username + this.password = password } prepareRequest(options) { if (!options.headers) { - throw Error("The request has no headers"); + throw Error('The request has no headers') } - options.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`; + options.headers['Authorization'] = `Basic ${Buffer.from( + `${this.username}:${this.password}` + ).toString('base64')}` } // This handler cannot handle 401 canHandleAuthentication() { - return false; + return false } handleAuthentication() { return __awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); - }); + throw new Error('not implemented') + }) } - }; - exports.BasicCredentialHandler = BasicCredentialHandler; + } + exports.BasicCredentialHandler = BasicCredentialHandler var BearerCredentialHandler = class { constructor(token) { - this.token = token; + this.token = token } // currently implements pre-authorization // TODO: support preAuth = false where it hooks on 401 prepareRequest(options) { if (!options.headers) { - throw Error("The request has no headers"); + throw Error('The request has no headers') } - options.headers["Authorization"] = `Bearer ${this.token}`; + options.headers['Authorization'] = `Bearer ${this.token}` } // This handler cannot handle 401 canHandleAuthentication() { - return false; + return false } handleAuthentication() { return __awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); - }); + throw new Error('not implemented') + }) } - }; - exports.BearerCredentialHandler = BearerCredentialHandler; + } + exports.BearerCredentialHandler = BearerCredentialHandler var PersonalAccessTokenCredentialHandler = class { constructor(token) { - this.token = token; + this.token = token } // currently implements pre-authorization // TODO: support preAuth = false where it hooks on 401 prepareRequest(options) { if (!options.headers) { - throw Error("The request has no headers"); + throw Error('The request has no headers') } - options.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`; + options.headers['Authorization'] = `Basic ${Buffer.from( + `PAT:${this.token}` + ).toString('base64')}` } // This handler cannot handle 401 canHandleAuthentication() { - return false; + return false } handleAuthentication() { return __awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); - }); + throw new Error('not implemented') + }) } - }; - exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; + } + exports.PersonalAccessTokenCredentialHandler = + PersonalAccessTokenCredentialHandler } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/oidc-utils.js var require_oidc_utils = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/oidc-utils.js"(exports) { - "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/oidc-utils.js'( + exports + ) { + 'use strict' + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.OidcClient = void 0; - var http_client_1 = require_lib(); - var auth_1 = require_auth(); - var core_1 = require_core(); + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.OidcClient = void 0 + var http_client_1 = require_lib() + var auth_1 = require_auth() + var core_1 = require_core() var OidcClient = class _OidcClient { static createHttpClient(allowRetry = true, maxRetry = 10) { const requestOptions = { allowRetries: allowRetry, maxRetries: maxRetry - }; - return new http_client_1.HttpClient("actions/oidc-client", [new auth_1.BearerCredentialHandler(_OidcClient.getRequestToken())], requestOptions); + } + return new http_client_1.HttpClient( + 'actions/oidc-client', + [new auth_1.BearerCredentialHandler(_OidcClient.getRequestToken())], + requestOptions + ) } static getRequestToken() { - const token = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'] if (!token) { - throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable"); + throw new Error( + 'Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable' + ) } - return token; + return token } static getIDTokenUrl() { - const runtimeUrl = process.env["ACTIONS_ID_TOKEN_REQUEST_URL"]; + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'] if (!runtimeUrl) { - throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"); + throw new Error( + 'Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable' + ) } - return runtimeUrl; + return runtimeUrl } static getCall(id_token_url) { - var _a; + var _a return __awaiter(this, void 0, void 0, function* () { - const httpclient = _OidcClient.createHttpClient(); + const httpclient = _OidcClient.createHttpClient() const res = yield httpclient.getJson(id_token_url).catch((error) => { throw new Error(`Failed to get ID Token. Error Code : ${error.statusCode} - Error Message: ${error.message}`); - }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + Error Message: ${error.message}`) + }) + const id_token = + (_a = res.result) === null || _a === void 0 ? void 0 : _a.value if (!id_token) { - throw new Error("Response json body do not have ID Token field"); + throw new Error('Response json body do not have ID Token field') } - return id_token; - }); + return id_token + }) } static getIDToken(audience) { return __awaiter(this, void 0, void 0, function* () { try { - let id_token_url = _OidcClient.getIDTokenUrl(); + let id_token_url = _OidcClient.getIDTokenUrl() if (audience) { - const encodedAudience = encodeURIComponent(audience); - id_token_url = `${id_token_url}&audience=${encodedAudience}`; + const encodedAudience = encodeURIComponent(audience) + id_token_url = `${id_token_url}&audience=${encodedAudience}` } - core_1.debug(`ID token url is ${id_token_url}`); - const id_token = yield _OidcClient.getCall(id_token_url); - core_1.setSecret(id_token); - return id_token; + core_1.debug(`ID token url is ${id_token_url}`) + const id_token = yield _OidcClient.getCall(id_token_url) + core_1.setSecret(id_token) + return id_token } catch (error) { - throw new Error(`Error message: ${error.message}`); + throw new Error(`Error message: ${error.message}`) } - }); + }) } - }; - exports.OidcClient = OidcClient; + } + exports.OidcClient = OidcClient } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/summary.js var require_summary = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/summary.js"(exports) { - "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/summary.js'( + exports + ) { + 'use strict' + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; - var os_1 = require("os"); - var fs_1 = require("fs"); - var { access, appendFile, writeFile } = fs_1.promises; - exports.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; - exports.SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.summary = + exports.markdownSummary = + exports.SUMMARY_DOCS_URL = + exports.SUMMARY_ENV_VAR = + void 0 + var os_1 = require('os') + var fs_1 = require('fs') + var { access, appendFile, writeFile } = fs_1.promises + exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY' + exports.SUMMARY_DOCS_URL = + 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary' var Summary = class { constructor() { - this._buffer = ""; + this._buffer = '' } /** * Finds the summary file path from the environment, rejects if env var is not found or file does not exist @@ -18430,20 +21033,24 @@ var require_summary = __commonJS({ filePath() { return __awaiter(this, void 0, void 0, function* () { if (this._filePath) { - return this._filePath; + return this._filePath } - const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR] if (!pathFromEnv) { - throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + throw new Error( + `Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.` + ) } try { - yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK) } catch (_a) { - throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + throw new Error( + `Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.` + ) } - this._filePath = pathFromEnv; - return this._filePath; - }); + this._filePath = pathFromEnv + return this._filePath + }) } /** * Wraps content in an HTML tag, adding any HTML attributes @@ -18455,11 +21062,13 @@ var require_summary = __commonJS({ * @returns {string} content wrapped in HTML element */ wrap(tag, content, attrs = {}) { - const htmlAttrs = Object.entries(attrs).map(([key, value]) => ` ${key}="${value}"`).join(""); + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join('') if (!content) { - return `<${tag}${htmlAttrs}>`; + return `<${tag}${htmlAttrs}>` } - return `<${tag}${htmlAttrs}>${content}`; + return `<${tag}${htmlAttrs}>${content}` } /** * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. @@ -18470,12 +21079,14 @@ var require_summary = __commonJS({ */ write(options) { return __awaiter(this, void 0, void 0, function* () { - const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - const filePath = yield this.filePath(); - const writeFunc = overwrite ? writeFile : appendFile; - yield writeFunc(filePath, this._buffer, { encoding: "utf8" }); - return this.emptyBuffer(); - }); + const overwrite = !!(options === null || options === void 0 + ? void 0 + : options.overwrite) + const filePath = yield this.filePath() + const writeFunc = overwrite ? writeFile : appendFile + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }) + return this.emptyBuffer() + }) } /** * Clears the summary buffer and wipes the summary file @@ -18484,8 +21095,8 @@ var require_summary = __commonJS({ */ clear() { return __awaiter(this, void 0, void 0, function* () { - return this.emptyBuffer().write({ overwrite: true }); - }); + return this.emptyBuffer().write({ overwrite: true }) + }) } /** * Returns the current summary buffer as a string @@ -18493,7 +21104,7 @@ var require_summary = __commonJS({ * @returns {string} string of summary buffer */ stringify() { - return this._buffer; + return this._buffer } /** * If the summary buffer is empty @@ -18501,7 +21112,7 @@ var require_summary = __commonJS({ * @returns {boolen} true if the buffer is empty */ isEmptyBuffer() { - return this._buffer.length === 0; + return this._buffer.length === 0 } /** * Resets the summary buffer without writing to summary file @@ -18509,8 +21120,8 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ emptyBuffer() { - this._buffer = ""; - return this; + this._buffer = '' + return this } /** * Adds raw text to the summary buffer @@ -18521,8 +21132,8 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addRaw(text, addEOL = false) { - this._buffer += text; - return addEOL ? this.addEOL() : this; + this._buffer += text + return addEOL ? this.addEOL() : this } /** * Adds the operating system-specific end-of-line marker to the buffer @@ -18530,7 +21141,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addEOL() { - return this.addRaw(os_1.EOL); + return this.addRaw(os_1.EOL) } /** * Adds an HTML codeblock to the summary buffer @@ -18541,9 +21152,9 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addCodeBlock(code, lang) { - const attrs = Object.assign({}, lang && { lang }); - const element = this.wrap("pre", this.wrap("code", code), attrs); - return this.addRaw(element).addEOL(); + const attrs = Object.assign({}, lang && { lang }) + const element = this.wrap('pre', this.wrap('code', code), attrs) + return this.addRaw(element).addEOL() } /** * Adds an HTML list to the summary buffer @@ -18554,10 +21165,10 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addList(items, ordered = false) { - const tag = ordered ? "ol" : "ul"; - const listItems = items.map((item) => this.wrap("li", item)).join(""); - const element = this.wrap(tag, listItems); - return this.addRaw(element).addEOL(); + const tag = ordered ? 'ol' : 'ul' + const listItems = items.map((item) => this.wrap('li', item)).join('') + const element = this.wrap(tag, listItems) + return this.addRaw(element).addEOL() } /** * Adds an HTML table to the summary buffer @@ -18567,20 +21178,27 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addTable(rows) { - const tableBody = rows.map((row) => { - const cells = row.map((cell) => { - if (typeof cell === "string") { - return this.wrap("td", cell); - } - const { header, data, colspan, rowspan } = cell; - const tag = header ? "th" : "td"; - const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); - return this.wrap(tag, data, attrs); - }).join(""); - return this.wrap("tr", cells); - }).join(""); - const element = this.wrap("table", tableBody); - return this.addRaw(element).addEOL(); + const tableBody = rows + .map((row) => { + const cells = row + .map((cell) => { + if (typeof cell === 'string') { + return this.wrap('td', cell) + } + const { header, data, colspan, rowspan } = cell + const tag = header ? 'th' : 'td' + const attrs = Object.assign( + Object.assign({}, colspan && { colspan }), + rowspan && { rowspan } + ) + return this.wrap(tag, data, attrs) + }) + .join('') + return this.wrap('tr', cells) + }) + .join('') + const element = this.wrap('table', tableBody) + return this.addRaw(element).addEOL() } /** * Adds a collapsable HTML details element to the summary buffer @@ -18591,8 +21209,11 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addDetails(label, content) { - const element = this.wrap("details", this.wrap("summary", label) + content); - return this.addRaw(element).addEOL(); + const element = this.wrap( + 'details', + this.wrap('summary', label) + content + ) + return this.addRaw(element).addEOL() } /** * Adds an HTML image tag to the summary buffer @@ -18604,10 +21225,17 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addImage(src, alt, options) { - const { width, height } = options || {}; - const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); - const element = this.wrap("img", null, Object.assign({ src, alt }, attrs)); - return this.addRaw(element).addEOL(); + const { width, height } = options || {} + const attrs = Object.assign( + Object.assign({}, width && { width }), + height && { height } + ) + const element = this.wrap( + 'img', + null, + Object.assign({ src, alt }, attrs) + ) + return this.addRaw(element).addEOL() } /** * Adds an HTML section heading element @@ -18618,10 +21246,12 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addHeading(text, level) { - const tag = `h${level}`; - const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; - const element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); + const tag = `h${level}` + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1' + const element = this.wrap(allowedTag, text) + return this.addRaw(element).addEOL() } /** * Adds an HTML thematic break (
) to the summary buffer @@ -18629,8 +21259,8 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addSeparator() { - const element = this.wrap("hr", null); - return this.addRaw(element).addEOL(); + const element = this.wrap('hr', null) + return this.addRaw(element).addEOL() } /** * Adds an HTML line break (
) to the summary buffer @@ -18638,8 +21268,8 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addBreak() { - const element = this.wrap("br", null); - return this.addRaw(element).addEOL(); + const element = this.wrap('br', null) + return this.addRaw(element).addEOL() } /** * Adds an HTML blockquote to the summary buffer @@ -18650,9 +21280,9 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addQuote(text, cite) { - const attrs = Object.assign({}, cite && { cite }); - const element = this.wrap("blockquote", text, attrs); - return this.addRaw(element).addEOL(); + const attrs = Object.assign({}, cite && { cite }) + const element = this.wrap('blockquote', text, attrs) + return this.addRaw(element).addEOL() } /** * Adds an HTML anchor tag to the summary buffer @@ -18663,598 +21293,727 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addLink(text, href) { - const element = this.wrap("a", text, { href }); - return this.addRaw(element).addEOL(); + const element = this.wrap('a', text, { href }) + return this.addRaw(element).addEOL() } - }; - var _summary = new Summary(); - exports.markdownSummary = _summary; - exports.summary = _summary; + } + var _summary = new Summary() + exports.markdownSummary = _summary + exports.summary = _summary } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/path-utils.js var require_path_utils = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/path-utils.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; - var path = __importStar(require("path")); + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/path-utils.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) + } + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0 + var path = __importStar(require('path')) function toPosixPath(pth) { - return pth.replace(/[\\]/g, "/"); + return pth.replace(/[\\]/g, '/') } - exports.toPosixPath = toPosixPath; + exports.toPosixPath = toPosixPath function toWin32Path(pth) { - return pth.replace(/[/]/g, "\\"); + return pth.replace(/[/]/g, '\\') } - exports.toWin32Path = toWin32Path; + exports.toWin32Path = toWin32Path function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path.sep); + return pth.replace(/[/\\]/g, path.sep) } - exports.toPlatformPath = toPlatformPath; + exports.toPlatformPath = toPlatformPath } -}); +}) // ../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/core.js var require_core = __commonJS({ - "../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/core.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/core.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k] + } + }) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; - var command_1 = require_command(); - var file_command_1 = require_file_command(); - var utils_1 = require_utils(); - var os = __importStar(require("os")); - var path = __importStar(require("path")); - var oidc_utils_1 = require_oidc_utils(); - var ExitCode; - (function(ExitCode2) { - ExitCode2[ExitCode2["Success"] = 0] = "Success"; - ExitCode2[ExitCode2["Failure"] = 1] = "Failure"; - })(ExitCode = exports.ExitCode || (exports.ExitCode = {})); + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } + } + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.getIDToken = + exports.getState = + exports.saveState = + exports.group = + exports.endGroup = + exports.startGroup = + exports.info = + exports.notice = + exports.warning = + exports.error = + exports.debug = + exports.isDebug = + exports.setFailed = + exports.setCommandEcho = + exports.setOutput = + exports.getBooleanInput = + exports.getMultilineInput = + exports.getInput = + exports.addPath = + exports.setSecret = + exports.exportVariable = + exports.ExitCode = + void 0 + var command_1 = require_command() + var file_command_1 = require_file_command() + var utils_1 = require_utils() + var os = __importStar(require('os')) + var path = __importStar(require('path')) + var oidc_utils_1 = require_oidc_utils() + var ExitCode + ;(function (ExitCode2) { + ExitCode2[(ExitCode2['Success'] = 0)] = 'Success' + ExitCode2[(ExitCode2['Failure'] = 1)] = 'Failure' + })((ExitCode = exports.ExitCode || (exports.ExitCode = {}))) function exportVariable(name, val) { - const convertedVal = utils_1.toCommandValue(val); - process.env[name] = convertedVal; - const filePath = process.env["GITHUB_ENV"] || ""; + const convertedVal = utils_1.toCommandValue(val) + process.env[name] = convertedVal + const filePath = process.env['GITHUB_ENV'] || '' if (filePath) { - return file_command_1.issueFileCommand("ENV", file_command_1.prepareKeyValueMessage(name, val)); + return file_command_1.issueFileCommand( + 'ENV', + file_command_1.prepareKeyValueMessage(name, val) + ) } - command_1.issueCommand("set-env", { name }, convertedVal); + command_1.issueCommand('set-env', { name }, convertedVal) } - exports.exportVariable = exportVariable; + exports.exportVariable = exportVariable function setSecret(secret) { - command_1.issueCommand("add-mask", {}, secret); + command_1.issueCommand('add-mask', {}, secret) } - exports.setSecret = setSecret; + exports.setSecret = setSecret function addPath(inputPath) { - const filePath = process.env["GITHUB_PATH"] || ""; + const filePath = process.env['GITHUB_PATH'] || '' if (filePath) { - file_command_1.issueFileCommand("PATH", inputPath); + file_command_1.issueFileCommand('PATH', inputPath) } else { - command_1.issueCommand("add-path", {}, inputPath); + command_1.issueCommand('add-path', {}, inputPath) } - process.env["PATH"] = `${inputPath}${path.delimiter}${process.env["PATH"]}`; + process.env[ + 'PATH' + ] = `${inputPath}${path.delimiter}${process.env['PATH']}` } - exports.addPath = addPath; + exports.addPath = addPath function getInput2(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || ""; + const val = + process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '' if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); + throw new Error(`Input required and not supplied: ${name}`) } if (options && options.trimWhitespace === false) { - return val; + return val } - return val.trim(); + return val.trim() } - exports.getInput = getInput2; + exports.getInput = getInput2 function getMultilineInput(name, options) { - const inputs = getInput2(name, options).split("\n").filter((x) => x !== ""); + const inputs = getInput2(name, options) + .split('\n') + .filter((x) => x !== '') if (options && options.trimWhitespace === false) { - return inputs; + return inputs } - return inputs.map((input) => input.trim()); + return inputs.map((input) => input.trim()) } - exports.getMultilineInput = getMultilineInput; + exports.getMultilineInput = getMultilineInput function getBooleanInput(name, options) { - const trueValue = ["true", "True", "TRUE"]; - const falseValue = ["false", "False", "FALSE"]; - const val = getInput2(name, options); - if (trueValue.includes(val)) - return true; - if (falseValue.includes(val)) - return false; + const trueValue = ['true', 'True', 'TRUE'] + const falseValue = ['false', 'False', 'FALSE'] + const val = getInput2(name, options) + if (trueValue.includes(val)) return true + if (falseValue.includes(val)) return false throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``) } - exports.getBooleanInput = getBooleanInput; + exports.getBooleanInput = getBooleanInput function setOutput(name, value) { - const filePath = process.env["GITHUB_OUTPUT"] || ""; + const filePath = process.env['GITHUB_OUTPUT'] || '' if (filePath) { - return file_command_1.issueFileCommand("OUTPUT", file_command_1.prepareKeyValueMessage(name, value)); + return file_command_1.issueFileCommand( + 'OUTPUT', + file_command_1.prepareKeyValueMessage(name, value) + ) } - process.stdout.write(os.EOL); - command_1.issueCommand("set-output", { name }, utils_1.toCommandValue(value)); + process.stdout.write(os.EOL) + command_1.issueCommand( + 'set-output', + { name }, + utils_1.toCommandValue(value) + ) } - exports.setOutput = setOutput; + exports.setOutput = setOutput function setCommandEcho(enabled) { - command_1.issue("echo", enabled ? "on" : "off"); + command_1.issue('echo', enabled ? 'on' : 'off') } - exports.setCommandEcho = setCommandEcho; + exports.setCommandEcho = setCommandEcho function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); + process.exitCode = ExitCode.Failure + error(message) } - exports.setFailed = setFailed; + exports.setFailed = setFailed function isDebug() { - return process.env["RUNNER_DEBUG"] === "1"; + return process.env['RUNNER_DEBUG'] === '1' } - exports.isDebug = isDebug; + exports.isDebug = isDebug function debug(message) { - command_1.issueCommand("debug", {}, message); + command_1.issueCommand('debug', {}, message) } - exports.debug = debug; + exports.debug = debug function error(message, properties = {}) { - command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + command_1.issueCommand( + 'error', + utils_1.toCommandProperties(properties), + message instanceof Error ? message.toString() : message + ) } - exports.error = error; + exports.error = error function warning(message, properties = {}) { - command_1.issueCommand("warning", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + command_1.issueCommand( + 'warning', + utils_1.toCommandProperties(properties), + message instanceof Error ? message.toString() : message + ) } - exports.warning = warning; + exports.warning = warning function notice(message, properties = {}) { - command_1.issueCommand("notice", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + command_1.issueCommand( + 'notice', + utils_1.toCommandProperties(properties), + message instanceof Error ? message.toString() : message + ) } - exports.notice = notice; + exports.notice = notice function info(message) { - process.stdout.write(message + os.EOL); + process.stdout.write(message + os.EOL) } - exports.info = info; + exports.info = info function startGroup(name) { - command_1.issue("group", name); + command_1.issue('group', name) } - exports.startGroup = startGroup; + exports.startGroup = startGroup function endGroup() { - command_1.issue("endgroup"); + command_1.issue('endgroup') } - exports.endGroup = endGroup; + exports.endGroup = endGroup function group(name, fn) { return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; + startGroup(name) + let result try { - result = yield fn(); + result = yield fn() } finally { - endGroup(); + endGroup() } - return result; - }); + return result + }) } - exports.group = group; + exports.group = group function saveState(name, value) { - const filePath = process.env["GITHUB_STATE"] || ""; + const filePath = process.env['GITHUB_STATE'] || '' if (filePath) { - return file_command_1.issueFileCommand("STATE", file_command_1.prepareKeyValueMessage(name, value)); + return file_command_1.issueFileCommand( + 'STATE', + file_command_1.prepareKeyValueMessage(name, value) + ) } - command_1.issueCommand("save-state", { name }, utils_1.toCommandValue(value)); + command_1.issueCommand( + 'save-state', + { name }, + utils_1.toCommandValue(value) + ) } - exports.saveState = saveState; + exports.saveState = saveState function getState(name) { - return process.env[`STATE_${name}`] || ""; + return process.env[`STATE_${name}`] || '' } - exports.getState = getState; + exports.getState = getState function getIDToken(aud) { return __awaiter(this, void 0, void 0, function* () { - return yield oidc_utils_1.OidcClient.getIDToken(aud); - }); - } - exports.getIDToken = getIDToken; - var summary_1 = require_summary(); - Object.defineProperty(exports, "summary", { enumerable: true, get: function() { - return summary_1.summary; - } }); - var summary_2 = require_summary(); - Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function() { - return summary_2.markdownSummary; - } }); - var path_utils_1 = require_path_utils(); - Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function() { - return path_utils_1.toPosixPath; - } }); - Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function() { - return path_utils_1.toWin32Path; - } }); - Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function() { - return path_utils_1.toPlatformPath; - } }); + return yield oidc_utils_1.OidcClient.getIDToken(aud) + }) + } + exports.getIDToken = getIDToken + var summary_1 = require_summary() + Object.defineProperty(exports, 'summary', { + enumerable: true, + get: function () { + return summary_1.summary + } + }) + var summary_2 = require_summary() + Object.defineProperty(exports, 'markdownSummary', { + enumerable: true, + get: function () { + return summary_2.markdownSummary + } + }) + var path_utils_1 = require_path_utils() + Object.defineProperty(exports, 'toPosixPath', { + enumerable: true, + get: function () { + return path_utils_1.toPosixPath + } + }) + Object.defineProperty(exports, 'toWin32Path', { + enumerable: true, + get: function () { + return path_utils_1.toWin32Path + } + }) + Object.defineProperty(exports, 'toPlatformPath', { + enumerable: true, + get: function () { + return path_utils_1.toPlatformPath + } + }) } -}); +}) // ../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/context.js var require_context = __commonJS({ - "../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/context.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Context = void 0; - var fs_1 = require("fs"); - var os_1 = require("os"); + '../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/context.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.Context = void 0 + var fs_1 = require('fs') + var os_1 = require('os') var Context = class { /** * Hydrate the context from the environment */ constructor() { - var _a, _b, _c; - this.payload = {}; + var _a, _b, _c + this.payload = {} if (process.env.GITHUB_EVENT_PATH) { if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" })); + this.payload = JSON.parse( + (0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { + encoding: 'utf8' + }) + ) } else { - const path = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); - } - } - this.eventName = process.env.GITHUB_EVENT_NAME; - this.sha = process.env.GITHUB_SHA; - this.ref = process.env.GITHUB_REF; - this.workflow = process.env.GITHUB_WORKFLOW; - this.action = process.env.GITHUB_ACTION; - this.actor = process.env.GITHUB_ACTOR; - this.job = process.env.GITHUB_JOB; - this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); - this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; - this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; - this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + const path = process.env.GITHUB_EVENT_PATH + process.stdout.write( + `GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}` + ) + } + } + this.eventName = process.env.GITHUB_EVENT_NAME + this.sha = process.env.GITHUB_SHA + this.ref = process.env.GITHUB_REF + this.workflow = process.env.GITHUB_WORKFLOW + this.action = process.env.GITHUB_ACTION + this.actor = process.env.GITHUB_ACTOR + this.job = process.env.GITHUB_JOB + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10) + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10) + this.apiUrl = + (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 + ? _a + : `https://api.github.com` + this.serverUrl = + (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 + ? _b + : `https://github.com` + this.graphqlUrl = + (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 + ? _c + : `https://api.github.com/graphql` } get issue() { - const payload = this.payload; - return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + const payload = this.payload + return Object.assign(Object.assign({}, this.repo), { + number: (payload.issue || payload.pull_request || payload).number + }) } get repo() { if (process.env.GITHUB_REPOSITORY) { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/"); - return { owner, repo }; + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/') + return { owner, repo } } if (this.payload.repository) { return { owner: this.payload.repository.owner.login, repo: this.payload.repository.name - }; + } } - throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + throw new Error( + "context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'" + ) } - }; - exports.Context = Context; + } + exports.Context = Context } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/symbols.js var require_symbols6 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/symbols.js"(exports, module2) { + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/symbols.js'( + exports, + module2 + ) { module2.exports = { - kClose: Symbol("close"), - kDestroy: Symbol("destroy"), - kDispatch: Symbol("dispatch"), - kUrl: Symbol("url"), - kWriting: Symbol("writing"), - kResuming: Symbol("resuming"), - kQueue: Symbol("queue"), - kConnect: Symbol("connect"), - kConnecting: Symbol("connecting"), - kHeadersList: Symbol("headers list"), - kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), - kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), - kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), - kKeepAliveTimeoutValue: Symbol("keep alive timeout"), - kKeepAlive: Symbol("keep alive"), - kHeadersTimeout: Symbol("headers timeout"), - kBodyTimeout: Symbol("body timeout"), - kServerName: Symbol("server name"), - kLocalAddress: Symbol("local address"), - kHost: Symbol("host"), - kNoRef: Symbol("no ref"), - kBodyUsed: Symbol("used"), - kRunning: Symbol("running"), - kBlocking: Symbol("blocking"), - kPending: Symbol("pending"), - kSize: Symbol("size"), - kBusy: Symbol("busy"), - kQueued: Symbol("queued"), - kFree: Symbol("free"), - kConnected: Symbol("connected"), - kClosed: Symbol("closed"), - kNeedDrain: Symbol("need drain"), - kReset: Symbol("reset"), - kDestroyed: Symbol.for("nodejs.stream.destroyed"), - kMaxHeadersSize: Symbol("max headers size"), - kRunningIdx: Symbol("running index"), - kPendingIdx: Symbol("pending index"), - kError: Symbol("error"), - kClients: Symbol("clients"), - kClient: Symbol("client"), - kParser: Symbol("parser"), - kOnDestroyed: Symbol("destroy callbacks"), - kPipelining: Symbol("pipelining"), - kSocket: Symbol("socket"), - kHostHeader: Symbol("host header"), - kConnector: Symbol("connector"), - kStrictContentLength: Symbol("strict content length"), - kMaxRedirections: Symbol("maxRedirections"), - kMaxRequests: Symbol("maxRequestsPerClient"), - kProxy: Symbol("proxy agent options"), - kCounter: Symbol("socket request counter"), - kInterceptors: Symbol("dispatch interceptors"), - kMaxResponseSize: Symbol("max response size"), - kHTTP2Session: Symbol("http2Session"), - kHTTP2SessionState: Symbol("http2Session state"), - kHTTP2BuildRequest: Symbol("http2 build request"), - kHTTP1BuildRequest: Symbol("http1 build request"), - kHTTP2CopyHeaders: Symbol("http2 copy headers"), - kHTTPConnVersion: Symbol("http connection version") - }; + kClose: Symbol('close'), + kDestroy: Symbol('destroy'), + kDispatch: Symbol('dispatch'), + kUrl: Symbol('url'), + kWriting: Symbol('writing'), + kResuming: Symbol('resuming'), + kQueue: Symbol('queue'), + kConnect: Symbol('connect'), + kConnecting: Symbol('connecting'), + kHeadersList: Symbol('headers list'), + kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'), + kKeepAliveMaxTimeout: Symbol('max keep alive timeout'), + kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'), + kKeepAliveTimeoutValue: Symbol('keep alive timeout'), + kKeepAlive: Symbol('keep alive'), + kHeadersTimeout: Symbol('headers timeout'), + kBodyTimeout: Symbol('body timeout'), + kServerName: Symbol('server name'), + kLocalAddress: Symbol('local address'), + kHost: Symbol('host'), + kNoRef: Symbol('no ref'), + kBodyUsed: Symbol('used'), + kRunning: Symbol('running'), + kBlocking: Symbol('blocking'), + kPending: Symbol('pending'), + kSize: Symbol('size'), + kBusy: Symbol('busy'), + kQueued: Symbol('queued'), + kFree: Symbol('free'), + kConnected: Symbol('connected'), + kClosed: Symbol('closed'), + kNeedDrain: Symbol('need drain'), + kReset: Symbol('reset'), + kDestroyed: Symbol.for('nodejs.stream.destroyed'), + kMaxHeadersSize: Symbol('max headers size'), + kRunningIdx: Symbol('running index'), + kPendingIdx: Symbol('pending index'), + kError: Symbol('error'), + kClients: Symbol('clients'), + kClient: Symbol('client'), + kParser: Symbol('parser'), + kOnDestroyed: Symbol('destroy callbacks'), + kPipelining: Symbol('pipelining'), + kSocket: Symbol('socket'), + kHostHeader: Symbol('host header'), + kConnector: Symbol('connector'), + kStrictContentLength: Symbol('strict content length'), + kMaxRedirections: Symbol('maxRedirections'), + kMaxRequests: Symbol('maxRequestsPerClient'), + kProxy: Symbol('proxy agent options'), + kCounter: Symbol('socket request counter'), + kInterceptors: Symbol('dispatch interceptors'), + kMaxResponseSize: Symbol('max response size'), + kHTTP2Session: Symbol('http2Session'), + kHTTP2SessionState: Symbol('http2Session state'), + kHTTP2BuildRequest: Symbol('http2 build request'), + kHTTP1BuildRequest: Symbol('http1 build request'), + kHTTP2CopyHeaders: Symbol('http2 copy headers'), + kHTTPConnVersion: Symbol('http connection version') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/errors.js var require_errors2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/errors.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/errors.js'( + exports, + module2 + ) { + 'use strict' var UndiciError = class extends Error { constructor(message) { - super(message); - this.name = "UndiciError"; - this.code = "UND_ERR"; + super(message) + this.name = 'UndiciError' + this.code = 'UND_ERR' } - }; + } var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ConnectTimeoutError); - this.name = "ConnectTimeoutError"; - this.message = message || "Connect Timeout Error"; - this.code = "UND_ERR_CONNECT_TIMEOUT"; + super(message) + Error.captureStackTrace(this, _ConnectTimeoutError) + this.name = 'ConnectTimeoutError' + this.message = message || 'Connect Timeout Error' + this.code = 'UND_ERR_CONNECT_TIMEOUT' } - }; + } var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _HeadersTimeoutError); - this.name = "HeadersTimeoutError"; - this.message = message || "Headers Timeout Error"; - this.code = "UND_ERR_HEADERS_TIMEOUT"; + super(message) + Error.captureStackTrace(this, _HeadersTimeoutError) + this.name = 'HeadersTimeoutError' + this.message = message || 'Headers Timeout Error' + this.code = 'UND_ERR_HEADERS_TIMEOUT' } - }; + } var HeadersOverflowError = class _HeadersOverflowError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _HeadersOverflowError); - this.name = "HeadersOverflowError"; - this.message = message || "Headers Overflow Error"; - this.code = "UND_ERR_HEADERS_OVERFLOW"; + super(message) + Error.captureStackTrace(this, _HeadersOverflowError) + this.name = 'HeadersOverflowError' + this.message = message || 'Headers Overflow Error' + this.code = 'UND_ERR_HEADERS_OVERFLOW' } - }; + } var BodyTimeoutError = class _BodyTimeoutError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _BodyTimeoutError); - this.name = "BodyTimeoutError"; - this.message = message || "Body Timeout Error"; - this.code = "UND_ERR_BODY_TIMEOUT"; + super(message) + Error.captureStackTrace(this, _BodyTimeoutError) + this.name = 'BodyTimeoutError' + this.message = message || 'Body Timeout Error' + this.code = 'UND_ERR_BODY_TIMEOUT' } - }; + } var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError { constructor(message, statusCode, headers, body) { - super(message); - Error.captureStackTrace(this, _ResponseStatusCodeError); - this.name = "ResponseStatusCodeError"; - this.message = message || "Response Status Code Error"; - this.code = "UND_ERR_RESPONSE_STATUS_CODE"; - this.body = body; - this.status = statusCode; - this.statusCode = statusCode; - this.headers = headers; - } - }; + super(message) + Error.captureStackTrace(this, _ResponseStatusCodeError) + this.name = 'ResponseStatusCodeError' + this.message = message || 'Response Status Code Error' + this.code = 'UND_ERR_RESPONSE_STATUS_CODE' + this.body = body + this.status = statusCode + this.statusCode = statusCode + this.headers = headers + } + } var InvalidArgumentError = class _InvalidArgumentError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _InvalidArgumentError); - this.name = "InvalidArgumentError"; - this.message = message || "Invalid Argument Error"; - this.code = "UND_ERR_INVALID_ARG"; + super(message) + Error.captureStackTrace(this, _InvalidArgumentError) + this.name = 'InvalidArgumentError' + this.message = message || 'Invalid Argument Error' + this.code = 'UND_ERR_INVALID_ARG' } - }; + } var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _InvalidReturnValueError); - this.name = "InvalidReturnValueError"; - this.message = message || "Invalid Return Value Error"; - this.code = "UND_ERR_INVALID_RETURN_VALUE"; + super(message) + Error.captureStackTrace(this, _InvalidReturnValueError) + this.name = 'InvalidReturnValueError' + this.message = message || 'Invalid Return Value Error' + this.code = 'UND_ERR_INVALID_RETURN_VALUE' } - }; + } var RequestAbortedError = class _RequestAbortedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _RequestAbortedError); - this.name = "AbortError"; - this.message = message || "Request aborted"; - this.code = "UND_ERR_ABORTED"; + super(message) + Error.captureStackTrace(this, _RequestAbortedError) + this.name = 'AbortError' + this.message = message || 'Request aborted' + this.code = 'UND_ERR_ABORTED' } - }; + } var InformationalError = class _InformationalError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _InformationalError); - this.name = "InformationalError"; - this.message = message || "Request information"; - this.code = "UND_ERR_INFO"; + super(message) + Error.captureStackTrace(this, _InformationalError) + this.name = 'InformationalError' + this.message = message || 'Request information' + this.code = 'UND_ERR_INFO' } - }; + } var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _RequestContentLengthMismatchError); - this.name = "RequestContentLengthMismatchError"; - this.message = message || "Request body length does not match content-length header"; - this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + super(message) + Error.captureStackTrace(this, _RequestContentLengthMismatchError) + this.name = 'RequestContentLengthMismatchError' + this.message = + message || 'Request body length does not match content-length header' + this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH' } - }; + } var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ResponseContentLengthMismatchError); - this.name = "ResponseContentLengthMismatchError"; - this.message = message || "Response body length does not match content-length header"; - this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + super(message) + Error.captureStackTrace(this, _ResponseContentLengthMismatchError) + this.name = 'ResponseContentLengthMismatchError' + this.message = + message || 'Response body length does not match content-length header' + this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH' } - }; + } var ClientDestroyedError = class _ClientDestroyedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ClientDestroyedError); - this.name = "ClientDestroyedError"; - this.message = message || "The client is destroyed"; - this.code = "UND_ERR_DESTROYED"; + super(message) + Error.captureStackTrace(this, _ClientDestroyedError) + this.name = 'ClientDestroyedError' + this.message = message || 'The client is destroyed' + this.code = 'UND_ERR_DESTROYED' } - }; + } var ClientClosedError = class _ClientClosedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ClientClosedError); - this.name = "ClientClosedError"; - this.message = message || "The client is closed"; - this.code = "UND_ERR_CLOSED"; + super(message) + Error.captureStackTrace(this, _ClientClosedError) + this.name = 'ClientClosedError' + this.message = message || 'The client is closed' + this.code = 'UND_ERR_CLOSED' } - }; + } var SocketError = class _SocketError extends UndiciError { constructor(message, socket) { - super(message); - Error.captureStackTrace(this, _SocketError); - this.name = "SocketError"; - this.message = message || "Socket error"; - this.code = "UND_ERR_SOCKET"; - this.socket = socket; - } - }; + super(message) + Error.captureStackTrace(this, _SocketError) + this.name = 'SocketError' + this.message = message || 'Socket error' + this.code = 'UND_ERR_SOCKET' + this.socket = socket + } + } var NotSupportedError = class _NotSupportedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _NotSupportedError); - this.name = "NotSupportedError"; - this.message = message || "Not supported error"; - this.code = "UND_ERR_NOT_SUPPORTED"; + super(message) + Error.captureStackTrace(this, _NotSupportedError) + this.name = 'NotSupportedError' + this.message = message || 'Not supported error' + this.code = 'UND_ERR_NOT_SUPPORTED' } - }; + } var BalancedPoolMissingUpstreamError = class extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "MissingUpstreamError"; - this.message = message || "No upstream has been added to the BalancedPool"; - this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + super(message) + Error.captureStackTrace(this, NotSupportedError) + this.name = 'MissingUpstreamError' + this.message = + message || 'No upstream has been added to the BalancedPool' + this.code = 'UND_ERR_BPL_MISSING_UPSTREAM' } - }; + } var HTTPParserError = class _HTTPParserError extends Error { constructor(message, code, data) { - super(message); - Error.captureStackTrace(this, _HTTPParserError); - this.name = "HTTPParserError"; - this.code = code ? `HPE_${code}` : void 0; - this.data = data ? data.toString() : void 0; + super(message) + Error.captureStackTrace(this, _HTTPParserError) + this.name = 'HTTPParserError' + this.code = code ? `HPE_${code}` : void 0 + this.data = data ? data.toString() : void 0 } - }; + } var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _ResponseExceededMaxSizeError); - this.name = "ResponseExceededMaxSizeError"; - this.message = message || "Response content exceeded max size"; - this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + super(message) + Error.captureStackTrace(this, _ResponseExceededMaxSizeError) + this.name = 'ResponseExceededMaxSizeError' + this.message = message || 'Response content exceeded max size' + this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE' } - }; + } module2.exports = { HTTPParserError, UndiciError, @@ -19275,256 +22034,340 @@ var require_errors2 = __commonJS({ ResponseContentLengthMismatchError, BalancedPoolMissingUpstreamError, ResponseExceededMaxSizeError - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/util.js var require_util8 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols6(); - var { IncomingMessage } = require("http"); - var stream = require("stream"); - var net = require("net"); - var { InvalidArgumentError } = require_errors2(); - var { Blob: Blob2 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify: stringify2 } = require("querystring"); - var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); - function nop() { - } + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/util.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { kDestroyed, kBodyUsed } = require_symbols6() + var { IncomingMessage } = require('http') + var stream = require('stream') + var net = require('net') + var { InvalidArgumentError } = require_errors2() + var { Blob: Blob2 } = require('buffer') + var nodeUtil = require('util') + var { stringify: stringify2 } = require('querystring') + var [nodeMajor, nodeMinor] = process.versions.node + .split('.') + .map((v) => Number(v)) + function nop() {} function isStream(obj) { - return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; + return ( + obj && + typeof obj === 'object' && + typeof obj.pipe === 'function' && + typeof obj.on === 'function' + ) } function isBlobLike(object) { - return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); + return ( + (Blob2 && object instanceof Blob2) || + (object && + typeof object === 'object' && + (typeof object.stream === 'function' || + typeof object.arrayBuffer === 'function') && + /^(Blob|File)$/.test(object[Symbol.toStringTag])) + ) } function buildURL(url, queryParams) { - if (url.includes("?") || url.includes("#")) { - throw new Error('Query params cannot be passed when url already contains "?" or "#".'); + if (url.includes('?') || url.includes('#')) { + throw new Error( + 'Query params cannot be passed when url already contains "?" or "#".' + ) } - const stringified = stringify2(queryParams); + const stringified = stringify2(queryParams) if (stringified) { - url += "?" + stringified; + url += '?' + stringified } - return url; + return url } function parseURL(url) { - if (typeof url === "string") { - url = new URL(url); + if (typeof url === 'string') { + url = new URL(url) if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + throw new InvalidArgumentError( + 'Invalid URL protocol: the URL must start with `http:` or `https:`.' + ) } - return url; + return url } - if (!url || typeof url !== "object") { - throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); + if (!url || typeof url !== 'object') { + throw new InvalidArgumentError( + 'Invalid URL: The URL argument must be a non-null object.' + ) } if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + throw new InvalidArgumentError( + 'Invalid URL protocol: the URL must start with `http:` or `https:`.' + ) } if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { - throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); + if ( + url.port != null && + url.port !== '' && + !Number.isFinite(parseInt(url.port)) + ) { + throw new InvalidArgumentError( + 'Invalid URL: port must be a valid integer or a string representation of an integer.' + ) } - if (url.path != null && typeof url.path !== "string") { - throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); + if (url.path != null && typeof url.path !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL path: the path must be a string or null/undefined.' + ) } - if (url.pathname != null && typeof url.pathname !== "string") { - throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); + if (url.pathname != null && typeof url.pathname !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL pathname: the pathname must be a string or null/undefined.' + ) } - if (url.hostname != null && typeof url.hostname !== "string") { - throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); + if (url.hostname != null && typeof url.hostname !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL hostname: the hostname must be a string or null/undefined.' + ) } - if (url.origin != null && typeof url.origin !== "string") { - throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); + if (url.origin != null && typeof url.origin !== 'string') { + throw new InvalidArgumentError( + 'Invalid URL origin: the origin must be a string or null/undefined.' + ) } - const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80; - let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`; - let path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); + const port = + url.port != null ? url.port : url.protocol === 'https:' ? 443 : 80 + let origin = + url.origin != null + ? url.origin + : `${url.protocol}//${url.hostname}:${port}` + let path = + url.path != null + ? url.path + : `${url.pathname || ''}${url.search || ''}` + if (origin.endsWith('/')) { + origin = origin.substring(0, origin.length - 1) } - if (path && !path.startsWith("/")) { - path = `/${path}`; + if (path && !path.startsWith('/')) { + path = `/${path}` } - url = new URL(origin + path); + url = new URL(origin + path) } - return url; + return url } function parseOrigin(url) { - url = parseURL(url); - if (url.pathname !== "/" || url.search || url.hash) { - throw new InvalidArgumentError("invalid url"); + url = parseURL(url) + if (url.pathname !== '/' || url.search || url.hash) { + throw new InvalidArgumentError('invalid url') } - return url; + return url } function getHostname(host) { - if (host[0] === "[") { - const idx2 = host.indexOf("]"); - assert(idx2 !== -1); - return host.substr(1, idx2 - 1); + if (host[0] === '[') { + const idx2 = host.indexOf(']') + assert(idx2 !== -1) + return host.substr(1, idx2 - 1) } - const idx = host.indexOf(":"); - if (idx === -1) - return host; - return host.substr(0, idx); + const idx = host.indexOf(':') + if (idx === -1) return host + return host.substr(0, idx) } function getServerName(host) { if (!host) { - return null; + return null } - assert.strictEqual(typeof host, "string"); - const servername = getHostname(host); + assert.strictEqual(typeof host, 'string') + const servername = getHostname(host) if (net.isIP(servername)) { - return ""; + return '' } - return servername; + return servername } function deepClone(obj) { - return JSON.parse(JSON.stringify(obj)); + return JSON.parse(JSON.stringify(obj)) } function isAsyncIterable(obj) { - return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); + return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function') } function isIterable(obj) { - return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); + return !!( + obj != null && + (typeof obj[Symbol.iterator] === 'function' || + typeof obj[Symbol.asyncIterator] === 'function') + ) } function bodyLength(body) { if (body == null) { - return 0; + return 0 } else if (isStream(body)) { - const state = body._readableState; - return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; + const state = body._readableState + return state && + state.objectMode === false && + state.ended === true && + Number.isFinite(state.length) + ? state.length + : null } else if (isBlobLike(body)) { - return body.size != null ? body.size : null; + return body.size != null ? body.size : null } else if (isBuffer(body)) { - return body.byteLength; + return body.byteLength } - return null; + return null } function isDestroyed(stream2) { - return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]); + return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]) } function isReadableAborted(stream2) { - const state = stream2 && stream2._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; + const state = stream2 && stream2._readableState + return isDestroyed(stream2) && state && !state.endEmitted } function destroy(stream2, err) { if (!isStream(stream2) || isDestroyed(stream2)) { - return; + return } - if (typeof stream2.destroy === "function") { + if (typeof stream2.destroy === 'function') { if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { - stream2.socket = null; + stream2.socket = null } - stream2.destroy(err); + stream2.destroy(err) } else if (err) { - process.nextTick((stream3, err2) => { - stream3.emit("error", err2); - }, stream2, err); + process.nextTick( + (stream3, err2) => { + stream3.emit('error', err2) + }, + stream2, + err + ) } if (stream2.destroyed !== true) { - stream2[kDestroyed] = true; + stream2[kDestroyed] = true } } - var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; + var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/ function parseKeepAliveTimeout(val) { - const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); - return m ? parseInt(m[1], 10) * 1e3 : null; + const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR) + return m ? parseInt(m[1], 10) * 1e3 : null } function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) - return headers; + if (!Array.isArray(headers)) return headers for (let i = 0; i < headers.length; i += 2) { - const key = headers[i].toString().toLowerCase(); - let val = obj[key]; + const key = headers[i].toString().toLowerCase() + let val = obj[key] if (!val) { if (Array.isArray(headers[i + 1])) { - obj[key] = headers[i + 1]; + obj[key] = headers[i + 1] } else { - obj[key] = headers[i + 1].toString("utf8"); + obj[key] = headers[i + 1].toString('utf8') } } else { if (!Array.isArray(val)) { - val = [val]; - obj[key] = val; + val = [val] + obj[key] = val } - val.push(headers[i + 1].toString("utf8")); + val.push(headers[i + 1].toString('utf8')) } } - if ("content-length" in obj && "content-disposition" in obj) { - obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); + if ('content-length' in obj && 'content-disposition' in obj) { + obj['content-disposition'] = Buffer.from( + obj['content-disposition'] + ).toString('latin1') } - return obj; + return obj } function parseRawHeaders(headers) { - const ret = []; - let hasContentLength = false; - let contentDispositionIdx = -1; + const ret = [] + let hasContentLength = false + let contentDispositionIdx = -1 for (let n = 0; n < headers.length; n += 2) { - const key = headers[n + 0].toString(); - const val = headers[n + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); - hasContentLength = true; - } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; + const key = headers[n + 0].toString() + const val = headers[n + 1].toString('utf8') + if ( + key.length === 14 && + (key === 'content-length' || key.toLowerCase() === 'content-length') + ) { + ret.push(key, val) + hasContentLength = true + } else if ( + key.length === 19 && + (key === 'content-disposition' || + key.toLowerCase() === 'content-disposition') + ) { + contentDispositionIdx = ret.push(key, val) - 1 } else { - ret.push(key, val); + ret.push(key, val) } } if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); + ret[contentDispositionIdx] = Buffer.from( + ret[contentDispositionIdx] + ).toString('latin1') } - return ret; + return ret } function isBuffer(buffer) { - return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer) } function validateHandler(handler, method, upgrade) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); + if (!handler || typeof handler !== 'object') { + throw new InvalidArgumentError('handler must be an object') } - if (typeof handler.onConnect !== "function") { - throw new InvalidArgumentError("invalid onConnect method"); + if (typeof handler.onConnect !== 'function') { + throw new InvalidArgumentError('invalid onConnect method') } - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (typeof handler.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method') } - if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { - throw new InvalidArgumentError("invalid onBodySent method"); + if ( + typeof handler.onBodySent !== 'function' && + handler.onBodySent !== void 0 + ) { + throw new InvalidArgumentError('invalid onBodySent method') } - if (upgrade || method === "CONNECT") { - if (typeof handler.onUpgrade !== "function") { - throw new InvalidArgumentError("invalid onUpgrade method"); + if (upgrade || method === 'CONNECT') { + if (typeof handler.onUpgrade !== 'function') { + throw new InvalidArgumentError('invalid onUpgrade method') } } else { - if (typeof handler.onHeaders !== "function") { - throw new InvalidArgumentError("invalid onHeaders method"); + if (typeof handler.onHeaders !== 'function') { + throw new InvalidArgumentError('invalid onHeaders method') } - if (typeof handler.onData !== "function") { - throw new InvalidArgumentError("invalid onData method"); + if (typeof handler.onData !== 'function') { + throw new InvalidArgumentError('invalid onData method') } - if (typeof handler.onComplete !== "function") { - throw new InvalidArgumentError("invalid onComplete method"); + if (typeof handler.onComplete !== 'function') { + throw new InvalidArgumentError('invalid onComplete method') } } } function isDisturbed(body) { - return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); + return !!( + body && + (stream.isDisturbed + ? stream.isDisturbed(body) || body[kBodyUsed] + : body[kBodyUsed] || + body.readableDidRead || + (body._readableState && body._readableState.dataEmitted) || + isReadableAborted(body)) + ) } function isErrored(body) { - return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); + return !!( + body && + (stream.isErrored + ? stream.isErrored(body) + : /state: 'errored'/.test(nodeUtil.inspect(body))) + ) } function isReadable(body) { - return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); + return !!( + body && + (stream.isReadable + ? stream.isReadable(body) + : /state: 'readable'/.test(nodeUtil.inspect(body))) + ) } function getSocketInfo(socket) { return { @@ -19536,91 +22379,104 @@ var require_util8 = __commonJS({ timeout: socket.timeout, bytesWritten: socket.bytesWritten, bytesRead: socket.bytesRead - }; + } } async function* convertIterableToBuffer(iterable) { for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk) } } - var ReadableStream; + var ReadableStream function ReadableStreamFrom(iterable) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } if (ReadableStream.from) { - return ReadableStream.from(convertIterableToBuffer(iterable)); + return ReadableStream.from(convertIterableToBuffer(iterable)) } - let iterator; + let iterator return new ReadableStream( { async start() { - iterator = iterable[Symbol.asyncIterator](); + iterator = iterable[Symbol.asyncIterator]() }, async pull(controller) { - const { done, value } = await iterator.next(); + const { done, value } = await iterator.next() if (done) { queueMicrotask(() => { - controller.close(); - }); + controller.close() + }) } else { - const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); + const buf = Buffer.isBuffer(value) ? value : Buffer.from(value) + controller.enqueue(new Uint8Array(buf)) } - return controller.desiredSize > 0; + return controller.desiredSize > 0 }, async cancel(reason) { - await iterator.return(); + await iterator.return() } }, 0 - ); + ) } function isFormDataLike(object) { - return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; + return ( + object && + typeof object === 'object' && + typeof object.append === 'function' && + typeof object.delete === 'function' && + typeof object.get === 'function' && + typeof object.getAll === 'function' && + typeof object.has === 'function' && + typeof object.set === 'function' && + object[Symbol.toStringTag] === 'FormData' + ) } function throwIfAborted(signal) { if (!signal) { - return; + return } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); + if (typeof signal.throwIfAborted === 'function') { + signal.throwIfAborted() } else { if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; + const err = new Error('The operation was aborted') + err.name = 'AbortError' + throw err } } } - var events; + var events function addAbortListener(signal, listener) { - if (typeof Symbol.dispose === "symbol") { + if (typeof Symbol.dispose === 'symbol') { if (!events) { - events = require("events"); + events = require('events') } - if (typeof events.addAbortListener === "function" && "aborted" in signal) { - return events.addAbortListener(signal, listener); + if ( + typeof events.addAbortListener === 'function' && + 'aborted' in signal + ) { + return events.addAbortListener(signal, listener) } } - if ("addEventListener" in signal) { - signal.addEventListener("abort", listener, { once: true }); - return () => signal.removeEventListener("abort", listener); + if ('addEventListener' in signal) { + signal.addEventListener('abort', listener, { once: true }) + return () => signal.removeEventListener('abort', listener) } - signal.addListener("abort", listener); - return () => signal.removeListener("abort", listener); + signal.addListener('abort', listener) + return () => signal.removeListener('abort', listener) } - var hasToWellFormed = !!String.prototype.toWellFormed; + var hasToWellFormed = !!String.prototype.toWellFormed function toUSVString(val) { if (hasToWellFormed) { - return `${val}`.toWellFormed(); + return `${val}`.toWellFormed() } else if (nodeUtil.toUSVString) { - return nodeUtil.toUSVString(val); + return nodeUtil.toUSVString(val) } - return `${val}`; + return `${val}` } - var kEnumerableProperty = /* @__PURE__ */ Object.create(null); - kEnumerableProperty.enumerable = true; + var kEnumerableProperty = /* @__PURE__ */ Object.create(null) + kEnumerableProperty.enumerable = true module2.exports = { kEnumerableProperty, nop, @@ -19653,257 +22509,267 @@ var require_util8 = __commonJS({ addAbortListener, nodeMajor, nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13 - }; + nodeHasAutoSelectFamily: + nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 13) + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/timers.js var require_timers2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/timers.js"(exports, module2) { - "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/timers.js'( + exports, + module2 + ) { + 'use strict' + var fastNow = Date.now() + var fastNowTimeout + var fastTimers = [] function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; + fastNow = Date.now() + let len = fastTimers.length + let idx = 0 while (idx < len) { - const timer = fastTimers[idx]; + const timer = fastTimers[idx] if (timer.state === 0) { - timer.state = fastNow + timer.delay; + timer.state = fastNow + timer.delay } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); + timer.state = -1 + timer.callback(timer.opaque) } if (timer.state === -1) { - timer.state = -2; + timer.state = -2 if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); + fastTimers[idx] = fastTimers.pop() } else { - fastTimers.pop(); + fastTimers.pop() } - len -= 1; + len -= 1 } else { - idx += 1; + idx += 1 } } if (fastTimers.length > 0) { - refreshTimeout(); + refreshTimeout() } } function refreshTimeout() { if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); + fastNowTimeout.refresh() } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); + clearTimeout(fastNowTimeout) + fastNowTimeout = setTimeout(onTimeout, 1e3) if (fastNowTimeout.unref) { - fastNowTimeout.unref(); + fastNowTimeout.unref() } } } var Timeout = class { constructor(callback, delay, opaque) { - this.callback = callback; - this.delay = delay; - this.opaque = opaque; - this.state = -2; - this.refresh(); + this.callback = callback + this.delay = delay + this.opaque = opaque + this.state = -2 + this.refresh() } refresh() { if (this.state === -2) { - fastTimers.push(this); + fastTimers.push(this) if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); + refreshTimeout() } } - this.state = 0; + this.state = 0 } clear() { - this.state = -1; + this.state = -1 } - }; + } module2.exports = { setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); + return delay < 1e3 + ? setTimeout(callback, delay, opaque) + : new Timeout(callback, delay, opaque) }, clearTimeout(timeout) { if (timeout instanceof Timeout) { - timeout.clear(); + timeout.clear() } else { - clearTimeout(timeout); + clearTimeout(timeout) } } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/constants.js var require_constants5 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/constants.js"(exports, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/constants.js'( + exports, + module2 + ) { + 'use strict' + var { MessageChannel, receiveMessageOnPort } = require('worker_threads') + var corsSafeListedMethods = ['GET', 'HEAD', 'POST'] + var nullBodyStatus = [101, 204, 205, 304] + var redirectStatus = [301, 302, 303, 307, 308] var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; + '1', + '7', + '9', + '11', + '13', + '15', + '17', + '19', + '20', + '21', + '22', + '23', + '25', + '37', + '42', + '43', + '53', + '69', + '77', + '79', + '87', + '95', + '101', + '102', + '103', + '104', + '109', + '110', + '111', + '113', + '115', + '117', + '119', + '123', + '135', + '137', + '139', + '143', + '161', + '179', + '389', + '427', + '465', + '512', + '513', + '514', + '515', + '526', + '530', + '531', + '532', + '540', + '548', + '554', + '556', + '563', + '587', + '601', + '636', + '989', + '990', + '993', + '995', + '1719', + '1720', + '1723', + '2049', + '3659', + '4045', + '5060', + '5061', + '6000', + '6566', + '6665', + '6666', + '6667', + '6668', + '6669', + '6697', + '10080' + ] var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; + '', + 'no-referrer', + 'no-referrer-when-downgrade', + 'same-origin', + 'origin', + 'strict-origin', + 'origin-when-cross-origin', + 'strict-origin-when-cross-origin', + 'unsafe-url' + ] + var requestRedirect = ['follow', 'manual', 'error'] + var safeMethods = ['GET', 'HEAD', 'OPTIONS', 'TRACE'] + var requestMode = ['navigate', 'same-origin', 'no-cors', 'cors'] + var requestCredentials = ['omit', 'same-origin', 'include'] var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; + 'default', + 'no-store', + 'reload', + 'no-cache', + 'force-cache', + 'only-if-cached' + ] var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", + 'content-encoding', + 'content-language', + 'content-location', + 'content-type', // See https://github.com/nodejs/undici/issues/2021 // 'Content-Length' is a forbidden header name, which is typically // removed in the Headers implementation. However, undici doesn't // filter out headers, so we add it here. - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; + 'content-length' + ] + var requestDuplex = ['half'] + var forbiddenMethods = ['CONNECT', 'TRACE', 'TRACK'] var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var DOMException2 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; - } - })(); - var channel; - var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js - // structuredClone was added in v17.0.0, but fetch supports v16.8 - function structuredClone2(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); - } - if (!channel) { - channel = new MessageChannel(); - } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; + 'audio', + 'audioworklet', + 'font', + 'image', + 'manifest', + 'paintworklet', + 'script', + 'style', + 'track', + 'video', + 'xslt', + '' + ] + var DOMException2 = + globalThis.DOMException ?? + (() => { + try { + atob('~') + } catch (err) { + return Object.getPrototypeOf(err).constructor + } + })() + var channel + var structuredClone = + globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js + // structuredClone was added in v17.0.0, but fetch supports v16.8 + function structuredClone2(value, options = void 0) { + if (arguments.length === 0) { + throw new TypeError('missing argument') + } + if (!channel) { + channel = new MessageChannel() + } + channel.port1.unref() + channel.port2.unref() + channel.port1.postMessage(value, options?.transfer) + return receiveMessageOnPort(channel.port2).message + } module2.exports = { DOMException: DOMException2, structuredClone, @@ -19921,17 +22787,20 @@ var require_constants5 = __commonJS({ safeMethods, badPorts, requestDuplex - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/global.js var require_global3 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/global.js"(exports, module2) { - "use strict"; - var globalOrigin = Symbol.for("undici.globalOrigin.1"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/global.js'( + exports, + module2 + ) { + 'use strict' + var globalOrigin = Symbol.for('undici.globalOrigin.1') function getGlobalOrigin() { - return globalThis[globalOrigin]; + return globalThis[globalOrigin] } function setGlobalOrigin(newOrigin) { if (newOrigin === void 0) { @@ -19940,177 +22809,226 @@ var require_global3 = __commonJS({ writable: true, enumerable: false, configurable: false - }); - return; + }) + return } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); + const parsedURL = new URL(newOrigin) + if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { + throw new TypeError( + `Only http & https urls are allowed, received ${parsedURL.protocol}` + ) } Object.defineProperty(globalThis, globalOrigin, { value: parsedURL, writable: true, enumerable: false, configurable: false - }); + }) } module2.exports = { getGlobalOrigin, setGlobalOrigin - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/util.js var require_util9 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/util.js"(exports, module2) { - "use strict"; - var { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = require_constants5(); - var { getGlobalOrigin } = require_global3(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util8(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var crypto4; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/util.js'( + exports, + module2 + ) { + 'use strict' + var { + redirectStatus, + badPorts, + referrerPolicy: referrerPolicyTokens + } = require_constants5() + var { getGlobalOrigin } = require_global3() + var { performance: performance2 } = require('perf_hooks') + var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util8() + var assert = require('assert') + var { isUint8Array } = require('util/types') + var crypto4 try { - crypto4 = require("crypto"); - } catch { - } + crypto4 = require('crypto') + } catch {} function responseURL(response) { - const urlList = response.urlList; - const length = urlList.length; - return length === 0 ? null : urlList[length - 1].toString(); + const urlList = response.urlList + const length = urlList.length + return length === 0 ? null : urlList[length - 1].toString() } function responseLocationURL(response, requestFragment) { if (!redirectStatus.includes(response.status)) { - return null; + return null } - let location = response.headersList.get("location"); + let location = response.headersList.get('location') if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); + location = new URL(location, responseURL(response)) } if (location && !location.hash) { - location.hash = requestFragment; + location.hash = requestFragment } - return location; + return location } function requestCurrentURL(request) { - return request.urlList[request.urlList.length - 1]; + return request.urlList[request.urlList.length - 1] } function requestBadPort(request) { - const url = requestCurrentURL(request); + const url = requestCurrentURL(request) if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) { - return "blocked"; + return 'blocked' } - return "allowed"; + return 'allowed' } function isErrorLike(object) { - return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); + return ( + object instanceof Error || + object?.constructor?.name === 'Error' || + object?.constructor?.name === 'DOMException' + ) } function isValidReasonPhrase(statusText) { for (let i = 0; i < statusText.length; ++i) { - const c = statusText.charCodeAt(i); - if (!(c === 9 || // HTAB - c >= 32 && c <= 126 || // SP / VCHAR - c >= 128 && c <= 255)) { - return false; + const c = statusText.charCodeAt(i) + if ( + !( + c === 9 || // HTAB + (c >= 32 && c <= 126) || // SP / VCHAR + (c >= 128 && c <= 255) + ) + ) { + return false } } - return true; + return true } function isTokenChar(c) { - return !(c >= 127 || c <= 32 || c === "(" || c === ")" || c === "<" || c === ">" || c === "@" || c === "," || c === ";" || c === ":" || c === "\\" || c === '"' || c === "/" || c === "[" || c === "]" || c === "?" || c === "=" || c === "{" || c === "}"); + return !( + c >= 127 || + c <= 32 || + c === '(' || + c === ')' || + c === '<' || + c === '>' || + c === '@' || + c === ',' || + c === ';' || + c === ':' || + c === '\\' || + c === '"' || + c === '/' || + c === '[' || + c === ']' || + c === '?' || + c === '=' || + c === '{' || + c === '}' + ) } function isValidHTTPToken(characters) { - if (!characters || typeof characters !== "string") { - return false; + if (!characters || typeof characters !== 'string') { + return false } for (let i = 0; i < characters.length; ++i) { - const c = characters.charCodeAt(i); + const c = characters.charCodeAt(i) if (c > 127 || !isTokenChar(c)) { - return false; + return false } } - return true; + return true } function isValidHeaderName(potentialValue) { if (potentialValue.length === 0) { - return false; + return false } - return isValidHTTPToken(potentialValue); + return isValidHTTPToken(potentialValue) } function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; + if ( + potentialValue.startsWith(' ') || + potentialValue.startsWith(' ') || + potentialValue.endsWith(' ') || + potentialValue.endsWith(' ') + ) { + return false } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; + if ( + potentialValue.includes('\0') || + potentialValue.includes('\r') || + potentialValue.includes('\n') + ) { + return false } - return true; + return true } function setRequestReferrerPolicyOnRedirect(request, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; + const { headersList } = actualResponse + const policyHeader = (headersList.get('referrer-policy') ?? '').split(',') + let policy = '' if (policyHeader.length > 0) { for (let i = policyHeader.length; i !== 0; i--) { - const token = policyHeader[i - 1].trim(); + const token = policyHeader[i - 1].trim() if (referrerPolicyTokens.includes(token)) { - policy = token; - break; + policy = token + break } } } - if (policy !== "") { - request.referrerPolicy = policy; + if (policy !== '') { + request.referrerPolicy = policy } } function crossOriginResourcePolicyCheck() { - return "allowed"; + return 'allowed' } function corsCheck() { - return "success"; + return 'success' } function TAOCheck() { - return "success"; + return 'success' } function appendFetchMetadata(httpRequest) { - let header = null; - header = httpRequest.mode; - httpRequest.headersList.set("sec-fetch-mode", header); + let header = null + header = httpRequest.mode + httpRequest.headersList.set('sec-fetch-mode', header) } function appendRequestOriginHeader(request) { - let serializedOrigin = request.origin; - if (request.responseTainting === "cors" || request.mode === "websocket") { + let serializedOrigin = request.origin + if (request.responseTainting === 'cors' || request.mode === 'websocket') { if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); + request.headersList.append('origin', serializedOrigin) } - } else if (request.method !== "GET" && request.method !== "HEAD") { + } else if (request.method !== 'GET' && request.method !== 'HEAD') { switch (request.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - case "same-origin": + case 'no-referrer': + serializedOrigin = null + break + case 'no-referrer-when-downgrade': + case 'strict-origin': + case 'strict-origin-when-cross-origin': + if ( + request.origin && + urlHasHttpsScheme(request.origin) && + !urlHasHttpsScheme(requestCurrentURL(request)) + ) { + serializedOrigin = null + } + break + case 'same-origin': if (!sameOrigin(request, requestCurrentURL(request))) { - serializedOrigin = null; + serializedOrigin = null } - break; + break default: } if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); + request.headersList.append('origin', serializedOrigin) } } } function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); + return performance2.now() } function createOpaqueTimingInfo(timingInfo) { return { @@ -20125,324 +23043,370 @@ var require_util9 = __commonJS({ encodedBodySize: 0, decodedBodySize: 0, finalConnectionTimingInfo: null - }; + } } function makePolicyContainer() { return { - referrerPolicy: "strict-origin-when-cross-origin" - }; + referrerPolicy: 'strict-origin-when-cross-origin' + } } function clonePolicyContainer(policyContainer) { return { referrerPolicy: policyContainer.referrerPolicy - }; + } } function determineRequestsReferrer(request) { - const policy = request.referrerPolicy; - assert(policy); - let referrerSource = null; - if (request.referrer === "client") { - const globalOrigin = getGlobalOrigin(); - if (!globalOrigin || globalOrigin.origin === "null") { - return "no-referrer"; - } - referrerSource = new URL(globalOrigin); + const policy = request.referrerPolicy + assert(policy) + let referrerSource = null + if (request.referrer === 'client') { + const globalOrigin = getGlobalOrigin() + if (!globalOrigin || globalOrigin.origin === 'null') { + return 'no-referrer' + } + referrerSource = new URL(globalOrigin) } else if (request.referrer instanceof URL) { - referrerSource = request.referrer; + referrerSource = request.referrer } - let referrerURL = stripURLForReferrer(referrerSource); - const referrerOrigin = stripURLForReferrer(referrerSource, true); + let referrerURL = stripURLForReferrer(referrerSource) + const referrerOrigin = stripURLForReferrer(referrerSource, true) if (referrerURL.toString().length > 4096) { - referrerURL = referrerOrigin; + referrerURL = referrerOrigin } - const areSameOrigin = sameOrigin(request, referrerURL); - const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); + const areSameOrigin = sameOrigin(request, referrerURL) + const isNonPotentiallyTrustWorthy = + isURLPotentiallyTrustworthy(referrerURL) && + !isURLPotentiallyTrustworthy(request.url) switch (policy) { - case "origin": - return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); - case "unsafe-url": - return referrerURL; - case "same-origin": - return areSameOrigin ? referrerOrigin : "no-referrer"; - case "origin-when-cross-origin": - return areSameOrigin ? referrerURL : referrerOrigin; - case "strict-origin-when-cross-origin": { - const currentURL = requestCurrentURL(request); + case 'origin': + return referrerOrigin != null + ? referrerOrigin + : stripURLForReferrer(referrerSource, true) + case 'unsafe-url': + return referrerURL + case 'same-origin': + return areSameOrigin ? referrerOrigin : 'no-referrer' + case 'origin-when-cross-origin': + return areSameOrigin ? referrerURL : referrerOrigin + case 'strict-origin-when-cross-origin': { + const currentURL = requestCurrentURL(request) if (sameOrigin(referrerURL, currentURL)) { - return referrerURL; + return referrerURL } - if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { - return "no-referrer"; + if ( + isURLPotentiallyTrustworthy(referrerURL) && + !isURLPotentiallyTrustworthy(currentURL) + ) { + return 'no-referrer' } - return referrerOrigin; + return referrerOrigin } - case "strict-origin": - case "no-referrer-when-downgrade": + case 'strict-origin': + case 'no-referrer-when-downgrade': default: - return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; + return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin } } function stripURLForReferrer(url, originOnly) { - assert(url instanceof URL); - if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { - return "no-referrer"; + assert(url instanceof URL) + if ( + url.protocol === 'file:' || + url.protocol === 'about:' || + url.protocol === 'blank:' + ) { + return 'no-referrer' } - url.username = ""; - url.password = ""; - url.hash = ""; + url.username = '' + url.password = '' + url.hash = '' if (originOnly) { - url.pathname = ""; - url.search = ""; + url.pathname = '' + url.search = '' } - return url; + return url } function isURLPotentiallyTrustworthy(url) { if (!(url instanceof URL)) { - return false; + return false } - if (url.href === "about:blank" || url.href === "about:srcdoc") { - return true; + if (url.href === 'about:blank' || url.href === 'about:srcdoc') { + return true } - if (url.protocol === "data:") - return true; - if (url.protocol === "file:") - return true; - return isOriginPotentiallyTrustworthy(url.origin); + if (url.protocol === 'data:') return true + if (url.protocol === 'file:') return true + return isOriginPotentiallyTrustworthy(url.origin) function isOriginPotentiallyTrustworthy(origin) { - if (origin == null || origin === "null") - return false; - const originAsURL = new URL(origin); - if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { - return true; - } - if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) { - return true; - } - return false; + if (origin == null || origin === 'null') return false + const originAsURL = new URL(origin) + if ( + originAsURL.protocol === 'https:' || + originAsURL.protocol === 'wss:' + ) { + return true + } + if ( + /^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test( + originAsURL.hostname + ) || + originAsURL.hostname === 'localhost' || + originAsURL.hostname.includes('localhost.') || + originAsURL.hostname.endsWith('.localhost') + ) { + return true + } + return false } } function bytesMatch(bytes, metadataList) { if (crypto4 === void 0) { - return true; + return true } - const parsedMetadata = parseMetadata(metadataList); - if (parsedMetadata === "no metadata") { - return true; + const parsedMetadata = parseMetadata(metadataList) + if (parsedMetadata === 'no metadata') { + return true } if (parsedMetadata.length === 0) { - return true; + return true } - const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo)); - const strongest = list[0].algo; - const metadata = list.filter((item) => item.algo === strongest); + const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo)) + const strongest = list[0].algo + const metadata = list.filter((item) => item.algo === strongest) for (const item of metadata) { - const algorithm = item.algo; - let expectedValue = item.hash; - if (expectedValue.endsWith("==")) { - expectedValue = expectedValue.slice(0, -2); - } - let actualValue = crypto4.createHash(algorithm).update(bytes).digest("base64"); - if (actualValue.endsWith("==")) { - actualValue = actualValue.slice(0, -2); + const algorithm = item.algo + let expectedValue = item.hash + if (expectedValue.endsWith('==')) { + expectedValue = expectedValue.slice(0, -2) + } + let actualValue = crypto4 + .createHash(algorithm) + .update(bytes) + .digest('base64') + if (actualValue.endsWith('==')) { + actualValue = actualValue.slice(0, -2) } if (actualValue === expectedValue) { - return true; + return true } - let actualBase64URL = crypto4.createHash(algorithm).update(bytes).digest("base64url"); - if (actualBase64URL.endsWith("==")) { - actualBase64URL = actualBase64URL.slice(0, -2); + let actualBase64URL = crypto4 + .createHash(algorithm) + .update(bytes) + .digest('base64url') + if (actualBase64URL.endsWith('==')) { + actualBase64URL = actualBase64URL.slice(0, -2) } if (actualBase64URL === expectedValue) { - return true; + return true } } - return false; + return false } - var parseHashWithOptions = /((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i; + var parseHashWithOptions = + /((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\x21-\x7e]?)?/i function parseMetadata(metadata) { - const result = []; - let empty = true; - const supportedHashes = crypto4.getHashes(); - for (const token of metadata.split(" ")) { - empty = false; - const parsedToken = parseHashWithOptions.exec(token); + const result = [] + let empty = true + const supportedHashes = crypto4.getHashes() + for (const token of metadata.split(' ')) { + empty = false + const parsedToken = parseHashWithOptions.exec(token) if (parsedToken === null || parsedToken.groups === void 0) { - continue; + continue } - const algorithm = parsedToken.groups.algo; + const algorithm = parsedToken.groups.algo if (supportedHashes.includes(algorithm.toLowerCase())) { - result.push(parsedToken.groups); + result.push(parsedToken.groups) } } if (empty === true) { - return "no metadata"; + return 'no metadata' } - return result; - } - function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { + return result } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {} function sameOrigin(A, B) { - if (A.origin === B.origin && A.origin === "null") { - return true; + if (A.origin === B.origin && A.origin === 'null') { + return true } - if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) { - return true; + if ( + A.protocol === B.protocol && + A.hostname === B.hostname && + A.port === B.port + ) { + return true } - return false; + return false } function createDeferredPromise() { - let res; - let rej; + let res + let rej const promise = new Promise((resolve, reject) => { - res = resolve; - rej = reject; - }); - return { promise, resolve: res, reject: rej }; + res = resolve + rej = reject + }) + return { promise, resolve: res, reject: rej } } function isAborted(fetchParams) { - return fetchParams.controller.state === "aborted"; + return fetchParams.controller.state === 'aborted' } function isCancelled(fetchParams) { - return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; + return ( + fetchParams.controller.state === 'aborted' || + fetchParams.controller.state === 'terminated' + ) } function normalizeMethod(method) { - return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method) ? method.toUpperCase() : method; + return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method) + ? method.toUpperCase() + : method } function serializeJavascriptValueToJSONString(value) { - const result = JSON.stringify(value); + const result = JSON.stringify(value) if (result === void 0) { - throw new TypeError("Value is not JSON serializable"); + throw new TypeError('Value is not JSON serializable') } - assert(typeof result === "string"); - return result; + assert(typeof result === 'string') + return result } - var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + var esIteratorPrototype = Object.getPrototypeOf( + Object.getPrototypeOf([][Symbol.iterator]()) + ) function makeIterator(iterator, name, kind) { const object = { index: 0, kind, target: iterator - }; + } const i = { next() { if (Object.getPrototypeOf(this) !== i) { throw new TypeError( `'next' called on an object that does not implement interface ${name} Iterator.` - ); + ) } - const { index, kind: kind2, target } = object; - const values = target(); - const len = values.length; + const { index, kind: kind2, target } = object + const values = target() + const len = values.length if (index >= len) { - return { value: void 0, done: true }; + return { value: void 0, done: true } } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind2); + const pair = values[index] + object.index = index + 1 + return iteratorResult(pair, kind2) }, // The class string of an iterator prototype object for a given interface is the // result of concatenating the identifier of the interface and the string " Iterator". [Symbol.toStringTag]: `${name} Iterator` - }; - Object.setPrototypeOf(i, esIteratorPrototype); - return Object.setPrototypeOf({}, i); + } + Object.setPrototypeOf(i, esIteratorPrototype) + return Object.setPrototypeOf({}, i) } function iteratorResult(pair, kind) { - let result; + let result switch (kind) { - case "key": { - result = pair[0]; - break; + case 'key': { + result = pair[0] + break } - case "value": { - result = pair[1]; - break; + case 'value': { + result = pair[1] + break } - case "key+value": { - result = pair; - break; + case 'key+value': { + result = pair + break } } - return { value: result, done: false }; + return { value: result, done: false } } async function fullyReadBody(body, processBody, processBodyError) { - const successSteps = processBody; - const errorSteps = processBodyError; - let reader; + const successSteps = processBody + const errorSteps = processBodyError + let reader try { - reader = body.stream.getReader(); + reader = body.stream.getReader() } catch (e) { - errorSteps(e); - return; + errorSteps(e) + return } try { - const result = await readAllBytes(reader); - successSteps(result); + const result = await readAllBytes(reader) + successSteps(result) } catch (e) { - errorSteps(e); + errorSteps(e) } } - var ReadableStream = globalThis.ReadableStream; + var ReadableStream = globalThis.ReadableStream function isReadableStreamLike(stream) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } - return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; + return ( + stream instanceof ReadableStream || + (stream[Symbol.toStringTag] === 'ReadableStream' && + typeof stream.tee === 'function') + ) } - var MAXIMUM_ARGUMENT_LENGTH = 65535; + var MAXIMUM_ARGUMENT_LENGTH = 65535 function isomorphicDecode(input) { if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); + return String.fromCharCode(...input) } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); + return input.reduce( + (previous, current) => previous + String.fromCharCode(current), + '' + ) } function readableStreamClose(controller) { try { - controller.close(); + controller.close() } catch (err) { - if (!err.message.includes("Controller is already closed")) { - throw err; + if (!err.message.includes('Controller is already closed')) { + throw err } } } function isomorphicEncode(input) { for (let i = 0; i < input.length; i++) { - assert(input.charCodeAt(i) <= 255); + assert(input.charCodeAt(i) <= 255) } - return input; + return input } async function readAllBytes(reader) { - const bytes = []; - let byteLength = 0; + const bytes = [] + let byteLength = 0 while (true) { - const { done, value: chunk } = await reader.read(); + const { done, value: chunk } = await reader.read() if (done) { - return Buffer.concat(bytes, byteLength); + return Buffer.concat(bytes, byteLength) } if (!isUint8Array(chunk)) { - throw new TypeError("Received non-Uint8Array chunk"); + throw new TypeError('Received non-Uint8Array chunk') } - bytes.push(chunk); - byteLength += chunk.length; + bytes.push(chunk) + byteLength += chunk.length } } function urlIsLocal(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "about:" || protocol === "blob:" || protocol === "data:"; + assert('protocol' in url) + const protocol = url.protocol + return ( + protocol === 'about:' || protocol === 'blob:' || protocol === 'data:' + ) } function urlHasHttpsScheme(url) { - if (typeof url === "string") { - return url.startsWith("https:"); + if (typeof url === 'string') { + return url.startsWith('https:') } - return url.protocol === "https:"; + return url.protocol === 'https:' } function urlIsHttpHttpsScheme(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "http:" || protocol === "https:"; + assert('protocol' in url) + const protocol = url.protocol + return protocol === 'http:' || protocol === 'https:' } - var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); + var hasOwn = + Object.hasOwn || + ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)) module2.exports = { isAborted, isCancelled, @@ -20487,518 +23451,547 @@ var require_util9 = __commonJS({ urlHasHttpsScheme, urlIsHttpHttpsScheme, readAllBytes - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/symbols.js var require_symbols7 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kUrl: Symbol("url"), - kHeaders: Symbol("headers"), - kSignal: Symbol("signal"), - kState: Symbol("state"), - kGuard: Symbol("guard"), - kRealm: Symbol("realm") - }; + kUrl: Symbol('url'), + kHeaders: Symbol('headers'), + kSignal: Symbol('signal'), + kState: Symbol('state'), + kGuard: Symbol('guard'), + kRealm: Symbol('realm') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/webidl.js var require_webidl2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/webidl.js"(exports, module2) { - "use strict"; - var { types } = require("util"); - var { hasOwn, toUSVString } = require_util9(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context) { - const plural = context.types.length === 1 ? "" : " one of"; - const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/webidl.js'( + exports, + module2 + ) { + 'use strict' + var { types } = require('util') + var { hasOwn, toUSVString } = require_util9() + var webidl = {} + webidl.converters = {} + webidl.util = {} + webidl.errors = {} + webidl.errors.exception = function (message) { + return new TypeError(`${message.header}: ${message.message}`) + } + webidl.errors.conversionFailed = function (context) { + const plural = context.types.length === 1 ? '' : ' one of' + const message = `${ + context.argument + } could not be converted to${plural}: ${context.types.join(', ')}.` return webidl.errors.exception({ header: context.prefix, message - }); - }; - webidl.errors.invalidArgument = function(context) { + }) + } + webidl.errors.invalidArgument = function (context) { return webidl.errors.exception({ header: context.prefix, message: `"${context.value}" is an invalid ${context.type}.` - }); - }; - webidl.brandCheck = function(V, I, opts = void 0) { + }) + } + webidl.brandCheck = function (V, I, opts = void 0) { if (opts?.strict !== false && !(V instanceof I)) { - throw new TypeError("Illegal invocation"); + throw new TypeError('Illegal invocation') } else { - return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]; + return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag] } - }; - webidl.argumentLengthCheck = function({ length }, min, ctx) { + } + webidl.argumentLengthCheck = function ({ length }, min, ctx) { if (length < min) { throw webidl.errors.exception({ - message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, + message: `${min} argument${min !== 1 ? 's' : ''} required, but${ + length ? ' only' : '' + } ${length} found.`, ...ctx - }); + }) } - }; - webidl.illegalConstructor = function() { + } + webidl.illegalConstructor = function () { throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" - }); - }; - webidl.util.Type = function(V) { + header: 'TypeError', + message: 'Illegal constructor' + }) + } + webidl.util.Type = function (V) { switch (typeof V) { - case "undefined": - return "Undefined"; - case "boolean": - return "Boolean"; - case "string": - return "String"; - case "symbol": - return "Symbol"; - case "number": - return "Number"; - case "bigint": - return "BigInt"; - case "function": - case "object": { + case 'undefined': + return 'Undefined' + case 'boolean': + return 'Boolean' + case 'string': + return 'String' + case 'symbol': + return 'Symbol' + case 'number': + return 'Number' + case 'bigint': + return 'BigInt' + case 'function': + case 'object': { if (V === null) { - return "Null"; + return 'Null' } - return "Object"; + return 'Object' } } - }; - webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) { - let upperBound; - let lowerBound; + } + webidl.util.ConvertToInt = function (V, bitLength, signedness, opts = {}) { + let upperBound + let lowerBound if (bitLength === 64) { - upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { - lowerBound = 0; + upperBound = Math.pow(2, 53) - 1 + if (signedness === 'unsigned') { + lowerBound = 0 } else { - lowerBound = Math.pow(-2, 53) + 1; + lowerBound = Math.pow(-2, 53) + 1 } - } else if (signedness === "unsigned") { - lowerBound = 0; - upperBound = Math.pow(2, bitLength) - 1; + } else if (signedness === 'unsigned') { + lowerBound = 0 + upperBound = Math.pow(2, bitLength) - 1 } else { - lowerBound = Math.pow(-2, bitLength) - 1; - upperBound = Math.pow(2, bitLength - 1) - 1; + lowerBound = Math.pow(-2, bitLength) - 1 + upperBound = Math.pow(2, bitLength - 1) - 1 } - let x = Number(V); + let x = Number(V) if (x === 0) { - x = 0; + x = 0 } if (opts.enforceRange === true) { - if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + if ( + Number.isNaN(x) || + x === Number.POSITIVE_INFINITY || + x === Number.NEGATIVE_INFINITY + ) { throw webidl.errors.exception({ - header: "Integer conversion", + header: 'Integer conversion', message: `Could not convert ${V} to an integer.` - }); + }) } - x = webidl.util.IntegerPart(x); + x = webidl.util.IntegerPart(x) if (x < lowerBound || x > upperBound) { throw webidl.errors.exception({ - header: "Integer conversion", + header: 'Integer conversion', message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.` - }); + }) } - return x; + return x } if (!Number.isNaN(x) && opts.clamp === true) { - x = Math.min(Math.max(x, lowerBound), upperBound); + x = Math.min(Math.max(x, lowerBound), upperBound) if (Math.floor(x) % 2 === 0) { - x = Math.floor(x); + x = Math.floor(x) } else { - x = Math.ceil(x); + x = Math.ceil(x) } - return x; + return x } - if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - return 0; + if ( + Number.isNaN(x) || + (x === 0 && Object.is(0, x)) || + x === Number.POSITIVE_INFINITY || + x === Number.NEGATIVE_INFINITY + ) { + return 0 } - x = webidl.util.IntegerPart(x); - x = x % Math.pow(2, bitLength); - if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) { - return x - Math.pow(2, bitLength); + x = webidl.util.IntegerPart(x) + x = x % Math.pow(2, bitLength) + if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) { + return x - Math.pow(2, bitLength) } - return x; - }; - webidl.util.IntegerPart = function(n) { - const r = Math.floor(Math.abs(n)); + return x + } + webidl.util.IntegerPart = function (n) { + const r = Math.floor(Math.abs(n)) if (n < 0) { - return -1 * r; + return -1 * r } - return r; - }; - webidl.sequenceConverter = function(converter) { + return r + } + webidl.sequenceConverter = function (converter) { return (V) => { - if (webidl.util.Type(V) !== "Object") { + if (webidl.util.Type(V) !== 'Object') { throw webidl.errors.exception({ - header: "Sequence", + header: 'Sequence', message: `Value of type ${webidl.util.Type(V)} is not an Object.` - }); + }) } - const method = V?.[Symbol.iterator]?.(); - const seq = []; - if (method === void 0 || typeof method.next !== "function") { + const method = V?.[Symbol.iterator]?.() + const seq = [] + if (method === void 0 || typeof method.next !== 'function') { throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." - }); + header: 'Sequence', + message: 'Object is not an iterator.' + }) } while (true) { - const { done, value } = method.next(); + const { done, value } = method.next() if (done) { - break; + break } - seq.push(converter(value)); + seq.push(converter(value)) } - return seq; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { + return seq + } + } + webidl.recordConverter = function (keyConverter, valueConverter) { return (O) => { - if (webidl.util.Type(O) !== "Object") { + if (webidl.util.Type(O) !== 'Object') { throw webidl.errors.exception({ - header: "Record", + header: 'Record', message: `Value of type ${webidl.util.Type(O)} is not an Object.` - }); + }) } - const result = {}; + const result = {} if (!types.isProxy(O)) { - const keys2 = Object.keys(O); + const keys2 = Object.keys(O) for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; + const typedKey = keyConverter(key) + const typedValue = valueConverter(O[key]) + result[typedKey] = typedValue } - return result; + return result } - const keys = Reflect.ownKeys(O); + const keys = Reflect.ownKeys(O) for (const key of keys) { - const desc = Reflect.getOwnPropertyDescriptor(O, key); + const desc = Reflect.getOwnPropertyDescriptor(O, key) if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; + const typedKey = keyConverter(key) + const typedValue = valueConverter(O[key]) + result[typedKey] = typedValue } } - return result; - }; - }; - webidl.interfaceConverter = function(i) { + return result + } + } + webidl.interfaceConverter = function (i) { return (V, opts = {}) => { if (opts.strict !== false && !(V instanceof i)) { throw webidl.errors.exception({ header: i.name, message: `Expected ${V} to be an instance of ${i.name}.` - }); + }) } - return V; - }; - }; - webidl.dictionaryConverter = function(converters) { + return V + } + } + webidl.dictionaryConverter = function (converters) { return (dictionary) => { - const type = webidl.util.Type(dictionary); - const dict = {}; - if (type === "Null" || type === "Undefined") { - return dict; - } else if (type !== "Object") { + const type = webidl.util.Type(dictionary) + const dict = {} + if (type === 'Null' || type === 'Undefined') { + return dict + } else if (type !== 'Object') { throw webidl.errors.exception({ - header: "Dictionary", + header: 'Dictionary', message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` - }); + }) } for (const options of converters) { - const { key, defaultValue, required, converter } = options; + const { key, defaultValue, required, converter } = options if (required === true) { if (!hasOwn(dictionary, key)) { throw webidl.errors.exception({ - header: "Dictionary", + header: 'Dictionary', message: `Missing required key "${key}".` - }); + }) } } - let value = dictionary[key]; - const hasDefault = hasOwn(options, "defaultValue"); + let value = dictionary[key] + const hasDefault = hasOwn(options, 'defaultValue') if (hasDefault && value !== null) { - value = value ?? defaultValue; + value = value ?? defaultValue } if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { + value = converter(value) + if ( + options.allowedValues && + !options.allowedValues.includes(value) + ) { throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); + header: 'Dictionary', + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join( + ', ' + )}.` + }) } - dict[key] = value; + dict[key] = value } } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { + return dict + } + } + webidl.nullableConverter = function (converter) { return (V) => { if (V === null) { - return V; + return V } - return converter(V); - }; - }; - webidl.converters.DOMString = function(V, opts = {}) { + return converter(V) + } + } + webidl.converters.DOMString = function (V, opts = {}) { if (V === null && opts.legacyNullToEmptyString) { - return ""; + return '' } - if (typeof V === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); + if (typeof V === 'symbol') { + throw new TypeError( + 'Could not convert argument of type symbol to string.' + ) } - return String(V); - }; - webidl.converters.ByteString = function(V) { - const x = webidl.converters.DOMString(V); + return String(V) + } + webidl.converters.ByteString = function (V) { + const x = webidl.converters.DOMString(V) for (let index = 0; index < x.length; index++) { - const charCode = x.charCodeAt(index); + const charCode = x.charCodeAt(index) if (charCode > 255) { throw new TypeError( `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${charCode} which is greater than 255.` - ); - } - } - return x; - }; - webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V) { - const x = Boolean(V); - return x; - }; - webidl.converters.any = function(V) { - return V; - }; - webidl.converters["long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "signed"); - return x; - }; - webidl.converters["unsigned long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned"); - return x; - }; - webidl.converters["unsigned long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned"); - return x; - }; - webidl.converters["unsigned short"] = function(V, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts); - return x; - }; - webidl.converters.ArrayBuffer = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { + ) + } + } + return x + } + webidl.converters.USVString = toUSVString + webidl.converters.boolean = function (V) { + const x = Boolean(V) + return x + } + webidl.converters.any = function (V) { + return V + } + webidl.converters['long long'] = function (V) { + const x = webidl.util.ConvertToInt(V, 64, 'signed') + return x + } + webidl.converters['unsigned long long'] = function (V) { + const x = webidl.util.ConvertToInt(V, 64, 'unsigned') + return x + } + webidl.converters['unsigned long'] = function (V) { + const x = webidl.util.ConvertToInt(V, 32, 'unsigned') + return x + } + webidl.converters['unsigned short'] = function (V, opts) { + const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts) + return x + } + webidl.converters.ArrayBuffer = function (V, opts = {}) { + if (webidl.util.Type(V) !== 'Object' || !types.isAnyArrayBuffer(V)) { throw webidl.errors.conversionFailed({ prefix: `${V}`, argument: `${V}`, - types: ["ArrayBuffer"] - }); + types: ['ArrayBuffer'] + }) } if (opts.allowShared === false && types.isSharedArrayBuffer(V)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.TypedArray = function(V, T, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }) + } + return V + } + webidl.converters.TypedArray = function (V, T, opts = {}) { + if ( + webidl.util.Type(V) !== 'Object' || + !types.isTypedArray(V) || + V.constructor.name !== T.name + ) { throw webidl.errors.conversionFailed({ prefix: `${T.name}`, argument: `${V}`, types: [T.name] - }); + }) } if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.DataView = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }) + } + return V + } + webidl.converters.DataView = function (V, opts = {}) { + if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) { throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); + header: 'DataView', + message: 'Object is not a DataView.' + }) } if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }) } - return V; - }; - webidl.converters.BufferSource = function(V, opts = {}) { + return V + } + webidl.converters.BufferSource = function (V, opts = {}) { if (types.isAnyArrayBuffer(V)) { - return webidl.converters.ArrayBuffer(V, opts); + return webidl.converters.ArrayBuffer(V, opts) } if (types.isTypedArray(V)) { - return webidl.converters.TypedArray(V, V.constructor); + return webidl.converters.TypedArray(V, V.constructor) } if (types.isDataView(V)) { - return webidl.converters.DataView(V, opts); + return webidl.converters.DataView(V, opts) } - throw new TypeError(`Could not convert ${V} to a BufferSource.`); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence>"] = webidl.sequenceConverter( - webidl.converters["sequence"] - ); - webidl.converters["record"] = webidl.recordConverter( - webidl.converters.ByteString, + throw new TypeError(`Could not convert ${V} to a BufferSource.`) + } + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.ByteString - ); + ) + webidl.converters['sequence>'] = + webidl.sequenceConverter(webidl.converters['sequence']) + webidl.converters['record'] = + webidl.recordConverter( + webidl.converters.ByteString, + webidl.converters.ByteString + ) module2.exports = { webidl - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/dataURL.js var require_dataURL2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/dataURL.js"(exports, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util9(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/dataURL.js'( + exports, + module2 + ) { + var assert = require('assert') + var { atob: atob2 } = require('buffer') + var { isomorphicDecode } = require_util9() + var encoder = new TextEncoder() + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/ + var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/ + var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/ function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); + assert(dataURL.protocol === 'data:') + let input = URLSerializer(dataURL, true) + input = input.slice(5) + const position = { position: 0 } + let mimeType = collectASequenceOfCodePointsFast(',', input, position) + const mimeTypeLength = mimeType.length + mimeType = removeASCIIWhitespace(mimeType, true, true) if (position.position >= input.length) { - return "failure"; + return 'failure' } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); + position.position++ + const encodedBody = input.slice(mimeTypeLength + 1) + let body = stringPercentDecode(encodedBody) if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; + const stringBody = isomorphicDecode(body) + body = forgivingBase64(stringBody) + if (body === 'failure') { + return 'failure' } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); + mimeType = mimeType.slice(0, -6) + mimeType = mimeType.replace(/(\u0020)+$/, '') + mimeType = mimeType.slice(0, -1) } - if (mimeType.startsWith(";")) { - mimeType = "text/plain" + mimeType; + if (mimeType.startsWith(';')) { + mimeType = 'text/plain' + mimeType } - let mimeTypeRecord = parseMIMEType(mimeType); - if (mimeTypeRecord === "failure") { - mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); + let mimeTypeRecord = parseMIMEType(mimeType) + if (mimeTypeRecord === 'failure') { + mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII') } - return { mimeType: mimeTypeRecord, body }; + return { mimeType: mimeTypeRecord, body } } function URLSerializer(url, excludeFragment = false) { - const href = url.href; + const href = url.href if (!excludeFragment) { - return href; + return href } - const hash = href.lastIndexOf("#"); + const hash = href.lastIndexOf('#') if (hash === -1) { - return href; + return href } - return href.slice(0, hash); + return href.slice(0, hash) } function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; + let result = '' + while ( + position.position < input.length && + condition(input[position.position]) + ) { + result += input[position.position] + position.position++ } - return result; + return result } function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; + const idx = input.indexOf(char, position.position) + const start = position.position if (idx === -1) { - position.position = input.length; - return input.slice(start); + position.position = input.length + return input.slice(start) } - position.position = idx; - return input.slice(start, position.position); + position.position = idx + return input.slice(start, position.position) } function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); + const bytes = encoder.encode(input) + return percentDecode(bytes) } function percentDecode(input) { - const output = []; + const output = [] for (let i = 0; i < input.length; i++) { - const byte = input[i]; + const byte = input[i] if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) { - output.push(37); + output.push(byte) + } else if ( + byte === 37 && + !/^[0-9A-Fa-f]{2}$/i.test( + String.fromCharCode(input[i + 1], input[i + 2]) + ) + ) { + output.push(37) } else { - const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i += 2; + const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]) + const bytePoint = Number.parseInt(nextTwoBytes, 16) + output.push(bytePoint) + i += 2 } } - return Uint8Array.from(output); + return Uint8Array.from(output) } function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type = collectASequenceOfCodePointsFast( - "/", - input, - position - ); + input = removeHTTPWhitespace(input, true, true) + const position = { position: 0 } + const type = collectASequenceOfCodePointsFast('/', input, position) if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { - return "failure"; + return 'failure' } if (position.position > input.length) { - return "failure"; - } - position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - subtype = removeHTTPWhitespace(subtype, false, true); + return 'failure' + } + position.position++ + let subtype = collectASequenceOfCodePointsFast(';', input, position) + subtype = removeHTTPWhitespace(subtype, false, true) if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { - return "failure"; + return 'failure' } - const typeLowercase = type.toLowerCase(); - const subtypeLowercase = subtype.toLowerCase(); + const typeLowercase = type.toLowerCase() + const subtypeLowercase = subtype.toLowerCase() const mimeType = { type: typeLowercase, subtype: subtypeLowercase, @@ -21006,154 +23999,158 @@ var require_dataURL2 = __commonJS({ parameters: /* @__PURE__ */ new Map(), // https://mimesniff.spec.whatwg.org/#mime-type-essence essence: `${typeLowercase}/${subtypeLowercase}` - }; + } while (position.position < input.length) { - position.position++; + position.position++ collectASequenceOfCodePoints( // https://fetch.spec.whatwg.org/#http-whitespace (char) => HTTP_WHITESPACE_REGEX.test(char), input, position - ); + ) let parameterName = collectASequenceOfCodePoints( - (char) => char !== ";" && char !== "=", + (char) => char !== ';' && char !== '=', input, position - ); - parameterName = parameterName.toLowerCase(); + ) + parameterName = parameterName.toLowerCase() if (position.position < input.length) { - if (input[position.position] === ";") { - continue; + if (input[position.position] === ';') { + continue } - position.position++; + position.position++ } if (position.position > input.length) { - break; + break } - let parameterValue = null; + let parameterValue = null if (input[position.position] === '"') { - parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); + parameterValue = collectAnHTTPQuotedString(input, position, true) + collectASequenceOfCodePointsFast(';', input, position) } else { parameterValue = collectASequenceOfCodePointsFast( - ";", + ';', input, position - ); - parameterValue = removeHTTPWhitespace(parameterValue, false, true); + ) + parameterValue = removeHTTPWhitespace(parameterValue, false, true) if (parameterValue.length === 0) { - continue; + continue } } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { - mimeType.parameters.set(parameterName, parameterValue); + if ( + parameterName.length !== 0 && + HTTP_TOKEN_CODEPOINTS.test(parameterName) && + (parameterValue.length === 0 || + HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && + !mimeType.parameters.has(parameterName) + ) { + mimeType.parameters.set(parameterName, parameterValue) } } - return mimeType; + return mimeType } function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); + data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, '') if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); + data = data.replace(/=?=$/, '') } if (data.length % 4 === 1) { - return "failure"; + return 'failure' } if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; + return 'failure' } - const binary = atob2(data); - const bytes = new Uint8Array(binary.length); + const binary = atob2(data) + const bytes = new Uint8Array(binary.length) for (let byte = 0; byte < binary.length; byte++) { - bytes[byte] = binary.charCodeAt(byte); + bytes[byte] = binary.charCodeAt(byte) } - return bytes; + return bytes } function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; + const positionStart = position.position + let value = '' + assert(input[position.position] === '"') + position.position++ while (true) { value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", + (char) => char !== '"' && char !== '\\', input, position - ); + ) if (position.position >= input.length) { - break; + break } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { + const quoteOrBackslash = input[position.position] + position.position++ + if (quoteOrBackslash === '\\') { if (position.position >= input.length) { - value += "\\"; - break; + value += '\\' + break } - value += input[position.position]; - position.position++; + value += input[position.position] + position.position++ } else { - assert(quoteOrBackslash === '"'); - break; + assert(quoteOrBackslash === '"') + break } } if (extractValue) { - return value; + return value } - return input.slice(positionStart, position.position); + return input.slice(positionStart, position.position) } function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; + assert(mimeType !== 'failure') + const { parameters, essence } = mimeType + let serialization = essence for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; + serialization += ';' + serialization += name + serialization += '=' if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; + value = value.replace(/(\\|")/g, '\\$1') + value = '"' + value + value += '"' } - serialization += value; + serialization += value } - return serialization; + return serialization } function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; + return char === '\r' || char === '\n' || char === ' ' || char === ' ' } function removeHTTPWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; + let lead = 0 + let trail = str.length - 1 if (leading) { - for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) - ; + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++); } if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) - ; + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--); } - return str.slice(lead, trail + 1); + return str.slice(lead, trail + 1) } function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; + return ( + char === '\r' || + char === '\n' || + char === ' ' || + char === '\f' || + char === ' ' + ) } function removeASCIIWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; + let lead = 0 + let trail = str.length - 1 if (leading) { - for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) - ; + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++); } if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) - ; + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--); } - return str.slice(lead, trail + 1); + return str.slice(lead, trail + 1) } module2.exports = { dataURLProcessor, @@ -21164,357 +24161,398 @@ var require_dataURL2 = __commonJS({ parseMIMEType, collectAnHTTPQuotedString, serializeAMimeType - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/file.js var require_file2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/file.js"(exports, module2) { - "use strict"; - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols7(); - var { isBlobLike } = require_util9(); - var { webidl } = require_webidl2(); - var { parseMIMEType, serializeAMimeType } = require_dataURL2(); - var { kEnumerableProperty } = require_util8(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/file.js'( + exports, + module2 + ) { + 'use strict' + var { Blob: Blob2, File: NativeFile } = require('buffer') + var { types } = require('util') + var { kState } = require_symbols7() + var { isBlobLike } = require_util9() + var { webidl } = require_webidl2() + var { parseMIMEType, serializeAMimeType } = require_dataURL2() + var { kEnumerableProperty } = require_util8() var File = class _File extends Blob2 { constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n = fileName; - let t = options.type; - let d; + webidl.argumentLengthCheck(arguments, 2, { header: 'File constructor' }) + fileBits = webidl.converters['sequence'](fileBits) + fileName = webidl.converters.USVString(fileName) + options = webidl.converters.FilePropertyBag(options) + const n = fileName + let t = options.type + let d substep: { if (t) { - t = parseMIMEType(t); - if (t === "failure") { - t = ""; - break substep; + t = parseMIMEType(t) + if (t === 'failure') { + t = '' + break substep } - t = serializeAMimeType(t).toLowerCase(); + t = serializeAMimeType(t).toLowerCase() } - d = options.lastModified; + d = options.lastModified } - super(processBlobParts(fileBits, options), { type: t }); + super(processBlobParts(fileBits, options), { type: t }) this[kState] = { name: n, lastModified: d, type: t - }; + } } get name() { - webidl.brandCheck(this, _File); - return this[kState].name; + webidl.brandCheck(this, _File) + return this[kState].name } get lastModified() { - webidl.brandCheck(this, _File); - return this[kState].lastModified; + webidl.brandCheck(this, _File) + return this[kState].lastModified } get type() { - webidl.brandCheck(this, _File); - return this[kState].type; + webidl.brandCheck(this, _File) + return this[kState].type } - }; + } var FileLike = class _FileLike { constructor(blobLike, fileName, options = {}) { - const n = fileName; - const t = options.type; - const d = options.lastModified ?? Date.now(); + const n = fileName + const t = options.type + const d = options.lastModified ?? Date.now() this[kState] = { blobLike, name: n, type: t, lastModified: d - }; + } } stream(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.stream(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.stream(...args) } arrayBuffer(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.arrayBuffer(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.arrayBuffer(...args) } slice(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.slice(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.slice(...args) } text(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.text(...args); + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.text(...args) } get size() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.size; + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.size } get type() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.type; + webidl.brandCheck(this, _FileLike) + return this[kState].blobLike.type } get name() { - webidl.brandCheck(this, _FileLike); - return this[kState].name; + webidl.brandCheck(this, _FileLike) + return this[kState].name } get lastModified() { - webidl.brandCheck(this, _FileLike); - return this[kState].lastModified; + webidl.brandCheck(this, _FileLike) + return this[kState].lastModified } get [Symbol.toStringTag]() { - return "File"; + return 'File' } - }; + } Object.defineProperties(File.prototype, { [Symbol.toStringTag]: { - value: "File", + value: 'File', configurable: true }, name: kEnumerableProperty, lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V, opts) { - if (webidl.util.Type(V) === "Object") { + }) + webidl.converters.Blob = webidl.interfaceConverter(Blob2) + webidl.converters.BlobPart = function (V, opts) { + if (webidl.util.Type(V) === 'Object') { if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, { strict: false }) } if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V, opts); + return webidl.converters.BufferSource(V, opts) } } - return webidl.converters.USVString(V, opts); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( + return webidl.converters.USVString(V, opts) + } + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.BlobPart - ); + ) webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ { - key: "lastModified", - converter: webidl.converters["long long"], + key: 'lastModified', + converter: webidl.converters['long long'], get defaultValue() { - return Date.now(); + return Date.now() } }, { - key: "type", + key: 'type', converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: '' }, { - key: "endings", + key: 'endings', converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; + value = webidl.converters.DOMString(value) + value = value.toLowerCase() + if (value !== 'native') { + value = 'transparent' } - return value; + return value }, - defaultValue: "transparent" + defaultValue: 'transparent' } - ]); + ]) function processBlobParts(parts, options) { - const bytes = []; + const bytes = [] for (const element of parts) { - if (typeof element === "string") { - let s = element; - if (options.endings === "native") { - s = convertLineEndingsNative(s); - } - bytes.push(new TextEncoder().encode(s)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { + if (typeof element === 'string') { + let s = element + if (options.endings === 'native') { + s = convertLineEndingsNative(s) + } + bytes.push(new TextEncoder().encode(s)) + } else if ( + types.isAnyArrayBuffer(element) || + types.isTypedArray(element) + ) { if (!element.buffer) { - bytes.push(new Uint8Array(element)); + bytes.push(new Uint8Array(element)) } else { bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); + new Uint8Array( + element.buffer, + element.byteOffset, + element.byteLength + ) + ) } } else if (isBlobLike(element)) { - bytes.push(element); + bytes.push(element) } } - return bytes; + return bytes } function convertLineEndingsNative(s) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; + let nativeLineEnding = '\n' + if (process.platform === 'win32') { + nativeLineEnding = '\r\n' } - return s.replace(/\r?\n/g, nativeLineEnding); + return s.replace(/\r?\n/g, nativeLineEnding) } function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File, FileLike, isFileLike }; + return ( + (NativeFile && object instanceof NativeFile) || + object instanceof File || + (object && + (typeof object.stream === 'function' || + typeof object.arrayBuffer === 'function') && + object[Symbol.toStringTag] === 'File') + ) + } + module2.exports = { File, FileLike, isFileLike } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/formdata.js var require_formdata2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/formdata.js"(exports, module2) { - "use strict"; - var { isBlobLike, toUSVString, makeIterator } = require_util9(); - var { kState } = require_symbols7(); - var { File: UndiciFile, FileLike, isFileLike } = require_file2(); - var { webidl } = require_webidl2(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var File = NativeFile ?? UndiciFile; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/formdata.js'( + exports, + module2 + ) { + 'use strict' + var { isBlobLike, toUSVString, makeIterator } = require_util9() + var { kState } = require_symbols7() + var { File: UndiciFile, FileLike, isFileLike } = require_file2() + var { webidl } = require_webidl2() + var { Blob: Blob2, File: NativeFile } = require('buffer') + var File = NativeFile ?? UndiciFile var FormData = class _FormData { constructor(form) { if (form !== void 0) { throw webidl.errors.conversionFailed({ - prefix: "FormData constructor", - argument: "Argument 1", - types: ["undefined"] - }); + prefix: 'FormData constructor', + argument: 'Argument 1', + types: ['undefined'] + }) } - this[kState] = []; + this[kState] = [] } append(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.append' }) if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); + ) } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - this[kState].push(entry); + name = webidl.converters.USVString(name) + value = isBlobLike(value) + ? webidl.converters.Blob(value, { strict: false }) + : webidl.converters.USVString(value) + filename = + arguments.length === 3 + ? webidl.converters.USVString(filename) + : void 0 + const entry = makeEntry(name, value, filename) + this[kState].push(entry) } delete(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); - this[kState] = this[kState].filter((entry) => entry.name !== name); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.delete' }) + name = webidl.converters.USVString(name) + this[kState] = this[kState].filter((entry) => entry.name !== name) } get(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); - const idx = this[kState].findIndex((entry) => entry.name === name); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.get' }) + name = webidl.converters.USVString(name) + const idx = this[kState].findIndex((entry) => entry.name === name) if (idx === -1) { - return null; + return null } - return this[kState][idx].value; + return this[kState][idx].value } getAll(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); - return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.getAll' }) + name = webidl.converters.USVString(name) + return this[kState] + .filter((entry) => entry.name === name) + .map((entry) => entry.value) } has(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); - return this[kState].findIndex((entry) => entry.name === name) !== -1; + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.has' }) + name = webidl.converters.USVString(name) + return this[kState].findIndex((entry) => entry.name === name) !== -1 } set(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 2, { header: 'FormData.set' }) if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" - ); + ) } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - const idx = this[kState].findIndex((entry2) => entry2.name === name); + name = webidl.converters.USVString(name) + value = isBlobLike(value) + ? webidl.converters.Blob(value, { strict: false }) + : webidl.converters.USVString(value) + filename = arguments.length === 3 ? toUSVString(filename) : void 0 + const entry = makeEntry(name, value, filename) + const idx = this[kState].findIndex((entry2) => entry2.name === name) if (idx !== -1) { this[kState] = [ ...this[kState].slice(0, idx), entry, - ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) - ]; + ...this[kState] + .slice(idx + 1) + .filter((entry2) => entry2.name !== name) + ] } else { - this[kState].push(entry); + this[kState].push(entry) } } entries() { - webidl.brandCheck(this, _FormData); + webidl.brandCheck(this, _FormData) return makeIterator( () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); + 'FormData', + 'key+value' + ) } keys() { - webidl.brandCheck(this, _FormData); + webidl.brandCheck(this, _FormData) return makeIterator( () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); + 'FormData', + 'key' + ) } values() { - webidl.brandCheck(this, _FormData); + webidl.brandCheck(this, _FormData) return makeIterator( () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); + 'FormData', + 'value' + ) } /** * @param {(value: string, key: string, self: FormData) => void} callbackFn * @param {unknown} thisArg */ forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { + webidl.brandCheck(this, _FormData) + webidl.argumentLengthCheck(arguments, 1, { header: 'FormData.forEach' }) + if (typeof callbackFn !== 'function') { throw new TypeError( "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); + ) } for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); + callbackFn.apply(thisArg, [value, key, this]) } } - }; - FormData.prototype[Symbol.iterator] = FormData.prototype.entries; + } + FormData.prototype[Symbol.iterator] = FormData.prototype.entries Object.defineProperties(FormData.prototype, { [Symbol.toStringTag]: { - value: "FormData", + value: 'FormData', configurable: true } - }); + }) function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); - if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); + name = Buffer.from(name).toString('utf8') + if (typeof value === 'string') { + value = Buffer.from(value).toString('utf8') } else { if (!isFileLike(value)) { - value = value instanceof Blob2 ? new File([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + value = + value instanceof Blob2 + ? new File([value], 'blob', { type: value.type }) + : new FileLike(value, 'blob', { type: value.type }) } if (filename !== void 0) { const options = { type: value.type, lastModified: value.lastModified - }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File([value], filename, options) : new FileLike(value, filename, options); + } + value = + (NativeFile && value instanceof NativeFile) || + value instanceof UndiciFile + ? new File([value], filename, options) + : new FileLike(value, filename, options) } } - return { name, value }; + return { name, value } } - module2.exports = { FormData }; + module2.exports = { FormData } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/body.js var require_body2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/body.js"(exports, module2) { - "use strict"; - var Busboy = require_main(); - var util = require_util8(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/body.js'( + exports, + module2 + ) { + 'use strict' + var Busboy = require_main() + var util = require_util8() var { ReadableStreamFrom, isBlobLike, @@ -21522,951 +24560,1084 @@ var require_body2 = __commonJS({ readableStreamClose, createDeferredPromise, fullyReadBody - } = require_util9(); - var { FormData } = require_formdata2(); - var { kState } = require_symbols7(); - var { webidl } = require_webidl2(); - var { DOMException: DOMException2, structuredClone } = require_constants5(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols6(); - var assert = require("assert"); - var { isErrored } = require_util8(); - var { isUint8Array, isArrayBuffer } = require("util/types"); - var { File: UndiciFile } = require_file2(); - var { parseMIMEType, serializeAMimeType } = require_dataURL2(); - var ReadableStream = globalThis.ReadableStream; - var File = NativeFile ?? UndiciFile; + } = require_util9() + var { FormData } = require_formdata2() + var { kState } = require_symbols7() + var { webidl } = require_webidl2() + var { DOMException: DOMException2, structuredClone } = require_constants5() + var { Blob: Blob2, File: NativeFile } = require('buffer') + var { kBodyUsed } = require_symbols6() + var assert = require('assert') + var { isErrored } = require_util8() + var { isUint8Array, isArrayBuffer } = require('util/types') + var { File: UndiciFile } = require_file2() + var { parseMIMEType, serializeAMimeType } = require_dataURL2() + var ReadableStream = globalThis.ReadableStream + var File = NativeFile ?? UndiciFile function extractBody(object, keepalive = false) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } - let stream = null; + let stream = null if (object instanceof ReadableStream) { - stream = object; + stream = object } else if (isBlobLike(object)) { - stream = object.stream(); + stream = object.stream() } else { stream = new ReadableStream({ async pull(controller) { controller.enqueue( - typeof source === "string" ? new TextEncoder().encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { + typeof source === 'string' + ? new TextEncoder().encode(source) + : source + ) + queueMicrotask(() => readableStreamClose(controller)) }, + start() {}, type: void 0 - }); - } - assert(isReadableStreamLike(stream)); - let action2 = null; - let source = null; - let length = null; - let type = null; - if (typeof object === "string") { - source = object; - type = "text/plain;charset=UTF-8"; + }) + } + assert(isReadableStreamLike(stream)) + let action2 = null + let source = null + let length = null + let type = null + if (typeof object === 'string') { + source = object + type = 'text/plain;charset=UTF-8' } else if (object instanceof URLSearchParams) { - source = object.toString(); - type = "application/x-www-form-urlencoded;charset=UTF-8"; + source = object.toString() + type = 'application/x-www-form-urlencoded;charset=UTF-8' } else if (isArrayBuffer(object)) { - source = new Uint8Array(object.slice()); + source = new Uint8Array(object.slice()) } else if (ArrayBuffer.isView(object)) { - source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + source = new Uint8Array( + object.buffer.slice( + object.byteOffset, + object.byteOffset + object.byteLength + ) + ) } else if (util.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; + const boundary = `----formdata-undici-0${`${Math.floor( + Math.random() * 1e11 + )}`.padStart(11, '0')}` const prefix = `--${boundary}\r -Content-Disposition: form-data`; - const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); - const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); - const enc = new TextEncoder(); - const blobParts = []; - const rn = new Uint8Array([13, 10]); - length = 0; - let hasUnknownSizeValue = false; +Content-Disposition: form-data` + const escape = (str) => + str.replace(/\n/g, '%0A').replace(/\r/g, '%0D').replace(/"/g, '%22') + const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, '\r\n') + const enc = new TextEncoder() + const blobParts = [] + const rn = new Uint8Array([13, 10]) + length = 0 + let hasUnknownSizeValue = false for (const [name, value] of object) { - if (typeof value === "string") { - const chunk2 = enc.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r + if (typeof value === 'string') { + const chunk2 = enc.encode( + prefix + + `; name="${escape(normalizeLinefeeds(name))}"\r \r ${normalizeLinefeeds(value)}\r -`); - blobParts.push(chunk2); - length += chunk2.byteLength; +` + ) + blobParts.push(chunk2) + length += chunk2.byteLength } else { - const chunk2 = enc.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r -Content-Type: ${value.type || "application/octet-stream"}\r + const chunk2 = enc.encode( + `${prefix}; name="${escape(normalizeLinefeeds(name))}"` + + (value.name ? `; filename="${escape(value.name)}"` : '') + + `\r +Content-Type: ${value.type || 'application/octet-stream'}\r \r -`); - blobParts.push(chunk2, value, rn); - if (typeof value.size === "number") { - length += chunk2.byteLength + value.size + rn.byteLength; +` + ) + blobParts.push(chunk2, value, rn) + if (typeof value.size === 'number') { + length += chunk2.byteLength + value.size + rn.byteLength } else { - hasUnknownSizeValue = true; + hasUnknownSizeValue = true } } } - const chunk = enc.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; + const chunk = enc.encode(`--${boundary}--`) + blobParts.push(chunk) + length += chunk.byteLength if (hasUnknownSizeValue) { - length = null; + length = null } - source = object; + source = object action2 = async function* () { for (const part of blobParts) { if (part.stream) { - yield* part.stream(); + yield* part.stream() } else { - yield part; + yield part } } - }; - type = "multipart/form-data; boundary=" + boundary; + } + type = 'multipart/form-data; boundary=' + boundary } else if (isBlobLike(object)) { - source = object; - length = object.size; + source = object + length = object.size if (object.type) { - type = object.type; + type = object.type } - } else if (typeof object[Symbol.asyncIterator] === "function") { + } else if (typeof object[Symbol.asyncIterator] === 'function') { if (keepalive) { - throw new TypeError("keepalive"); + throw new TypeError('keepalive') } if (util.isDisturbed(object) || object.locked) { throw new TypeError( - "Response body object should not be disturbed or locked" - ); + 'Response body object should not be disturbed or locked' + ) } - stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); + stream = + object instanceof ReadableStream ? object : ReadableStreamFrom(object) } - if (typeof source === "string" || util.isBuffer(source)) { - length = Buffer.byteLength(source); + if (typeof source === 'string' || util.isBuffer(source)) { + length = Buffer.byteLength(source) } if (action2 != null) { - let iterator; + let iterator stream = new ReadableStream({ async start() { - iterator = action2(object)[Symbol.asyncIterator](); + iterator = action2(object)[Symbol.asyncIterator]() }, async pull(controller) { - const { value, done } = await iterator.next(); + const { value, done } = await iterator.next() if (done) { queueMicrotask(() => { - controller.close(); - }); + controller.close() + }) } else { if (!isErrored(stream)) { - controller.enqueue(new Uint8Array(value)); + controller.enqueue(new Uint8Array(value)) } } - return controller.desiredSize > 0; + return controller.desiredSize > 0 }, async cancel(reason) { - await iterator.return(); + await iterator.return() }, type: void 0 - }); + }) } - const body = { stream, source, length }; - return [body, type]; + const body = { stream, source, length } + return [body, type] } function safelyExtractBody(object, keepalive = false) { if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } if (object instanceof ReadableStream) { - assert(!util.isDisturbed(object), "The body has already been consumed."); - assert(!object.locked, "The stream is locked."); + assert(!util.isDisturbed(object), 'The body has already been consumed.') + assert(!object.locked, 'The stream is locked.') } - return extractBody(object, keepalive); + return extractBody(object, keepalive) } function cloneBody(body) { - const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); - body.stream = out1; + const [out1, out2] = body.stream.tee() + const out2Clone = structuredClone(out2, { transfer: [out2] }) + const [, finalClone] = out2Clone.tee() + body.stream = out1 return { stream: finalClone, length: body.length, source: body.source - }; + } } async function* consumeBody(body) { if (body) { if (isUint8Array(body)) { - yield body; + yield body } else { - const stream = body.stream; + const stream = body.stream if (util.isDisturbed(stream)) { - throw new TypeError("The body has already been consumed."); + throw new TypeError('The body has already been consumed.') } if (stream.locked) { - throw new TypeError("The stream is locked."); + throw new TypeError('The stream is locked.') } - stream[kBodyUsed] = true; - yield* stream; + stream[kBodyUsed] = true + yield* stream } } } function throwIfAborted(state) { if (state.aborted) { - throw new DOMException2("The operation was aborted.", "AbortError"); + throw new DOMException2('The operation was aborted.', 'AbortError') } } function bodyMixinMethods(instance) { const methods = { blob() { - return specConsumeBody(this, (bytes) => { - let mimeType = bodyMimeType(this); - if (mimeType === "failure") { - mimeType = ""; - } else if (mimeType) { - mimeType = serializeAMimeType(mimeType); - } - return new Blob2([bytes], { type: mimeType }); - }, instance); + return specConsumeBody( + this, + (bytes) => { + let mimeType = bodyMimeType(this) + if (mimeType === 'failure') { + mimeType = '' + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType) + } + return new Blob2([bytes], { type: mimeType }) + }, + instance + ) }, arrayBuffer() { - return specConsumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); + return specConsumeBody( + this, + (bytes) => { + return new Uint8Array(bytes).buffer + }, + instance + ) }, text() { - return specConsumeBody(this, utf8DecodeBytes, instance); + return specConsumeBody(this, utf8DecodeBytes, instance) }, json() { - return specConsumeBody(this, parseJSONFromBytes, instance); + return specConsumeBody(this, parseJSONFromBytes, instance) }, async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); + webidl.brandCheck(this, instance) + throwIfAborted(this[kState]) + const contentType = this.headers.get('Content-Type') if (/multipart\/form-data/.test(contentType)) { - const headers = {}; + const headers = {} for (const [key, value] of this.headers) - headers[key.toLowerCase()] = value; - const responseFormData = new FormData(); - let busboy; + headers[key.toLowerCase()] = value + const responseFormData = new FormData() + let busboy try { busboy = new Busboy({ headers, preservePath: true - }); + }) } catch (err) { - throw new DOMException2(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); + throw new DOMException2(`${err}`, 'AbortError') + } + busboy.on('field', (name, value) => { + responseFormData.append(name, value) + }) + busboy.on('file', (name, value, filename, encoding, mimeType) => { + const chunks = [] + if ( + encoding === 'base64' || + encoding.toLowerCase() === 'base64' + ) { + let base64chunk = '' + value.on('data', (chunk) => { + base64chunk += chunk.toString().replace(/[\r\n]/gm, '') + const end = base64chunk.length - (base64chunk.length % 4) + chunks.push(Buffer.from(base64chunk.slice(0, end), 'base64')) + base64chunk = base64chunk.slice(end) + }) + value.on('end', () => { + chunks.push(Buffer.from(base64chunk, 'base64')) + responseFormData.append( + name, + new File(chunks, filename, { type: mimeType }) + ) + }) } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); + value.on('data', (chunk) => { + chunks.push(chunk) + }) + value.on('end', () => { + responseFormData.append( + name, + new File(chunks, filename, { type: mimeType }) + ) + }) } - }); + }) const busboyResolve = new Promise((resolve, reject) => { - busboy.on("finish", resolve); - busboy.on("error", (err) => reject(new TypeError(err))); - }); + busboy.on('finish', resolve) + busboy.on('error', (err) => reject(new TypeError(err))) + }) if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) - busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; + busboy.write(chunk) + busboy.end() + await busboyResolve + return responseFormData } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; + let entries try { - let text = ""; - const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); + let text = '' + const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true }) for await (const chunk of consumeBody(this[kState].body)) { if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); + throw new TypeError('Expected Uint8Array chunk') } - text += textDecoder.decode(chunk, { stream: true }); + text += textDecoder.decode(chunk, { stream: true }) } - text += textDecoder.decode(); - entries = new URLSearchParams(text); + text += textDecoder.decode() + entries = new URLSearchParams(text) } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); + throw Object.assign(new TypeError(), { cause: err }) } - const formData = new FormData(); + const formData = new FormData() for (const [name, value] of entries) { - formData.append(name, value); + formData.append(name, value) } - return formData; + return formData } else { - await Promise.resolve(); - throwIfAborted(this[kState]); + await Promise.resolve() + throwIfAborted(this[kState]) throw webidl.errors.exception({ header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); + message: 'Could not parse content as FormData.' + }) } } - }; - return methods; + } + return methods } function mixinBody(prototype) { - Object.assign(prototype.prototype, bodyMixinMethods(prototype)); + Object.assign(prototype.prototype, bodyMixinMethods(prototype)) } async function specConsumeBody(object, convertBytesToJSValue, instance) { - webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); + webidl.brandCheck(object, instance) + throwIfAborted(object[kState]) if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); + throw new TypeError('Body is unusable') } - const promise = createDeferredPromise(); - const errorSteps = (error) => promise.reject(error); + const promise = createDeferredPromise() + const errorSteps = (error) => promise.reject(error) const successSteps = (data) => { try { - promise.resolve(convertBytesToJSValue(data)); + promise.resolve(convertBytesToJSValue(data)) } catch (e) { - errorSteps(e); + errorSteps(e) } - }; + } if (object[kState].body == null) { - successSteps(new Uint8Array()); - return promise.promise; + successSteps(new Uint8Array()) + return promise.promise } - await fullyReadBody(object[kState].body, successSteps, errorSteps); - return promise.promise; + await fullyReadBody(object[kState].body, successSteps, errorSteps) + return promise.promise } function bodyUnusable(body) { - return body != null && (body.stream.locked || util.isDisturbed(body.stream)); + return ( + body != null && (body.stream.locked || util.isDisturbed(body.stream)) + ) } function utf8DecodeBytes(buffer) { if (buffer.length === 0) { - return ""; + return '' } if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); + buffer = buffer.subarray(3) } - const output = new TextDecoder().decode(buffer); - return output; + const output = new TextDecoder().decode(buffer) + return output } function parseJSONFromBytes(bytes) { - return JSON.parse(utf8DecodeBytes(bytes)); + return JSON.parse(utf8DecodeBytes(bytes)) } function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); + const { headersList } = object[kState] + const contentType = headersList.get('content-type') if (contentType === null) { - return "failure"; + return 'failure' } - return parseMIMEType(contentType); + return parseMIMEType(contentType) } module2.exports = { extractBody, safelyExtractBody, cloneBody, mixinBody - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/request.js var require_request3 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/request.js"(exports, module2) { - "use strict"; - var { - InvalidArgumentError, - NotSupportedError - } = require_errors2(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6(); - var util = require_util8(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = Symbol("handler"); - var channels = {}; - var extractBody; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/request.js'( + exports, + module2 + ) { + 'use strict' + var { InvalidArgumentError, NotSupportedError } = require_errors2() + var assert = require('assert') + var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = + require_symbols6() + var util = require_util8() + var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/ + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/ + var invalidPathRegex = /[^\u0021-\u00ff]/ + var kHandler = Symbol('handler') + var channels = {} + var extractBody try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); + const diagnosticsChannel = require('diagnostics_channel') + channels.create = diagnosticsChannel.channel('undici:request:create') + channels.bodySent = diagnosticsChannel.channel('undici:request:bodySent') + channels.headers = diagnosticsChannel.channel('undici:request:headers') + channels.trailers = diagnosticsChannel.channel('undici:request:trailers') + channels.error = diagnosticsChannel.channel('undici:request:error') } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; + channels.create = { hasSubscribers: false } + channels.bodySent = { hasSubscribers: false } + channels.headers = { hasSubscribers: false } + channels.trailers = { hasSubscribers: false } + channels.error = { hasSubscribers: false } } var Request = class _Request { - constructor(origin, { - path, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler) { - if (typeof path !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + constructor( + origin, + { + path, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue + }, + handler + ) { + if (typeof path !== 'string') { + throw new InvalidArgumentError('path must be a string') + } else if ( + path[0] !== '/' && + !(path.startsWith('http://') || path.startsWith('https://')) && + method !== 'CONNECT' + ) { + throw new InvalidArgumentError( + 'path must be an absolute URL or start with a slash' + ) } else if (invalidPathRegex.exec(path) !== null) { - throw new InvalidArgumentError("invalid request path"); + throw new InvalidArgumentError('invalid request path') } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); + if (typeof method !== 'string') { + throw new InvalidArgumentError('method must be a string') } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); + throw new InvalidArgumentError('invalid request method') } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); + if (upgrade && typeof upgrade !== 'string') { + throw new InvalidArgumentError('upgrade must be a string') } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); + if ( + headersTimeout != null && + (!Number.isFinite(headersTimeout) || headersTimeout < 0) + ) { + throw new InvalidArgumentError('invalid headersTimeout') } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); + if ( + bodyTimeout != null && + (!Number.isFinite(bodyTimeout) || bodyTimeout < 0) + ) { + throw new InvalidArgumentError('invalid bodyTimeout') } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); + if (reset != null && typeof reset !== 'boolean') { + throw new InvalidArgumentError('invalid reset') } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); + if (expectContinue != null && typeof expectContinue !== 'boolean') { + throw new InvalidArgumentError('invalid expectContinue') } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; + this.headersTimeout = headersTimeout + this.bodyTimeout = bodyTimeout + this.throwOnError = throwOnError === true + this.method = method if (body == null) { - this.body = null; + this.body = null } else if (util.isStream(body)) { - this.body = body; + this.body = body } else if (util.isBuffer(body)) { - this.body = body.byteLength ? body : null; + this.body = body.byteLength ? body : null } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + this.body = body.buffer.byteLength + ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) + : null } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) { - this.body = body; + this.body = body.byteLength ? Buffer.from(body) : null + } else if (typeof body === 'string') { + this.body = body.length ? Buffer.from(body) : null + } else if ( + util.isFormDataLike(body) || + util.isIterable(body) || + util.isBlobLike(body) + ) { + this.body = body } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util.buildURL(path, query) : path; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; + throw new InvalidArgumentError( + 'body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable' + ) + } + this.completed = false + this.aborted = false + this.upgrade = upgrade || null + this.path = query ? util.buildURL(path, query) : path + this.origin = origin + this.idempotent = + idempotent == null + ? method === 'HEAD' || method === 'GET' + : idempotent + this.blocking = blocking == null ? false : blocking + this.reset = reset == null ? null : reset + this.host = null + this.contentLength = null + this.contentType = null + this.headers = '' + this.expectContinue = expectContinue != null ? expectContinue : false if (Array.isArray(headers)) { if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); + throw new InvalidArgumentError('headers array must be even') } for (let i = 0; i < headers.length; i += 2) { - processHeader(this, headers[i], headers[i + 1]); + processHeader(this, headers[i], headers[i + 1]) } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); + } else if (headers && typeof headers === 'object') { + const keys = Object.keys(headers) for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(this, key, headers[key]); + const key = keys[i] + processHeader(this, key, headers[key]) } } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); + throw new InvalidArgumentError( + 'headers must be an object or an array' + ) } if (util.isFormDataLike(this.body)) { - if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); + if ( + util.nodeMajor < 16 || + (util.nodeMajor === 16 && util.nodeMinor < 8) + ) { + throw new InvalidArgumentError( + 'Form-Data bodies are only supported in node v16.8 and newer.' + ) } if (!extractBody) { - extractBody = require_body2().extractBody; + extractBody = require_body2().extractBody } - const [bodyStream, contentType] = extractBody(body); + const [bodyStream, contentType] = extractBody(body) if (this.contentType == null) { - this.contentType = contentType; + this.contentType = contentType this.headers += `content-type: ${contentType}\r -`; +` } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; + this.body = bodyStream.stream + this.contentLength = bodyStream.length + } else if ( + util.isBlobLike(body) && + this.contentType == null && + body.type + ) { + this.contentType = body.type this.headers += `content-type: ${body.type}\r -`; +` } - util.validateHandler(handler, method, upgrade); - this.servername = util.getServerName(this.host); - this[kHandler] = handler; + util.validateHandler(handler, method, upgrade) + this.servername = util.getServerName(this.host) + this[kHandler] = handler if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); + channels.create.publish({ request: this }) } } onBodySent(chunk) { if (this[kHandler].onBodySent) { try { - this[kHandler].onBodySent(chunk); + this[kHandler].onBodySent(chunk) } catch (err) { - this.onError(err); + this.onError(err) } } } onRequestSent() { if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); + channels.bodySent.publish({ request: this }) } } onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onConnect(abort); + assert(!this.aborted) + assert(!this.completed) + return this[kHandler].onConnect(abort) } onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); + assert(!this.aborted) + assert(!this.completed) if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + channels.headers.publish({ + request: this, + response: { statusCode, headers, statusText } + }) } - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + return this[kHandler].onHeaders(statusCode, headers, resume, statusText) } onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onData(chunk); + assert(!this.aborted) + assert(!this.completed) + return this[kHandler].onData(chunk) } onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); + assert(!this.aborted) + assert(!this.completed) + return this[kHandler].onUpgrade(statusCode, headers, socket) } onComplete(trailers) { - assert(!this.aborted); - this.completed = true; + assert(!this.aborted) + this.completed = true if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); + channels.trailers.publish({ request: this, trailers }) } - return this[kHandler].onComplete(trailers); + return this[kHandler].onComplete(trailers) } onError(error) { if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error }); + channels.error.publish({ request: this, error }) } if (this.aborted) { - return; + return } - this.aborted = true; - return this[kHandler].onError(error); + this.aborted = true + return this[kHandler].onError(error) } // TODO: adjust to support H2 addHeader(key, value) { - processHeader(this, key, value); - return this; + processHeader(this, key, value) + return this } static [kHTTP1BuildRequest](origin, opts, handler) { - return new _Request(origin, opts, handler); + return new _Request(origin, opts, handler) } static [kHTTP2BuildRequest](origin, opts, handler) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request = new _Request(origin, opts, handler); - request.headers = {}; + const headers = opts.headers + opts = { ...opts, headers: null } + const request = new _Request(origin, opts, handler) + request.headers = {} if (Array.isArray(headers)) { if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); + throw new InvalidArgumentError('headers array must be even') } for (let i = 0; i < headers.length; i += 2) { - processHeader(request, headers[i], headers[i + 1], true); + processHeader(request, headers[i], headers[i + 1], true) } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); + } else if (headers && typeof headers === 'object') { + const keys = Object.keys(headers) for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(request, key, headers[key], true); + const key = keys[i] + processHeader(request, key, headers[key], true) } } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); + throw new InvalidArgumentError( + 'headers must be an object or an array' + ) } - return request; + return request } static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; + const rawHeaders = raw.split('\r\n') + const headers = {} for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) - continue; - if (headers[key]) - headers[key] += `,${value}`; - else - headers[key] = value; + const [key, value] = header.split(': ') + if (value == null || value.length === 0) continue + if (headers[key]) headers[key] += `,${value}` + else headers[key] = value } - return headers; + return headers } - }; + } function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); + if (val && typeof val === 'object') { + throw new InvalidArgumentError(`invalid ${key} header`) } - val = val != null ? `${val}` : ""; + val = val != null ? `${val}` : '' if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + throw new InvalidArgumentError(`invalid ${key} header`) } - return skipAppend ? val : `${key}: ${val}\r -`; + return skipAppend + ? val + : `${key}: ${val}\r +` } function processHeader(request, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); + if (val && typeof val === 'object' && !Array.isArray(val)) { + throw new InvalidArgumentError(`invalid ${key} header`) } else if (val === void 0) { - return; + return } - if (request.host === null && key.length === 4 && key.toLowerCase() === "host") { + if ( + request.host === null && + key.length === 4 && + key.toLowerCase() === 'host' + ) { if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + throw new InvalidArgumentError(`invalid ${key} header`) } - request.host = val; - } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request.contentLength = parseInt(val, 10); + request.host = val + } else if ( + request.contentLength === null && + key.length === 14 && + key.toLowerCase() === 'content-length' + ) { + request.contentLength = parseInt(val, 10) if (!Number.isFinite(request.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); + throw new InvalidArgumentError('invalid content-length header') } - } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request.contentType = val; + } else if ( + request.contentType === null && + key.length === 12 && + key.toLowerCase() === 'content-type' + ) { + request.contentType = val if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request.reset = true; - } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); + request.headers[key] = processHeaderValue(key, val, skipAppend) + else request.headers += processHeaderValue(key, val) + } else if ( + key.length === 17 && + key.toLowerCase() === 'transfer-encoding' + ) { + throw new InvalidArgumentError('invalid transfer-encoding header') + } else if (key.length === 10 && key.toLowerCase() === 'connection') { + const value = typeof val === 'string' ? val.toLowerCase() : null + if (value !== 'close' && value !== 'keep-alive') { + throw new InvalidArgumentError('invalid connection header') + } else if (value === 'close') { + request.reset = true + } + } else if (key.length === 10 && key.toLowerCase() === 'keep-alive') { + throw new InvalidArgumentError('invalid keep-alive header') + } else if (key.length === 7 && key.toLowerCase() === 'upgrade') { + throw new InvalidArgumentError('invalid upgrade header') + } else if (key.length === 6 && key.toLowerCase() === 'expect') { + throw new NotSupportedError('expect header not supported') } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); + throw new InvalidArgumentError('invalid header key') } else { if (Array.isArray(val)) { for (let i = 0; i < val.length; i++) { if (skipAppend) { if (request.headers[key]) - request.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`; + request.headers[key] += `,${processHeaderValue( + key, + val[i], + skipAppend + )}` else - request.headers[key] = processHeaderValue(key, val[i], skipAppend); + request.headers[key] = processHeaderValue( + key, + val[i], + skipAppend + ) } else { - request.headers += processHeaderValue(key, val[i]); + request.headers += processHeaderValue(key, val[i]) } } } else { if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); + request.headers[key] = processHeaderValue(key, val, skipAppend) + else request.headers += processHeaderValue(key, val) } } } - module2.exports = Request; + module2.exports = Request } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/dispatcher.js var require_dispatcher2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/dispatcher.js"(exports, module2) { - "use strict"; - var EventEmitter = require("events"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/dispatcher.js'( + exports, + module2 + ) { + 'use strict' + var EventEmitter = require('events') var Dispatcher = class extends EventEmitter { dispatch() { - throw new Error("not implemented"); + throw new Error('not implemented') } close() { - throw new Error("not implemented"); + throw new Error('not implemented') } destroy() { - throw new Error("not implemented"); + throw new Error('not implemented') } - }; - module2.exports = Dispatcher; + } + module2.exports = Dispatcher } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/dispatcher-base.js var require_dispatcher_base2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/dispatcher-base.js"(exports, module2) { - "use strict"; - var Dispatcher = require_dispatcher2(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors2(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6(); - var kDestroyed = Symbol("destroyed"); - var kClosed = Symbol("closed"); - var kOnDestroyed = Symbol("onDestroyed"); - var kOnClosed = Symbol("onClosed"); - var kInterceptedDispatch = Symbol("Intercepted Dispatch"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/dispatcher-base.js'( + exports, + module2 + ) { + 'use strict' + var Dispatcher = require_dispatcher2() + var { ClientDestroyedError, ClientClosedError, InvalidArgumentError } = + require_errors2() + var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6() + var kDestroyed = Symbol('destroyed') + var kClosed = Symbol('closed') + var kOnDestroyed = Symbol('onDestroyed') + var kOnClosed = Symbol('onClosed') + var kInterceptedDispatch = Symbol('Intercepted Dispatch') var DispatcherBase = class extends Dispatcher { constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; + super() + this[kDestroyed] = false + this[kOnDestroyed] = null + this[kClosed] = false + this[kOnClosed] = [] } get destroyed() { - return this[kDestroyed]; + return this[kDestroyed] } get closed() { - return this[kClosed]; + return this[kClosed] } get interceptors() { - return this[kInterceptors]; + return this[kInterceptors] } set interceptors(newInterceptors) { if (newInterceptors) { for (let i = newInterceptors.length - 1; i >= 0; i--) { - const interceptor = this[kInterceptors][i]; - if (typeof interceptor !== "function") { - throw new InvalidArgumentError("interceptor must be an function"); + const interceptor = this[kInterceptors][i] + if (typeof interceptor !== 'function') { + throw new InvalidArgumentError('interceptor must be an function') } } } - this[kInterceptors] = newInterceptors; + this[kInterceptors] = newInterceptors } close(callback) { if (callback === void 0) { return new Promise((resolve, reject) => { this.close((err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); - return; + queueMicrotask(() => callback(new ClientDestroyedError(), null)) + return } if (this[kClosed]) { if (this[kOnClosed]) { - this[kOnClosed].push(callback); + this[kOnClosed].push(callback) } else { - queueMicrotask(() => callback(null, null)); + queueMicrotask(() => callback(null, null)) } - return; + return } - this[kClosed] = true; - this[kOnClosed].push(callback); + this[kClosed] = true + this[kOnClosed].push(callback) const onClosed = () => { - const callbacks = this[kOnClosed]; - this[kOnClosed] = null; + const callbacks = this[kOnClosed] + this[kOnClosed] = null for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); + callbacks[i](null, null) } - }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); + } + this[kClose]() + .then(() => this.destroy()) + .then(() => { + queueMicrotask(onClosed) + }) } destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; + if (typeof err === 'function') { + callback = err + err = null } if (callback === void 0) { return new Promise((resolve, reject) => { this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve(data); - }); - }); + return err2 + ? /* istanbul ignore next: should never error */ + reject(err2) + : resolve(data) + }) + }) } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } if (this[kDestroyed]) { if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); + this[kOnDestroyed].push(callback) } else { - queueMicrotask(() => callback(null, null)); + queueMicrotask(() => callback(null, null)) } - return; + return } if (!err) { - err = new ClientDestroyedError(); + err = new ClientDestroyedError() } - this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; - this[kOnDestroyed].push(callback); + this[kDestroyed] = true + this[kOnDestroyed] = this[kOnDestroyed] || [] + this[kOnDestroyed].push(callback) const onDestroyed = () => { - const callbacks = this[kOnDestroyed]; - this[kOnDestroyed] = null; + const callbacks = this[kOnDestroyed] + this[kOnDestroyed] = null for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); + callbacks[i](null, null) } - }; + } this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); + queueMicrotask(onDestroyed) + }) } [kInterceptedDispatch](opts, handler) { if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler); + this[kInterceptedDispatch] = this[kDispatch] + return this[kDispatch](opts, handler) } - let dispatch = this[kDispatch].bind(this); + let dispatch = this[kDispatch].bind(this) for (let i = this[kInterceptors].length - 1; i >= 0; i--) { - dispatch = this[kInterceptors][i](dispatch); + dispatch = this[kInterceptors][i](dispatch) } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler); + this[kInterceptedDispatch] = dispatch + return dispatch(opts, handler) } dispatch(opts, handler) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); + if (!handler || typeof handler !== 'object') { + throw new InvalidArgumentError('handler must be an object') } try { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object."); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('opts must be an object.') } if (this[kDestroyed] || this[kOnDestroyed]) { - throw new ClientDestroyedError(); + throw new ClientDestroyedError() } if (this[kClosed]) { - throw new ClientClosedError(); + throw new ClientClosedError() } - return this[kInterceptedDispatch](opts, handler); + return this[kInterceptedDispatch](opts, handler) } catch (err) { - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (typeof handler.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method') } - handler.onError(err); - return false; + handler.onError(err) + return false } } - }; - module2.exports = DispatcherBase; + } + module2.exports = DispatcherBase } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/connect.js var require_connect2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/connect.js"(exports, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util = require_util8(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors2(); - var tls; - var SessionCache; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/core/connect.js'( + exports, + module2 + ) { + 'use strict' + var net = require('net') + var assert = require('assert') + var util = require_util8() + var { InvalidArgumentError, ConnectTimeoutError } = require_errors2() + var tls + var SessionCache if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { SessionCache = class WeakSessionCache { constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); + this._maxCachedSessions = maxCachedSessions + this._sessionCache = /* @__PURE__ */ new Map() this._sessionRegistry = new global.FinalizationRegistry((key) => { if (this._sessionCache.size < this._maxCachedSessions) { - return; + return } - const ref = this._sessionCache.get(key); + const ref = this._sessionCache.get(key) if (ref !== void 0 && ref.deref() === void 0) { - this._sessionCache.delete(key); + this._sessionCache.delete(key) } - }); + }) } get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; + const ref = this._sessionCache.get(sessionKey) + return ref ? ref.deref() : null } set(sessionKey, session) { if (this._maxCachedSessions === 0) { - return; + return } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); + this._sessionCache.set(sessionKey, new WeakRef(session)) + this._sessionRegistry.register(session, sessionKey) } - }; + } } else { SessionCache = class SimpleSessionCache { constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); + this._maxCachedSessions = maxCachedSessions + this._sessionCache = /* @__PURE__ */ new Map() } get(sessionKey) { - return this._sessionCache.get(sessionKey); + return this._sessionCache.get(sessionKey) } set(sessionKey, session) { if (this._maxCachedSessions === 0) { - return; + return } if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); + const { value: oldestKey } = this._sessionCache.keys().next() + this._sessionCache.delete(oldestKey) } - this._sessionCache.set(sessionKey, session); + this._sessionCache.set(sessionKey, session) } - }; + } } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + function buildConnector({ + allowH2, + maxCachedSessions, + socketPath, + timeout, + ...opts + }) { + if ( + maxCachedSessions != null && + (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0) + ) { + throw new InvalidArgumentError( + 'maxCachedSessions must be a positive integer or zero' + ) } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { + const options = { path: socketPath, ...opts } + const sessionCache = new SessionCache( + maxCachedSessions == null ? 100 : maxCachedSessions + ) + timeout = timeout == null ? 1e4 : timeout + allowH2 = allowH2 != null ? allowH2 : false + return function connect( + { + hostname, + host, + protocol, + port, + servername, + localAddress, + httpSocket + }, + callback + ) { + let socket + if (protocol === 'https:') { if (!tls) { - tls = require("tls"); + tls = require('tls') } - servername = servername || options.servername || util.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); + servername = + servername || options.servername || util.getServerName(host) || null + const sessionKey = servername || hostname + const session = sessionCache.get(sessionKey) || null + assert(sessionKey) socket = tls.connect({ highWaterMark: 16384, // TLS in node can't have bigger HWM anyway... @@ -22475,17 +25646,17 @@ var require_connect2 = __commonJS({ session, localAddress, // TODO(HTTP/2): Add support for h2c - ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], + ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'], socket: httpSocket, // upgrade socket connection port: port || 443, host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); + }) + socket.on('session', function (session2) { + sessionCache.set(sessionKey, session2) + }) } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); + assert(!httpSocket, 'httpSocket can only be sent on TLS update') socket = net.connect({ highWaterMark: 64 * 1024, // Same as nodejs fs streams. @@ -22493,188 +25664,234 @@ var require_connect2 = __commonJS({ localAddress, port: port || 80, host: hostname - }); + }) } if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); - } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(err); - } - }); - return socket; - }; + const keepAliveInitialDelay = + options.keepAliveInitialDelay === void 0 + ? 6e4 + : options.keepAliveInitialDelay + socket.setKeepAlive(true, keepAliveInitialDelay) + } + const cancelTimeout = setupTimeout( + () => onConnectTimeout(socket), + timeout + ) + socket + .setNoDelay(true) + .once( + protocol === 'https:' ? 'secureConnect' : 'connect', + function () { + cancelTimeout() + if (callback) { + const cb = callback + callback = null + cb(null, this) + } + } + ) + .on('error', function (err) { + cancelTimeout() + if (callback) { + const cb = callback + callback = null + cb(err) + } + }) + return socket + } } function setupTimeout(onConnectTimeout2, timeout) { if (!timeout) { - return () => { - }; + return () => {} } - let s1 = null; - let s2 = null; + let s1 = null + let s2 = null const timeoutId = setTimeout(() => { s1 = setImmediate(() => { - if (process.platform === "win32") { - s2 = setImmediate(() => onConnectTimeout2()); + if (process.platform === 'win32') { + s2 = setImmediate(() => onConnectTimeout2()) } else { - onConnectTimeout2(); + onConnectTimeout2() } - }); - }, timeout); + }) + }, timeout) return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s2); - }; + clearTimeout(timeoutId) + clearImmediate(s1) + clearImmediate(s2) + } } function onConnectTimeout(socket) { - util.destroy(socket, new ConnectTimeoutError()); + util.destroy(socket, new ConnectTimeoutError()) } - module2.exports = buildConnector; + module2.exports = buildConnector } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/utils.js var require_utils3 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.enumToMap = void 0; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/utils.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.enumToMap = void 0 function enumToMap(obj) { - const res = {}; + const res = {} Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; + const value = obj[key] + if (typeof value === 'number') { + res[key] = value } - }); - return res; + }) + return res } - exports.enumToMap = enumToMap; + exports.enumToMap = enumToMap } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/constants.js var require_constants6 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0; - var utils_1 = require_utils3(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = exports.ERROR || (exports.ERROR = {})); - var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports.TYPE || (exports.TYPE = {})); - var FLAGS; - (function(FLAGS2) { - FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; - FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; - FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; - FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; - FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; - FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; - FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; - FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; - FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; - })(FLAGS = exports.FLAGS || (exports.FLAGS = {})); - var LENIENT_FLAGS; - (function(LENIENT_FLAGS2) { - LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; - LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; - LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; - })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports.METHODS || (exports.METHODS = {})); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/constants.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) + exports.SPECIAL_HEADERS = + exports.HEADER_STATE = + exports.MINOR = + exports.MAJOR = + exports.CONNECTION_TOKEN_CHARS = + exports.HEADER_CHARS = + exports.TOKEN = + exports.STRICT_TOKEN = + exports.HEX = + exports.URL_CHAR = + exports.STRICT_URL_CHAR = + exports.USERINFO_CHARS = + exports.MARK = + exports.ALPHANUM = + exports.NUM = + exports.HEX_MAP = + exports.NUM_MAP = + exports.ALPHA = + exports.FINISH = + exports.H_METHOD_MAP = + exports.METHOD_MAP = + exports.METHODS_RTSP = + exports.METHODS_ICE = + exports.METHODS_HTTP = + exports.METHODS = + exports.LENIENT_FLAGS = + exports.FLAGS = + exports.TYPE = + exports.ERROR = + void 0 + var utils_1 = require_utils3() + var ERROR + ;(function (ERROR2) { + ERROR2[(ERROR2['OK'] = 0)] = 'OK' + ERROR2[(ERROR2['INTERNAL'] = 1)] = 'INTERNAL' + ERROR2[(ERROR2['STRICT'] = 2)] = 'STRICT' + ERROR2[(ERROR2['LF_EXPECTED'] = 3)] = 'LF_EXPECTED' + ERROR2[(ERROR2['UNEXPECTED_CONTENT_LENGTH'] = 4)] = + 'UNEXPECTED_CONTENT_LENGTH' + ERROR2[(ERROR2['CLOSED_CONNECTION'] = 5)] = 'CLOSED_CONNECTION' + ERROR2[(ERROR2['INVALID_METHOD'] = 6)] = 'INVALID_METHOD' + ERROR2[(ERROR2['INVALID_URL'] = 7)] = 'INVALID_URL' + ERROR2[(ERROR2['INVALID_CONSTANT'] = 8)] = 'INVALID_CONSTANT' + ERROR2[(ERROR2['INVALID_VERSION'] = 9)] = 'INVALID_VERSION' + ERROR2[(ERROR2['INVALID_HEADER_TOKEN'] = 10)] = 'INVALID_HEADER_TOKEN' + ERROR2[(ERROR2['INVALID_CONTENT_LENGTH'] = 11)] = 'INVALID_CONTENT_LENGTH' + ERROR2[(ERROR2['INVALID_CHUNK_SIZE'] = 12)] = 'INVALID_CHUNK_SIZE' + ERROR2[(ERROR2['INVALID_STATUS'] = 13)] = 'INVALID_STATUS' + ERROR2[(ERROR2['INVALID_EOF_STATE'] = 14)] = 'INVALID_EOF_STATE' + ERROR2[(ERROR2['INVALID_TRANSFER_ENCODING'] = 15)] = + 'INVALID_TRANSFER_ENCODING' + ERROR2[(ERROR2['CB_MESSAGE_BEGIN'] = 16)] = 'CB_MESSAGE_BEGIN' + ERROR2[(ERROR2['CB_HEADERS_COMPLETE'] = 17)] = 'CB_HEADERS_COMPLETE' + ERROR2[(ERROR2['CB_MESSAGE_COMPLETE'] = 18)] = 'CB_MESSAGE_COMPLETE' + ERROR2[(ERROR2['CB_CHUNK_HEADER'] = 19)] = 'CB_CHUNK_HEADER' + ERROR2[(ERROR2['CB_CHUNK_COMPLETE'] = 20)] = 'CB_CHUNK_COMPLETE' + ERROR2[(ERROR2['PAUSED'] = 21)] = 'PAUSED' + ERROR2[(ERROR2['PAUSED_UPGRADE'] = 22)] = 'PAUSED_UPGRADE' + ERROR2[(ERROR2['PAUSED_H2_UPGRADE'] = 23)] = 'PAUSED_H2_UPGRADE' + ERROR2[(ERROR2['USER'] = 24)] = 'USER' + })((ERROR = exports.ERROR || (exports.ERROR = {}))) + var TYPE + ;(function (TYPE2) { + TYPE2[(TYPE2['BOTH'] = 0)] = 'BOTH' + TYPE2[(TYPE2['REQUEST'] = 1)] = 'REQUEST' + TYPE2[(TYPE2['RESPONSE'] = 2)] = 'RESPONSE' + })((TYPE = exports.TYPE || (exports.TYPE = {}))) + var FLAGS + ;(function (FLAGS2) { + FLAGS2[(FLAGS2['CONNECTION_KEEP_ALIVE'] = 1)] = 'CONNECTION_KEEP_ALIVE' + FLAGS2[(FLAGS2['CONNECTION_CLOSE'] = 2)] = 'CONNECTION_CLOSE' + FLAGS2[(FLAGS2['CONNECTION_UPGRADE'] = 4)] = 'CONNECTION_UPGRADE' + FLAGS2[(FLAGS2['CHUNKED'] = 8)] = 'CHUNKED' + FLAGS2[(FLAGS2['UPGRADE'] = 16)] = 'UPGRADE' + FLAGS2[(FLAGS2['CONTENT_LENGTH'] = 32)] = 'CONTENT_LENGTH' + FLAGS2[(FLAGS2['SKIPBODY'] = 64)] = 'SKIPBODY' + FLAGS2[(FLAGS2['TRAILING'] = 128)] = 'TRAILING' + FLAGS2[(FLAGS2['TRANSFER_ENCODING'] = 512)] = 'TRANSFER_ENCODING' + })((FLAGS = exports.FLAGS || (exports.FLAGS = {}))) + var LENIENT_FLAGS + ;(function (LENIENT_FLAGS2) { + LENIENT_FLAGS2[(LENIENT_FLAGS2['HEADERS'] = 1)] = 'HEADERS' + LENIENT_FLAGS2[(LENIENT_FLAGS2['CHUNKED_LENGTH'] = 2)] = 'CHUNKED_LENGTH' + LENIENT_FLAGS2[(LENIENT_FLAGS2['KEEP_ALIVE'] = 4)] = 'KEEP_ALIVE' + })((LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}))) + var METHODS + ;(function (METHODS2) { + METHODS2[(METHODS2['DELETE'] = 0)] = 'DELETE' + METHODS2[(METHODS2['GET'] = 1)] = 'GET' + METHODS2[(METHODS2['HEAD'] = 2)] = 'HEAD' + METHODS2[(METHODS2['POST'] = 3)] = 'POST' + METHODS2[(METHODS2['PUT'] = 4)] = 'PUT' + METHODS2[(METHODS2['CONNECT'] = 5)] = 'CONNECT' + METHODS2[(METHODS2['OPTIONS'] = 6)] = 'OPTIONS' + METHODS2[(METHODS2['TRACE'] = 7)] = 'TRACE' + METHODS2[(METHODS2['COPY'] = 8)] = 'COPY' + METHODS2[(METHODS2['LOCK'] = 9)] = 'LOCK' + METHODS2[(METHODS2['MKCOL'] = 10)] = 'MKCOL' + METHODS2[(METHODS2['MOVE'] = 11)] = 'MOVE' + METHODS2[(METHODS2['PROPFIND'] = 12)] = 'PROPFIND' + METHODS2[(METHODS2['PROPPATCH'] = 13)] = 'PROPPATCH' + METHODS2[(METHODS2['SEARCH'] = 14)] = 'SEARCH' + METHODS2[(METHODS2['UNLOCK'] = 15)] = 'UNLOCK' + METHODS2[(METHODS2['BIND'] = 16)] = 'BIND' + METHODS2[(METHODS2['REBIND'] = 17)] = 'REBIND' + METHODS2[(METHODS2['UNBIND'] = 18)] = 'UNBIND' + METHODS2[(METHODS2['ACL'] = 19)] = 'ACL' + METHODS2[(METHODS2['REPORT'] = 20)] = 'REPORT' + METHODS2[(METHODS2['MKACTIVITY'] = 21)] = 'MKACTIVITY' + METHODS2[(METHODS2['CHECKOUT'] = 22)] = 'CHECKOUT' + METHODS2[(METHODS2['MERGE'] = 23)] = 'MERGE' + METHODS2[(METHODS2['M-SEARCH'] = 24)] = 'M-SEARCH' + METHODS2[(METHODS2['NOTIFY'] = 25)] = 'NOTIFY' + METHODS2[(METHODS2['SUBSCRIBE'] = 26)] = 'SUBSCRIBE' + METHODS2[(METHODS2['UNSUBSCRIBE'] = 27)] = 'UNSUBSCRIBE' + METHODS2[(METHODS2['PATCH'] = 28)] = 'PATCH' + METHODS2[(METHODS2['PURGE'] = 29)] = 'PURGE' + METHODS2[(METHODS2['MKCALENDAR'] = 30)] = 'MKCALENDAR' + METHODS2[(METHODS2['LINK'] = 31)] = 'LINK' + METHODS2[(METHODS2['UNLINK'] = 32)] = 'UNLINK' + METHODS2[(METHODS2['SOURCE'] = 33)] = 'SOURCE' + METHODS2[(METHODS2['PRI'] = 34)] = 'PRI' + METHODS2[(METHODS2['DESCRIBE'] = 35)] = 'DESCRIBE' + METHODS2[(METHODS2['ANNOUNCE'] = 36)] = 'ANNOUNCE' + METHODS2[(METHODS2['SETUP'] = 37)] = 'SETUP' + METHODS2[(METHODS2['PLAY'] = 38)] = 'PLAY' + METHODS2[(METHODS2['PAUSE'] = 39)] = 'PAUSE' + METHODS2[(METHODS2['TEARDOWN'] = 40)] = 'TEARDOWN' + METHODS2[(METHODS2['GET_PARAMETER'] = 41)] = 'GET_PARAMETER' + METHODS2[(METHODS2['SET_PARAMETER'] = 42)] = 'SET_PARAMETER' + METHODS2[(METHODS2['REDIRECT'] = 43)] = 'REDIRECT' + METHODS2[(METHODS2['RECORD'] = 44)] = 'RECORD' + METHODS2[(METHODS2['FLUSH'] = 45)] = 'FLUSH' + })((METHODS = exports.METHODS || (exports.METHODS = {}))) exports.METHODS_HTTP = [ METHODS.DELETE, METHODS.GET, @@ -22700,7 +25917,7 @@ var require_constants6 = __commonJS({ METHODS.MKACTIVITY, METHODS.CHECKOUT, METHODS.MERGE, - METHODS["M-SEARCH"], + METHODS['M-SEARCH'], METHODS.NOTIFY, METHODS.SUBSCRIBE, METHODS.UNSUBSCRIBE, @@ -22712,10 +25929,8 @@ var require_constants6 = __commonJS({ METHODS.PRI, // TODO(indutny): should we allow it with HTTP? METHODS.SOURCE - ]; - exports.METHODS_ICE = [ - METHODS.SOURCE - ]; + ] + exports.METHODS_ICE = [METHODS.SOURCE] exports.METHODS_RTSP = [ METHODS.OPTIONS, METHODS.DESCRIBE, @@ -22732,24 +25947,24 @@ var require_constants6 = __commonJS({ // For AirPlay METHODS.GET, METHODS.POST - ]; - exports.METHOD_MAP = utils_1.enumToMap(METHODS); - exports.H_METHOD_MAP = {}; + ] + exports.METHOD_MAP = utils_1.enumToMap(METHODS) + exports.H_METHOD_MAP = {} Object.keys(exports.METHOD_MAP).forEach((key) => { if (/^H/.test(key)) { - exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key]; - } - }); - var FINISH; - (function(FINISH2) { - FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; - FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; - FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; - })(FINISH = exports.FINISH || (exports.FINISH = {})); - exports.ALPHA = []; - for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { - exports.ALPHA.push(String.fromCharCode(i)); - exports.ALPHA.push(String.fromCharCode(i + 32)); + exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key] + } + }) + var FINISH + ;(function (FINISH2) { + FINISH2[(FINISH2['SAFE'] = 0)] = 'SAFE' + FINISH2[(FINISH2['SAFE_WITH_CB'] = 1)] = 'SAFE_WITH_CB' + FINISH2[(FINISH2['UNSAFE'] = 2)] = 'UNSAFE' + })((FINISH = exports.FINISH || (exports.FINISH = {}))) + exports.ALPHA = [] + for (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) { + exports.ALPHA.push(String.fromCharCode(i)) + exports.ALPHA.push(String.fromCharCode(i + 32)) } exports.NUM_MAP = { 0: 0, @@ -22762,7 +25977,7 @@ var require_constants6 = __commonJS({ 7: 7, 8: 8, 9: 9 - }; + } exports.HEX_MAP = { 0: 0, 1: 1, @@ -22786,296 +26001,374 @@ var require_constants6 = __commonJS({ d: 13, e: 14, f: 15 - }; - exports.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; - exports.ALPHANUM = exports.ALPHA.concat(exports.NUM); - exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + } + exports.NUM = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] + exports.ALPHANUM = exports.ALPHA.concat(exports.NUM) + exports.MARK = ['-', '_', '.', '!', '~', '*', "'", '(', ')'] + exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat([ + '%', + ';', + ':', + '&', + '=', + '+', + '$', + ',' + ]) exports.STRICT_URL_CHAR = [ - "!", + '!', '"', - "$", - "%", - "&", + '$', + '%', + '&', "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" - ].concat(exports.ALPHANUM); - exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([" ", "\f"]); + '(', + ')', + '*', + '+', + ',', + '-', + '.', + '/', + ':', + ';', + '<', + '=', + '>', + '@', + '[', + '\\', + ']', + '^', + '_', + '`', + '{', + '|', + '}', + '~' + ].concat(exports.ALPHANUM) + exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([' ', '\f']) for (let i = 128; i <= 255; i++) { - exports.URL_CHAR.push(i); - } - exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + exports.URL_CHAR.push(i) + } + exports.HEX = exports.NUM.concat([ + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F' + ]) exports.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", + '!', + '#', + '$', + '%', + '&', "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports.ALPHANUM); - exports.TOKEN = exports.STRICT_TOKEN.concat([" "]); - exports.HEADER_CHARS = [" "]; + '*', + '+', + '-', + '.', + '^', + '_', + '`', + '|', + '~' + ].concat(exports.ALPHANUM) + exports.TOKEN = exports.STRICT_TOKEN.concat([' ']) + exports.HEADER_CHARS = [' '] for (let i = 32; i <= 255; i++) { if (i !== 127) { - exports.HEADER_CHARS.push(i); - } - } - exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44); - exports.MAJOR = exports.NUM_MAP; - exports.MINOR = exports.MAJOR; - var HEADER_STATE; - (function(HEADER_STATE2) { - HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; - HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; - HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; - HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; - })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {})); + exports.HEADER_CHARS.push(i) + } + } + exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter( + (c) => c !== 44 + ) + exports.MAJOR = exports.NUM_MAP + exports.MINOR = exports.MAJOR + var HEADER_STATE + ;(function (HEADER_STATE2) { + HEADER_STATE2[(HEADER_STATE2['GENERAL'] = 0)] = 'GENERAL' + HEADER_STATE2[(HEADER_STATE2['CONNECTION'] = 1)] = 'CONNECTION' + HEADER_STATE2[(HEADER_STATE2['CONTENT_LENGTH'] = 2)] = 'CONTENT_LENGTH' + HEADER_STATE2[(HEADER_STATE2['TRANSFER_ENCODING'] = 3)] = + 'TRANSFER_ENCODING' + HEADER_STATE2[(HEADER_STATE2['UPGRADE'] = 4)] = 'UPGRADE' + HEADER_STATE2[(HEADER_STATE2['CONNECTION_KEEP_ALIVE'] = 5)] = + 'CONNECTION_KEEP_ALIVE' + HEADER_STATE2[(HEADER_STATE2['CONNECTION_CLOSE'] = 6)] = + 'CONNECTION_CLOSE' + HEADER_STATE2[(HEADER_STATE2['CONNECTION_UPGRADE'] = 7)] = + 'CONNECTION_UPGRADE' + HEADER_STATE2[(HEADER_STATE2['TRANSFER_ENCODING_CHUNKED'] = 8)] = + 'TRANSFER_ENCODING_CHUNKED' + })((HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}))) exports.SPECIAL_HEADERS = { - "connection": HEADER_STATE.CONNECTION, - "content-length": HEADER_STATE.CONTENT_LENGTH, - "proxy-connection": HEADER_STATE.CONNECTION, - "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, - "upgrade": HEADER_STATE.UPGRADE - }; + connection: HEADER_STATE.CONNECTION, + 'content-length': HEADER_STATE.CONTENT_LENGTH, + 'proxy-connection': HEADER_STATE.CONNECTION, + 'transfer-encoding': HEADER_STATE.TRANSFER_ENCODING, + upgrade: HEADER_STATE.UPGRADE + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/handler/RedirectHandler.js var require_RedirectHandler2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) { - "use strict"; - var util = require_util8(); - var { kBodyUsed } = require_symbols6(); - var assert = require("assert"); - var { InvalidArgumentError } = require_errors2(); - var EE = require("events"); - var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = Symbol("body"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/handler/RedirectHandler.js'( + exports, + module2 + ) { + 'use strict' + var util = require_util8() + var { kBodyUsed } = require_symbols6() + var assert = require('assert') + var { InvalidArgumentError } = require_errors2() + var EE = require('events') + var redirectableStatusCodes = [300, 301, 302, 303, 307, 308] + var kBody = Symbol('body') var BodyAsyncIterable = class { constructor(body) { - this[kBody] = body; - this[kBodyUsed] = false; + this[kBody] = body + this[kBodyUsed] = false } async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); - this[kBodyUsed] = true; - yield* this[kBody]; + assert(!this[kBodyUsed], 'disturbed') + this[kBodyUsed] = true + yield* this[kBody] } - }; + } var RedirectHandler = class { constructor(dispatch, maxRedirections, opts, handler) { - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - util.validateHandler(handler, opts.method, opts.upgrade); - this.dispatch = dispatch; - this.location = null; - this.abort = null; - this.opts = { ...opts, maxRedirections: 0 }; - this.maxRedirections = maxRedirections; - this.handler = handler; - this.history = []; + if ( + maxRedirections != null && + (!Number.isInteger(maxRedirections) || maxRedirections < 0) + ) { + throw new InvalidArgumentError( + 'maxRedirections must be a positive number' + ) + } + util.validateHandler(handler, opts.method, opts.upgrade) + this.dispatch = dispatch + this.location = null + this.abort = null + this.opts = { ...opts, maxRedirections: 0 } + this.maxRedirections = maxRedirections + this.handler = handler + this.history = [] if (util.isStream(this.opts.body)) { if (util.bodyLength(this.opts.body) === 0) { - this.opts.body.on("data", function() { - assert(false); - }); - } - if (typeof this.opts.body.readableDidRead !== "boolean") { - this.opts.body[kBodyUsed] = false; - EE.prototype.on.call(this.opts.body, "data", function() { - this[kBodyUsed] = true; - }); - } - } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) { - this.opts.body = new BodyAsyncIterable(this.opts.body); + this.opts.body.on('data', function () { + assert(false) + }) + } + if (typeof this.opts.body.readableDidRead !== 'boolean') { + this.opts.body[kBodyUsed] = false + EE.prototype.on.call(this.opts.body, 'data', function () { + this[kBodyUsed] = true + }) + } + } else if ( + this.opts.body && + typeof this.opts.body.pipeTo === 'function' + ) { + this.opts.body = new BodyAsyncIterable(this.opts.body) + } else if ( + this.opts.body && + typeof this.opts.body !== 'string' && + !ArrayBuffer.isView(this.opts.body) && + util.isIterable(this.opts.body) + ) { + this.opts.body = new BodyAsyncIterable(this.opts.body) } } onConnect(abort) { - this.abort = abort; - this.handler.onConnect(abort, { history: this.history }); + this.abort = abort + this.handler.onConnect(abort, { history: this.history }) } onUpgrade(statusCode, headers, socket) { - this.handler.onUpgrade(statusCode, headers, socket); + this.handler.onUpgrade(statusCode, headers, socket) } onError(error) { - this.handler.onError(error); + this.handler.onError(error) } onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + this.location = + this.history.length >= this.maxRedirections || + util.isDisturbed(this.opts.body) + ? null + : parseLocation(statusCode, headers) if (this.opts.origin) { - this.history.push(new URL(this.opts.path, this.opts.origin)); + this.history.push(new URL(this.opts.path, this.opts.origin)) } if (!this.location) { - return this.handler.onHeaders(statusCode, headers, resume, statusText); + return this.handler.onHeaders(statusCode, headers, resume, statusText) } - const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); - const path = search ? `${pathname}${search}` : pathname; - this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); - this.opts.path = path; - this.opts.origin = origin; - this.opts.maxRedirections = 0; - this.opts.query = null; - if (statusCode === 303 && this.opts.method !== "HEAD") { - this.opts.method = "GET"; - this.opts.body = null; + const { origin, pathname, search } = util.parseURL( + new URL( + this.location, + this.opts.origin && new URL(this.opts.path, this.opts.origin) + ) + ) + const path = search ? `${pathname}${search}` : pathname + this.opts.headers = cleanRequestHeaders( + this.opts.headers, + statusCode === 303, + this.opts.origin !== origin + ) + this.opts.path = path + this.opts.origin = origin + this.opts.maxRedirections = 0 + this.opts.query = null + if (statusCode === 303 && this.opts.method !== 'HEAD') { + this.opts.method = 'GET' + this.opts.body = null } } onData(chunk) { if (this.location) { } else { - return this.handler.onData(chunk); + return this.handler.onData(chunk) } } onComplete(trailers) { if (this.location) { - this.location = null; - this.abort = null; - this.dispatch(this.opts, this); + this.location = null + this.abort = null + this.dispatch(this.opts, this) } else { - this.handler.onComplete(trailers); + this.handler.onComplete(trailers) } } onBodySent(chunk) { if (this.handler.onBodySent) { - this.handler.onBodySent(chunk); + this.handler.onBodySent(chunk) } } - }; + } function parseLocation(statusCode, headers) { if (redirectableStatusCodes.indexOf(statusCode) === -1) { - return null; + return null } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].toString().toLowerCase() === "location") { - return headers[i + 1]; + if (headers[i].toString().toLowerCase() === 'location') { + return headers[i + 1] } } } function shouldRemoveHeader(header, removeContent, unknownOrigin) { - return header.length === 4 && header.toString().toLowerCase() === "host" || removeContent && header.toString().toLowerCase().indexOf("content-") === 0 || unknownOrigin && header.length === 13 && header.toString().toLowerCase() === "authorization" || unknownOrigin && header.length === 6 && header.toString().toLowerCase() === "cookie"; + return ( + (header.length === 4 && header.toString().toLowerCase() === 'host') || + (removeContent && + header.toString().toLowerCase().indexOf('content-') === 0) || + (unknownOrigin && + header.length === 13 && + header.toString().toLowerCase() === 'authorization') || + (unknownOrigin && + header.length === 6 && + header.toString().toLowerCase() === 'cookie') + ) } function cleanRequestHeaders(headers, removeContent, unknownOrigin) { - const ret = []; + const ret = [] if (Array.isArray(headers)) { for (let i = 0; i < headers.length; i += 2) { if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) { - ret.push(headers[i], headers[i + 1]); + ret.push(headers[i], headers[i + 1]) } } - } else if (headers && typeof headers === "object") { + } else if (headers && typeof headers === 'object') { for (const key of Object.keys(headers)) { if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { - ret.push(key, headers[key]); + ret.push(key, headers[key]) } } } else { - assert(headers == null, "headers must be an object or an array"); + assert(headers == null, 'headers must be an object or an array') } - return ret; + return ret } - module2.exports = RedirectHandler; + module2.exports = RedirectHandler } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/interceptor/redirectInterceptor.js var require_redirectInterceptor2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) { - "use strict"; - var RedirectHandler = require_RedirectHandler2(); - function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/interceptor/redirectInterceptor.js'( + exports, + module2 + ) { + 'use strict' + var RedirectHandler = require_RedirectHandler2() + function createRedirectInterceptor({ + maxRedirections: defaultMaxRedirections + }) { return (dispatch) => { return function Intercept(opts, handler) { - const { maxRedirections = defaultMaxRedirections } = opts; + const { maxRedirections = defaultMaxRedirections } = opts if (!maxRedirections) { - return dispatch(opts, handler); + return dispatch(opts, handler) } - const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); - opts = { ...opts, maxRedirections: 0 }; - return dispatch(opts, redirectHandler); - }; - }; + const redirectHandler = new RedirectHandler( + dispatch, + maxRedirections, + opts, + handler + ) + opts = { ...opts, maxRedirections: 0 } + return dispatch(opts, redirectHandler) + } + } } - module2.exports = createRedirectInterceptor; + module2.exports = createRedirectInterceptor } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/llhttp-wasm.js var require_llhttp_wasm2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/llhttp-wasm.js'( + exports, + module2 + ) { + module2.exports = + 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=' } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js var require_llhttp_simd_wasm2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js'( + exports, + module2 + ) { + module2.exports = + 'AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==' } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/client.js var require_client2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/client.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var net = require("net"); - var http = require("http"); - var { pipeline } = require("stream"); - var util = require_util8(); - var timers = require_timers2(); - var Request = require_request3(); - var DispatcherBase = require_dispatcher_base2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/client.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var net = require('net') + var http = require('http') + var { pipeline } = require('stream') + var util = require_util8() + var timers = require_timers2() + var Request = require_request3() + var DispatcherBase = require_dispatcher_base2() var { RequestContentLengthMismatchError, ResponseContentLengthMismatchError, @@ -23089,8 +26382,8 @@ var require_client2 = __commonJS({ HTTPParserError, ResponseExceededMaxSizeError, ClientDestroyedError - } = require_errors2(); - var buildConnector = require_connect2(); + } = require_errors2() + var buildConnector = require_connect2() var { kUrl, kReset, @@ -23142,12 +26435,12 @@ var require_client2 = __commonJS({ kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest - } = require_symbols6(); - var http2; + } = require_symbols6() + var http2 try { - http2 = require("http2"); + http2 = require('http2') } catch { - http2 = { constants: {} }; + http2 = { constants: {} } } var { constants: { @@ -23159,22 +26452,28 @@ var require_client2 = __commonJS({ HTTP2_HEADER_EXPECT, HTTP2_HEADER_STATUS } - } = http2; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; - var kClosedResolve = Symbol("kClosedResolve"); - var channels = {}; + } = http2 + var h2ExperimentalWarned = false + var FastBuffer = Buffer[Symbol.species] + var kClosedResolve = Symbol('kClosedResolve') + var channels = {} try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); + const diagnosticsChannel = require('diagnostics_channel') + channels.sendHeaders = diagnosticsChannel.channel( + 'undici:client:sendHeaders' + ) + channels.beforeConnect = diagnosticsChannel.channel( + 'undici:client:beforeConnect' + ) + channels.connectError = diagnosticsChannel.channel( + 'undici:client:connectError' + ) + channels.connected = diagnosticsChannel.channel('undici:client:connected') } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; + channels.sendHeaders = { hasSubscribers: false } + channels.beforeConnect = { hasSubscribers: false } + channels.connectError = { hasSubscribers: false } + channels.connected = { hasSubscribers: false } } var Client = class extends DispatcherBase { /** @@ -23182,791 +26481,1007 @@ var require_client2 = __commonJS({ * @param {string|URL} url * @param {import('../types/client').Client.Options} options */ - constructor(url, { - interceptors, - maxHeaderSize, - headersTimeout, - socketTimeout, - requestTimeout, - connectTimeout, - bodyTimeout, - idleTimeout, - keepAlive, - keepAliveTimeout, - maxKeepAliveTimeout, - keepAliveMaxTimeout, - keepAliveTimeoutThreshold, - socketPath, - pipelining, - tls, - strictContentLength, - maxCachedSessions, - maxRedirections, - connect: connect2, - maxRequestsPerClient, - localAddress, - maxResponseSize, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - // h2 - allowH2, - maxConcurrentStreams - } = {}) { - super(); + constructor( + url, + { + interceptors, + maxHeaderSize, + headersTimeout, + socketTimeout, + requestTimeout, + connectTimeout, + bodyTimeout, + idleTimeout, + keepAlive, + keepAliveTimeout, + maxKeepAliveTimeout, + keepAliveMaxTimeout, + keepAliveTimeoutThreshold, + socketPath, + pipelining, + tls, + strictContentLength, + maxCachedSessions, + maxRedirections, + connect: connect2, + maxRequestsPerClient, + localAddress, + maxResponseSize, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + // h2 + allowH2, + maxConcurrentStreams + } = {} + ) { + super() if (keepAlive !== void 0) { - throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); + throw new InvalidArgumentError( + 'unsupported keepAlive, use pipelining=0 instead' + ) } if (socketTimeout !== void 0) { - throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); + throw new InvalidArgumentError( + 'unsupported socketTimeout, use headersTimeout & bodyTimeout instead' + ) } if (requestTimeout !== void 0) { - throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); + throw new InvalidArgumentError( + 'unsupported requestTimeout, use headersTimeout & bodyTimeout instead' + ) } if (idleTimeout !== void 0) { - throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); + throw new InvalidArgumentError( + 'unsupported idleTimeout, use keepAliveTimeout instead' + ) } if (maxKeepAliveTimeout !== void 0) { - throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); + throw new InvalidArgumentError( + 'unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead' + ) } if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { - throw new InvalidArgumentError("invalid maxHeaderSize"); - } - if (socketPath != null && typeof socketPath !== "string") { - throw new InvalidArgumentError("invalid socketPath"); - } - if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { - throw new InvalidArgumentError("invalid connectTimeout"); - } - if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveTimeout"); - } - if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); - } - if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { - throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); - } - if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); + throw new InvalidArgumentError('invalid maxHeaderSize') + } + if (socketPath != null && typeof socketPath !== 'string') { + throw new InvalidArgumentError('invalid socketPath') + } + if ( + connectTimeout != null && + (!Number.isFinite(connectTimeout) || connectTimeout < 0) + ) { + throw new InvalidArgumentError('invalid connectTimeout') + } + if ( + keepAliveTimeout != null && + (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0) + ) { + throw new InvalidArgumentError('invalid keepAliveTimeout') + } + if ( + keepAliveMaxTimeout != null && + (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0) + ) { + throw new InvalidArgumentError('invalid keepAliveMaxTimeout') + } + if ( + keepAliveTimeoutThreshold != null && + !Number.isFinite(keepAliveTimeoutThreshold) + ) { + throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold') + } + if ( + headersTimeout != null && + (!Number.isInteger(headersTimeout) || headersTimeout < 0) + ) { + throw new InvalidArgumentError( + 'headersTimeout must be a positive integer or zero' + ) } - if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); + if ( + bodyTimeout != null && + (!Number.isInteger(bodyTimeout) || bodyTimeout < 0) + ) { + throw new InvalidArgumentError( + 'bodyTimeout must be a positive integer or zero' + ) } - if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); + if ( + connect2 != null && + typeof connect2 !== 'function' && + typeof connect2 !== 'object' + ) { + throw new InvalidArgumentError( + 'connect must be a function or an object' + ) } - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); + if ( + maxRedirections != null && + (!Number.isInteger(maxRedirections) || maxRedirections < 0) + ) { + throw new InvalidArgumentError( + 'maxRedirections must be a positive number' + ) } - if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { - throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); + if ( + maxRequestsPerClient != null && + (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0) + ) { + throw new InvalidArgumentError( + 'maxRequestsPerClient must be a positive number' + ) } - if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { - throw new InvalidArgumentError("localAddress must be valid string IP address"); + if ( + localAddress != null && + (typeof localAddress !== 'string' || net.isIP(localAddress) === 0) + ) { + throw new InvalidArgumentError( + 'localAddress must be valid string IP address' + ) } - if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { - throw new InvalidArgumentError("maxResponseSize must be a positive number"); + if ( + maxResponseSize != null && + (!Number.isInteger(maxResponseSize) || maxResponseSize < -1) + ) { + throw new InvalidArgumentError( + 'maxResponseSize must be a positive number' + ) } - if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { - throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); + if ( + autoSelectFamilyAttemptTimeout != null && + (!Number.isInteger(autoSelectFamilyAttemptTimeout) || + autoSelectFamilyAttemptTimeout < -1) + ) { + throw new InvalidArgumentError( + 'autoSelectFamilyAttemptTimeout must be a positive number' + ) } - if (allowH2 != null && typeof allowH2 !== "boolean") { - throw new InvalidArgumentError("allowH2 must be a valid boolean value"); + if (allowH2 != null && typeof allowH2 !== 'boolean') { + throw new InvalidArgumentError( + 'allowH2 must be a valid boolean value' + ) } - if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); + if ( + maxConcurrentStreams != null && + (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1) + ) { + throw new InvalidArgumentError( + 'maxConcurrentStreams must be a possitive integer, greater than 0' + ) } - if (typeof connect2 !== "function") { + if (typeof connect2 !== 'function') { connect2 = buildConnector({ ...tls, maxCachedSessions, allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...(util.nodeHasAutoSelectFamily && autoSelectFamily + ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } + : void 0), ...connect2 - }); - } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; - this[kUrl] = util.parseOrigin(url); - this[kConnector] = connect2; - this[kSocket] = null; - this[kPipelining] = pipelining != null ? pipelining : 1; - this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; - this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; - this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; - this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; - this[kServerName] = null; - this[kLocalAddress] = localAddress != null ? localAddress : null; - this[kResuming] = 0; - this[kNeedDrain] = 0; - this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r -`; - this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; - this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; - this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; - this[kMaxRedirections] = maxRedirections; - this[kMaxRequests] = maxRequestsPerClient; - this[kClosedResolve] = null; - this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - // streams: null, // Fixed queue of streams - For future support of `push` - openStreams: 0, - // Keep track of them to decide wether or not unref the session - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - // Max peerConcurrentStreams for a Node h2 server - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; - this[kQueue] = []; - this[kRunningIdx] = 0; - this[kPendingIdx] = 0; + }) + } + this[kInterceptors] = + interceptors && + interceptors.Client && + Array.isArray(interceptors.Client) + ? interceptors.Client + : [createRedirectInterceptor({ maxRedirections })] + this[kUrl] = util.parseOrigin(url) + this[kConnector] = connect2 + this[kSocket] = null + this[kPipelining] = pipelining != null ? pipelining : 1 + this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize + this[kKeepAliveDefaultTimeout] = + keepAliveTimeout == null ? 4e3 : keepAliveTimeout + this[kKeepAliveMaxTimeout] = + keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout + this[kKeepAliveTimeoutThreshold] = + keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold + this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout] + this[kServerName] = null + this[kLocalAddress] = localAddress != null ? localAddress : null + this[kResuming] = 0 + this[kNeedDrain] = 0 + this[kHostHeader] = `host: ${this[kUrl].hostname}${ + this[kUrl].port ? `:${this[kUrl].port}` : '' + }\r +` + this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5 + this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5 + this[kStrictContentLength] = + strictContentLength == null ? true : strictContentLength + this[kMaxRedirections] = maxRedirections + this[kMaxRequests] = maxRequestsPerClient + this[kClosedResolve] = null + this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1 + this[kHTTPConnVersion] = 'h1' + this[kHTTP2Session] = null + this[kHTTP2SessionState] = !allowH2 + ? null + : { + // streams: null, // Fixed queue of streams - For future support of `push` + openStreams: 0, + // Keep track of them to decide wether or not unref the session + maxConcurrentStreams: + maxConcurrentStreams != null ? maxConcurrentStreams : 100 + // Max peerConcurrentStreams for a Node h2 server + } + this[kHost] = `${this[kUrl].hostname}${ + this[kUrl].port ? `:${this[kUrl].port}` : '' + }` + this[kQueue] = [] + this[kRunningIdx] = 0 + this[kPendingIdx] = 0 } get pipelining() { - return this[kPipelining]; + return this[kPipelining] } set pipelining(value) { - this[kPipelining] = value; - resume(this, true); + this[kPipelining] = value + resume(this, true) } get [kPending]() { - return this[kQueue].length - this[kPendingIdx]; + return this[kQueue].length - this[kPendingIdx] } get [kRunning]() { - return this[kPendingIdx] - this[kRunningIdx]; + return this[kPendingIdx] - this[kRunningIdx] } get [kSize]() { - return this[kQueue].length - this[kRunningIdx]; + return this[kQueue].length - this[kRunningIdx] } get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; + return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed } get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; + const socket = this[kSocket] + return ( + (socket && + (socket[kReset] || socket[kWriting] || socket[kBlocking])) || + this[kSize] >= (this[kPipelining] || 1) || + this[kPending] > 0 + ) } /* istanbul ignore: only used for test */ [kConnect](cb) { - connect(this); - this.once("connect", cb); + connect(this) + this.once('connect', cb) } [kDispatch](opts, handler) { - const origin = opts.origin || this[kUrl].origin; - const request = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler) : Request[kHTTP1BuildRequest](origin, opts, handler); - this[kQueue].push(request); + const origin = opts.origin || this[kUrl].origin + const request = + this[kHTTPConnVersion] === 'h2' + ? Request[kHTTP2BuildRequest](origin, opts, handler) + : Request[kHTTP1BuildRequest](origin, opts, handler) + this[kQueue].push(request) if (this[kResuming]) { - } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) { - this[kResuming] = 1; - process.nextTick(resume, this); + } else if ( + util.bodyLength(request.body) == null && + util.isIterable(request.body) + ) { + this[kResuming] = 1 + process.nextTick(resume, this) } else { - resume(this, true); + resume(this, true) } if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { - this[kNeedDrain] = 2; + this[kNeedDrain] = 2 } - return this[kNeedDrain] < 2; + return this[kNeedDrain] < 2 } async [kClose]() { return new Promise((resolve) => { if (!this[kSize]) { - resolve(null); + resolve(null) } else { - this[kClosedResolve] = resolve; + this[kClosedResolve] = resolve } - }); + }) } async [kDestroy](err) { return new Promise((resolve) => { - const requests = this[kQueue].splice(this[kPendingIdx]); + const requests = this[kQueue].splice(this[kPendingIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(this, request, err); + const request = requests[i] + errorRequest(this, request, err) } const callback = () => { if (this[kClosedResolve]) { - this[kClosedResolve](); - this[kClosedResolve] = null; + this[kClosedResolve]() + this[kClosedResolve] = null } - resolve(); - }; + resolve() + } if (this[kHTTP2Session] != null) { - util.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; + util.destroy(this[kHTTP2Session], err) + this[kHTTP2Session] = null + this[kHTTP2SessionState] = null } if (!this[kSocket]) { - queueMicrotask(callback); + queueMicrotask(callback) } else { - util.destroy(this[kSocket].on("close", callback), err); + util.destroy(this[kSocket].on('close', callback), err) } - resume(this); - }); + resume(this) + }) } - }; + } function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID') + this[kSocket][kError] = err + onError(this[kClient], err) } function onHttp2FrameError(type, code, id) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); + const err = new InformationalError( + `HTTP/2: "frameError" received - type ${type}, code ${code}` + ) if (id === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); + this[kSocket][kError] = err + onError(this[kClient], err) } } function onHttp2SessionEnd() { - util.destroy(this, new SocketError("other side closed")); - util.destroy(this[kSocket], new SocketError("other side closed")); + util.destroy(this, new SocketError('other side closed')) + util.destroy(this[kSocket], new SocketError('other side closed')) } function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; + const client = this[kClient] + const err = new InformationalError( + `HTTP/2: "GOAWAY" frame received with code ${code}` + ) + client[kSocket] = null + client[kHTTP2Session] = null if (client.destroyed) { - assert(this[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); + assert(this[kPending] === 0) + const requests = client[kQueue].splice(client[kRunningIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(this, request, err); + const request = requests[i] + errorRequest(this, request, err) } } else if (client[kRunning] > 0) { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants = require_constants6(); - var createRedirectInterceptor = require_redirectInterceptor2(); - var EMPTY_BUF = Buffer.alloc(0); + const request = client[kQueue][client[kRunningIdx]] + client[kQueue][client[kRunningIdx]++] = null + errorRequest(client, request, err) + } + client[kPendingIdx] = client[kRunningIdx] + assert(client[kRunning] === 0) + client.emit('disconnect', client[kUrl], [client], err) + resume(client) + } + var constants = require_constants6() + var createRedirectInterceptor = require_redirectInterceptor2() + var EMPTY_BUF = Buffer.alloc(0) async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0; - let mod; + const llhttpWasmData = process.env.JEST_WORKER_ID + ? require_llhttp_wasm2() + : void 0 + let mod try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64")); + mod = await WebAssembly.compile( + Buffer.from(require_llhttp_simd_wasm2(), 'base64') + ) } catch (e) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64")); + mod = await WebAssembly.compile( + Buffer.from(llhttpWasmData || require_llhttp_wasm2(), 'base64') + ) } return await WebAssembly.instantiate(mod, { env: { /* eslint-disable camelcase */ wasm_on_url: (p, at, len) => { - return 0; + return 0 }, wasm_on_status: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onStatus( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, wasm_on_message_begin: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageBegin() || 0; + assert.strictEqual(currentParser.ptr, p) + return currentParser.onMessageBegin() || 0 }, wasm_on_header_field: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onHeaderField( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, wasm_on_header_value: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onHeaderValue( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, - wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + wasm_on_headers_complete: ( + p, + statusCode, + upgrade, + shouldKeepAlive + ) => { + assert.strictEqual(currentParser.ptr, p) + return ( + currentParser.onHeadersComplete( + statusCode, + Boolean(upgrade), + Boolean(shouldKeepAlive) + ) || 0 + ) }, wasm_on_body: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + assert.strictEqual(currentParser.ptr, p) + const start = at - currentBufferPtr + currentBufferRef.byteOffset + return ( + currentParser.onBody( + new FastBuffer(currentBufferRef.buffer, start, len) + ) || 0 + ) }, wasm_on_message_complete: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageComplete() || 0; + assert.strictEqual(currentParser.ptr, p) + return currentParser.onMessageComplete() || 0 } /* eslint-enable camelcase */ } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; + }) + } + var llhttpInstance = null + var llhttpPromise = lazyllhttp() + llhttpPromise.catch() + var currentParser = null + var currentBufferRef = null + var currentBufferSize = 0 + var currentBufferPtr = null + var TIMEOUT_HEADERS = 1 + var TIMEOUT_BODY = 2 + var TIMEOUT_IDLE = 3 var Parser = class { constructor(client, socket, { exports: exports2 }) { - assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); - this.llhttp = exports2; - this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); - this.client = client; - this.socket = socket; - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.statusCode = null; - this.statusText = ""; - this.upgrade = false; - this.headers = []; - this.headersSize = 0; - this.headersMaxSize = client[kMaxHeadersSize]; - this.shouldKeepAlive = false; - this.paused = false; - this.resume = this.resume.bind(this); - this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; - this.maxResponseSize = client[kMaxResponseSize]; + assert( + Number.isFinite(client[kMaxHeadersSize]) && + client[kMaxHeadersSize] > 0 + ) + this.llhttp = exports2 + this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE) + this.client = client + this.socket = socket + this.timeout = null + this.timeoutValue = null + this.timeoutType = null + this.statusCode = null + this.statusText = '' + this.upgrade = false + this.headers = [] + this.headersSize = 0 + this.headersMaxSize = client[kMaxHeadersSize] + this.shouldKeepAlive = false + this.paused = false + this.resume = this.resume.bind(this) + this.bytesRead = 0 + this.keepAlive = '' + this.contentLength = '' + this.connection = '' + this.maxResponseSize = client[kMaxResponseSize] } setTimeout(value, type) { - this.timeoutType = type; + this.timeoutType = type if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); + timers.clearTimeout(this.timeout) if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); + this.timeout = timers.setTimeout(onParserTimeout, value, this) if (this.timeout.unref) { - this.timeout.unref(); + this.timeout.unref() } } else { - this.timeout = null; + this.timeout = null } - this.timeoutValue = value; + this.timeoutValue = value } else if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } } resume() { if (this.socket.destroyed || !this.paused) { - return; + return } - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_resume(this.ptr); - assert(this.timeoutType === TIMEOUT_BODY); + assert(this.ptr != null) + assert(currentParser == null) + this.llhttp.llhttp_resume(this.ptr) + assert(this.timeoutType === TIMEOUT_BODY) if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } - this.paused = false; - this.execute(this.socket.read() || EMPTY_BUF); - this.readMore(); + this.paused = false + this.execute(this.socket.read() || EMPTY_BUF) + this.readMore() } readMore() { while (!this.paused && this.ptr) { - const chunk = this.socket.read(); + const chunk = this.socket.read() if (chunk === null) { - break; + break } - this.execute(chunk); + this.execute(chunk) } } execute(data) { - assert(this.ptr != null); - assert(currentParser == null); - assert(!this.paused); - const { socket, llhttp } = this; + assert(this.ptr != null) + assert(currentParser == null) + assert(!this.paused) + const { socket, llhttp } = this if (data.length > currentBufferSize) { if (currentBufferPtr) { - llhttp.free(currentBufferPtr); + llhttp.free(currentBufferPtr) } - currentBufferSize = Math.ceil(data.length / 4096) * 4096; - currentBufferPtr = llhttp.malloc(currentBufferSize); + currentBufferSize = Math.ceil(data.length / 4096) * 4096 + currentBufferPtr = llhttp.malloc(currentBufferSize) } - new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + new Uint8Array( + llhttp.memory.buffer, + currentBufferPtr, + currentBufferSize + ).set(data) try { - let ret; + let ret try { - currentBufferRef = data; - currentParser = this; - ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); + currentBufferRef = data + currentParser = this + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length) } catch (err) { - throw err; + throw err } finally { - currentParser = null; - currentBufferRef = null; + currentParser = null + currentBufferRef = null } - const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + const offset = + llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr if (ret === constants.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); + this.onUpgrade(data.slice(offset)) } else if (ret === constants.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); + this.paused = true + socket.unshift(data.slice(offset)) } else if (ret !== constants.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; + const ptr = llhttp.llhttp_get_error_reason(this.ptr) + let message = '' if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0) + message = + 'Response does not match the HTTP/1.1 protocol (' + + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + + ')' } - throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); + throw new HTTPParserError( + message, + constants.ERROR[ret], + data.slice(offset) + ) } } catch (err) { - util.destroy(socket, err); + util.destroy(socket, err) } } destroy() { - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_free(this.ptr); - this.ptr = null; - timers.clearTimeout(this.timeout); - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.paused = false; + assert(this.ptr != null) + assert(currentParser == null) + this.llhttp.llhttp_free(this.ptr) + this.ptr = null + timers.clearTimeout(this.timeout) + this.timeout = null + this.timeoutValue = null + this.timeoutType = null + this.paused = false } onStatus(buf) { - this.statusText = buf.toString(); + this.statusText = buf.toString() } onMessageBegin() { - const { socket, client } = this; + const { socket, client } = this if (socket.destroyed) { - return -1; + return -1 } - const request = client[kQueue][client[kRunningIdx]]; + const request = client[kQueue][client[kRunningIdx]] if (!request) { - return -1; + return -1 } } onHeaderField(buf) { - const len = this.headers.length; + const len = this.headers.length if ((len & 1) === 0) { - this.headers.push(buf); + this.headers.push(buf) } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]) } - this.trackHeader(buf.length); + this.trackHeader(buf.length) } onHeaderValue(buf) { - let len = this.headers.length; + let len = this.headers.length if ((len & 1) === 1) { - this.headers.push(buf); - len += 1; + this.headers.push(buf) + len += 1 } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - const key = this.headers[len - 2]; - if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]) + } + const key = this.headers[len - 2] + if ( + key.length === 10 && + key.toString().toLowerCase() === 'keep-alive' + ) { + this.keepAlive += buf.toString() + } else if ( + key.length === 10 && + key.toString().toLowerCase() === 'connection' + ) { + this.connection += buf.toString() + } else if ( + key.length === 14 && + key.toString().toLowerCase() === 'content-length' + ) { + this.contentLength += buf.toString() + } + this.trackHeader(buf.length) } trackHeader(len) { - this.headersSize += len; + this.headersSize += len if (this.headersSize >= this.headersMaxSize) { - util.destroy(this.socket, new HeadersOverflowError()); + util.destroy(this.socket, new HeadersOverflowError()) } } onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request.upgrade || request.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); + const { upgrade, client, socket, headers, statusCode } = this + assert(upgrade) + const request = client[kQueue][client[kRunningIdx]] + assert(request) + assert(!socket.destroyed) + assert(socket === client[kSocket]) + assert(!this.paused) + assert(request.upgrade || request.method === 'CONNECT') + this.statusCode = null + this.statusText = '' + this.shouldKeepAlive = null + assert(this.headers.length % 2 === 0) + this.headers = [] + this.headersSize = 0 + socket.unshift(head) + socket[kParser].destroy() + socket[kParser] = null + socket[kClient] = null + socket[kError] = null + socket + .removeListener('error', onSocketError) + .removeListener('readable', onSocketReadable) + .removeListener('end', onSocketEnd) + .removeListener('close', onSocketClose) + client[kSocket] = null + client[kQueue][client[kRunningIdx]++] = null + client.emit( + 'disconnect', + client[kUrl], + [client], + new InformationalError('upgrade') + ) try { - request.onUpgrade(statusCode, headers, socket); + request.onUpgrade(statusCode, headers, socket) } catch (err) { - util.destroy(socket, err); + util.destroy(socket, err) } - resume(client); + resume(client) } onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { - const { client, socket, headers, statusText } = this; + const { client, socket, headers, statusText } = this if (socket.destroyed) { - return -1; + return -1 } - const request = client[kQueue][client[kRunningIdx]]; + const request = client[kQueue][client[kRunningIdx]] if (!request) { - return -1; + return -1 } - assert(!this.upgrade); - assert(this.statusCode < 200); + assert(!this.upgrade) + assert(this.statusCode < 200) if (statusCode === 100) { - util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); - return -1; + util.destroy( + socket, + new SocketError('bad response', util.getSocketInfo(socket)) + ) + return -1 } if (upgrade && !request.upgrade) { - util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); - return -1; - } - assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); - this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. - request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + util.destroy( + socket, + new SocketError('bad upgrade', util.getSocketInfo(socket)) + ) + return -1 + } + assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS) + this.statusCode = statusCode + this.shouldKeepAlive = + shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. + (request.method === 'HEAD' && + !socket[kReset] && + this.connection.toLowerCase() === 'keep-alive') if (this.statusCode >= 200) { - const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; - this.setTimeout(bodyTimeout, TIMEOUT_BODY); + const bodyTimeout = + request.bodyTimeout != null + ? request.bodyTimeout + : client[kBodyTimeout] + this.setTimeout(bodyTimeout, TIMEOUT_BODY) } else if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } - if (request.method === "CONNECT") { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; + if (request.method === 'CONNECT') { + assert(client[kRunning] === 1) + this.upgrade = true + return 2 } if (upgrade) { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; + assert(client[kRunning] === 1) + this.upgrade = true + return 2 } - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; + assert(this.headers.length % 2 === 0) + this.headers = [] + this.headersSize = 0 if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; + const keepAliveTimeout = this.keepAlive + ? util.parseKeepAliveTimeout(this.keepAlive) + : null if (keepAliveTimeout != null) { const timeout = Math.min( keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout] - ); + ) if (timeout <= 0) { - socket[kReset] = true; + socket[kReset] = true } else { - client[kKeepAliveTimeoutValue] = timeout; + client[kKeepAliveTimeoutValue] = timeout } } else { - client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout] } } else { - socket[kReset] = true; + socket[kReset] = true } - let pause; + let pause try { - pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; + pause = + request.onHeaders(statusCode, headers, this.resume, statusText) === + false } catch (err) { - util.destroy(socket, err); - return -1; + util.destroy(socket, err) + return -1 } - if (request.method === "HEAD") { - return 1; + if (request.method === 'HEAD') { + return 1 } if (statusCode < 200) { - return 1; + return 1 } if (socket[kBlocking]) { - socket[kBlocking] = false; - resume(client); + socket[kBlocking] = false + resume(client) } - return pause ? constants.ERROR.PAUSED : 0; + return pause ? constants.ERROR.PAUSED : 0 } onBody(buf) { - const { client, socket, statusCode, maxResponseSize } = this; + const { client, socket, statusCode, maxResponseSize } = this if (socket.destroyed) { - return -1; + return -1 } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert.strictEqual(this.timeoutType, TIMEOUT_BODY); + const request = client[kQueue][client[kRunningIdx]] + assert(request) + assert.strictEqual(this.timeoutType, TIMEOUT_BODY) if (this.timeout) { if (this.timeout.refresh) { - this.timeout.refresh(); + this.timeout.refresh() } } - assert(statusCode >= 200); - if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util.destroy(socket, new ResponseExceededMaxSizeError()); - return -1; + assert(statusCode >= 200) + if ( + maxResponseSize > -1 && + this.bytesRead + buf.length > maxResponseSize + ) { + util.destroy(socket, new ResponseExceededMaxSizeError()) + return -1 } - this.bytesRead += buf.length; + this.bytesRead += buf.length try { if (request.onData(buf) === false) { - return constants.ERROR.PAUSED; + return constants.ERROR.PAUSED } } catch (err) { - util.destroy(socket, err); - return -1; + util.destroy(socket, err) + return -1 } } onMessageComplete() { - const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; + const { + client, + socket, + statusCode, + upgrade, + headers, + contentLength, + bytesRead, + shouldKeepAlive + } = this if (socket.destroyed && (!statusCode || shouldKeepAlive)) { - return -1; + return -1 } if (upgrade) { - return; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; + return + } + const request = client[kQueue][client[kRunningIdx]] + assert(request) + assert(statusCode >= 100) + this.statusCode = null + this.statusText = '' + this.bytesRead = 0 + this.contentLength = '' + this.keepAlive = '' + this.connection = '' + assert(this.headers.length % 2 === 0) + this.headers = [] + this.headersSize = 0 if (statusCode < 200) { - return; + return } - if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util.destroy(socket, new ResponseContentLengthMismatchError()); - return -1; + if ( + request.method !== 'HEAD' && + contentLength && + bytesRead !== parseInt(contentLength, 10) + ) { + util.destroy(socket, new ResponseContentLengthMismatchError()) + return -1 } try { - request.onComplete(headers); + request.onComplete(headers) } catch (err) { - errorRequest(client, request, err); + errorRequest(client, request, err) } - client[kQueue][client[kRunningIdx]++] = null; + client[kQueue][client[kRunningIdx]++] = null if (socket[kWriting]) { - assert.strictEqual(client[kRunning], 0); - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; + assert.strictEqual(client[kRunning], 0) + util.destroy(socket, new InformationalError('reset')) + return constants.ERROR.PAUSED } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; + util.destroy(socket, new InformationalError('reset')) + return constants.ERROR.PAUSED } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; + util.destroy(socket, new InformationalError('reset')) + return constants.ERROR.PAUSED } else if (client[kPipelining] === 1) { - setImmediate(resume, client); + setImmediate(resume, client) } else { - resume(client); + resume(client) } } - }; + } function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; + const { socket, timeoutType, client } = parser if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util.destroy(socket, new HeadersTimeoutError()); + if ( + !socket[kWriting] || + socket.writableNeedDrain || + client[kRunning] > 1 + ) { + assert(!parser.paused, 'cannot be paused while waiting for headers') + util.destroy(socket, new HeadersTimeoutError()) } } else if (timeoutType === TIMEOUT_BODY) { if (!parser.paused) { - util.destroy(socket, new BodyTimeoutError()); + util.destroy(socket, new BodyTimeoutError()) } } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]) + util.destroy(socket, new InformationalError('socket idle timeout')) } } function onSocketReadable() { - const { [kParser]: parser } = this; + const { [kParser]: parser } = this if (parser) { - parser.readMore(); + parser.readMore() } } function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; + const { [kClient]: client, [kParser]: parser } = this + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID') + if (client[kHTTPConnVersion] !== 'h2') { + if ( + err.code === 'ECONNRESET' && + parser.statusCode && + !parser.shouldKeepAlive + ) { + parser.onMessageComplete() + return } } - this[kError] = err; - onError(this[kClient], err); + this[kError] = err + onError(this[kClient], err) } function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); + if ( + client[kRunning] === 0 && + err.code !== 'UND_ERR_INFO' && + err.code !== 'UND_ERR_SOCKET' + ) { + assert(client[kPendingIdx] === client[kRunningIdx]) + const requests = client[kQueue].splice(client[kRunningIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(client, request, err); + const request = requests[i] + errorRequest(client, request, err) } - assert(client[kSize] === 0); + assert(client[kSize] === 0) } } function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { + const { [kParser]: parser, [kClient]: client } = this + if (client[kHTTPConnVersion] !== 'h2') { if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; + parser.onMessageComplete() + return } } - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + util.destroy( + this, + new SocketError('other side closed', util.getSocketInfo(this)) + ) } function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && parser) { + const { [kClient]: client, [kParser]: parser } = this + if (client[kHTTPConnVersion] === 'h1' && parser) { if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + parser.onMessageComplete() } - this[kParser].destroy(); - this[kParser] = null; + this[kParser].destroy() + this[kParser] = null } - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); - client[kSocket] = null; + const err = + this[kError] || new SocketError('closed', util.getSocketInfo(this)) + client[kSocket] = null if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); + assert(client[kPending] === 0) + const requests = client[kQueue].splice(client[kRunningIdx]) for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(client, request, err); + const request = requests[i] + errorRequest(client, request, err) } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); + } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') { + const request = client[kQueue][client[kRunningIdx]] + client[kQueue][client[kRunningIdx]++] = null + errorRequest(client, request, err) } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); + client[kPendingIdx] = client[kRunningIdx] + assert(client[kRunning] === 0) + client.emit('disconnect', client[kUrl], [client], err) + resume(client) } async function connect(client) { - assert(!client[kConnecting]); - assert(!client[kSocket]); - let { host, hostname, protocol, port } = client[kUrl]; - if (hostname[0] === "[") { - const idx = hostname.indexOf("]"); - assert(idx !== -1); - const ip = hostname.substr(1, idx - 1); - assert(net.isIP(ip)); - hostname = ip; - } - client[kConnecting] = true; + assert(!client[kConnecting]) + assert(!client[kSocket]) + let { host, hostname, protocol, port } = client[kUrl] + if (hostname[0] === '[') { + const idx = hostname.indexOf(']') + assert(idx !== -1) + const ip = hostname.substr(1, idx - 1) + assert(net.isIP(ip)) + hostname = ip + } + client[kConnecting] = true if (channels.beforeConnect.hasSubscribers) { channels.beforeConnect.publish({ connectParams: { @@ -23978,72 +27493,85 @@ var require_client2 = __commonJS({ localAddress: client[kLocalAddress] }, connector: client[kConnector] - }); + }) } try { const socket = await new Promise((resolve, reject) => { - client[kConnector]({ - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, (err, socket2) => { - if (err) { - reject(err); - } else { - resolve(socket2); + client[kConnector]( + { + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + (err, socket2) => { + if (err) { + reject(err) + } else { + resolve(socket2) + } } - }); - }); + ) + }) if (client.destroyed) { - util.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); - return; + util.destroy( + socket.on('error', () => {}), + new ClientDestroyedError() + ) + return } - client[kConnecting] = false; - assert(socket); - const isH2 = socket.alpnProtocol === "h2"; + client[kConnecting] = false + assert(socket) + const isH2 = socket.alpnProtocol === 'h2' if (isH2) { if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); + h2ExperimentalWarned = true + process.emitWarning( + 'H2 support is experimental, expect them to change at any time.', + { + code: 'UNDICI-H2' + } + ) } const session = http2.connect(client[kUrl], { createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; + peerMaxConcurrentStreams: + client[kHTTP2SessionState].maxConcurrentStreams + }) + client[kHTTPConnVersion] = 'h2' + session[kClient] = client + session[kSocket] = socket + session.on('error', onHttp2SessionError) + session.on('frameError', onHttp2FrameError) + session.on('end', onHttp2SessionEnd) + session.on('goaway', onHTTP2GoAway) + session.on('close', onSocketClose) + session.unref() + client[kHTTP2Session] = session + socket[kHTTP2Session] = session } else { if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); - } - socket[kCounter] = 0; - socket[kMaxRequests] = client[kMaxRequests]; - socket[kClient] = client; - socket[kError] = null; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; + llhttpInstance = await llhttpPromise + llhttpPromise = null + } + socket[kNoRef] = false + socket[kWriting] = false + socket[kReset] = false + socket[kBlocking] = false + socket[kParser] = new Parser(client, socket, llhttpInstance) + } + socket[kCounter] = 0 + socket[kMaxRequests] = client[kMaxRequests] + socket[kClient] = client + socket[kError] = null + socket + .on('error', onSocketError) + .on('readable', onSocketReadable) + .on('end', onSocketEnd) + .on('close', onSocketClose) + client[kSocket] = socket if (channels.connected.hasSubscribers) { channels.connected.publish({ connectParams: { @@ -24056,14 +27584,14 @@ var require_client2 = __commonJS({ }, connector: client[kConnector], socket - }); + }) } - client.emit("connect", client[kUrl], [client]); + client.emit('connect', client[kUrl], [client]) } catch (err) { if (client.destroyed) { - return; + return } - client[kConnecting] = false; + client[kConnecting] = false if (channels.connectError.hasSubscribers) { channels.connectError.publish({ connectParams: { @@ -24076,386 +27604,499 @@ var require_client2 = __commonJS({ }, connector: client[kConnector], error: err - }); + }) } - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { - assert(client[kRunning] === 0); - while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { - const request = client[kQueue][client[kPendingIdx]++]; - errorRequest(client, request, err); + if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') { + assert(client[kRunning] === 0) + while ( + client[kPending] > 0 && + client[kQueue][client[kPendingIdx]].servername === + client[kServerName] + ) { + const request = client[kQueue][client[kPendingIdx]++] + errorRequest(client, request, err) } } else { - onError(client, err); + onError(client, err) } - client.emit("connectionError", client[kUrl], [client], err); + client.emit('connectionError', client[kUrl], [client], err) } - resume(client); + resume(client) } function emitDrain(client) { - client[kNeedDrain] = 0; - client.emit("drain", client[kUrl], [client]); + client[kNeedDrain] = 0 + client.emit('drain', client[kUrl], [client]) } function resume(client, sync) { if (client[kResuming] === 2) { - return; + return } - client[kResuming] = 2; - _resume(client, sync); - client[kResuming] = 0; + client[kResuming] = 2 + _resume(client, sync) + client[kResuming] = 0 if (client[kRunningIdx] > 256) { - client[kQueue].splice(0, client[kRunningIdx]); - client[kPendingIdx] -= client[kRunningIdx]; - client[kRunningIdx] = 0; + client[kQueue].splice(0, client[kRunningIdx]) + client[kPendingIdx] -= client[kRunningIdx] + client[kRunningIdx] = 0 } } function _resume(client, sync) { while (true) { if (client.destroyed) { - assert(client[kPending] === 0); - return; + assert(client[kPending] === 0) + return } if (client[kClosedResolve] && !client[kSize]) { - client[kClosedResolve](); - client[kClosedResolve] = null; - return; + client[kClosedResolve]() + client[kClosedResolve] = null + return } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { + const socket = client[kSocket] + if (socket && !socket.destroyed && socket.alpnProtocol !== 'h2') { if (client[kSize] === 0) { if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; + socket.unref() + socket[kNoRef] = true } } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; + socket.ref() + socket[kNoRef] = false } if (client[kSize] === 0) { if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); + socket[kParser].setTimeout( + client[kKeepAliveTimeoutValue], + TIMEOUT_IDLE + ) } } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request2 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); + const request2 = client[kQueue][client[kRunningIdx]] + const headersTimeout = + request2.headersTimeout != null + ? request2.headersTimeout + : client[kHeadersTimeout] + socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS) } } } if (client[kBusy]) { - client[kNeedDrain] = 2; + client[kNeedDrain] = 2 } else if (client[kNeedDrain] === 2) { if (sync) { - client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); + client[kNeedDrain] = 1 + process.nextTick(emitDrain, client) } else { - emitDrain(client); + emitDrain(client) } - continue; + continue } if (client[kPending] === 0) { - return; + return } if (client[kRunning] >= (client[kPipelining] || 1)) { - return; + return } - const request = client[kQueue][client[kPendingIdx]]; - if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { + const request = client[kQueue][client[kPendingIdx]] + if ( + client[kUrl].protocol === 'https:' && + client[kServerName] !== request.servername + ) { if (client[kRunning] > 0) { - return; + return } - client[kServerName] = request.servername; + client[kServerName] = request.servername if (socket && socket.servername !== request.servername) { - util.destroy(socket, new InformationalError("servername changed")); - return; + util.destroy(socket, new InformationalError('servername changed')) + return } } if (client[kConnecting]) { - return; + return } if (!socket && !client[kHTTP2Session]) { - connect(client); - return; + connect(client) + return } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; + if ( + socket.destroyed || + socket[kWriting] || + socket[kReset] || + socket[kBlocking] + ) { + return } if (client[kRunning] > 0 && !request.idempotent) { - return; - } - if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { - return; - } - if (util.isStream(request.body) && util.bodyLength(request.body) === 0) { - request.body.on( - "data", - /* istanbul ignore next */ - function() { - assert(false); - } - ).on("error", function(err) { - errorRequest(client, request, err); - }).on("end", function() { - util.destroy(this); - }); - request.body = null; - } - if (client[kRunning] > 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) { - return; + return + } + if ( + client[kRunning] > 0 && + (request.upgrade || request.method === 'CONNECT') + ) { + return + } + if ( + util.isStream(request.body) && + util.bodyLength(request.body) === 0 + ) { + request.body + .on( + 'data', + /* istanbul ignore next */ + function () { + assert(false) + } + ) + .on('error', function (err) { + errorRequest(client, request, err) + }) + .on('end', function () { + util.destroy(this) + }) + request.body = null + } + if ( + client[kRunning] > 0 && + (util.isStream(request.body) || util.isAsyncIterable(request.body)) + ) { + return } if (!request.aborted && write(client, request)) { - client[kPendingIdx]++; + client[kPendingIdx]++ } else { - client[kQueue].splice(client[kPendingIdx], 1); + client[kQueue].splice(client[kPendingIdx], 1) } } } function write(client, request) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request); - return; - } - const { body, method, path, host, upgrade, headers, blocking, reset } = request; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util.bodyLength(body); + if (client[kHTTPConnVersion] === 'h2') { + writeH2(client, client[kHTTP2Session], request) + return + } + const { body, method, path, host, upgrade, headers, blocking, reset } = + request + const expectsPayload = + method === 'PUT' || method === 'POST' || method === 'PATCH' + if (body && typeof body.read === 'function') { + body.read(0) + } + let contentLength = util.bodyLength(body) if (contentLength === null) { - contentLength = request.contentLength; + contentLength = request.contentLength } if (contentLength === 0 && !expectsPayload) { - contentLength = null; + contentLength = null } - if (request.contentLength !== null && request.contentLength !== contentLength) { + if ( + request.contentLength !== null && + request.contentLength !== contentLength + ) { if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; + errorRequest(client, request, new RequestContentLengthMismatchError()) + return false } - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } - const socket = client[kSocket]; + const socket = client[kSocket] try { request.onConnect((err) => { if (request.aborted || request.completed) { - return; + return } - errorRequest(client, request, err || new RequestAbortedError()); - util.destroy(socket, new InformationalError("aborted")); - }); + errorRequest(client, request, err || new RequestAbortedError()) + util.destroy(socket, new InformationalError('aborted')) + }) } catch (err) { - errorRequest(client, request, err); + errorRequest(client, request, err) } if (request.aborted) { - return false; + return false } - if (method === "HEAD") { - socket[kReset] = true; + if (method === 'HEAD') { + socket[kReset] = true } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; + if (upgrade || method === 'CONNECT') { + socket[kReset] = true } if (reset != null) { - socket[kReset] = reset; + socket[kReset] = reset } if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; + socket[kReset] = true } if (blocking) { - socket[kBlocking] = true; + socket[kBlocking] = true } let header = `${method} ${path} HTTP/1.1\r -`; - if (typeof host === "string") { +` + if (typeof host === 'string') { header += `host: ${host}\r -`; +` } else { - header += client[kHostHeader]; + header += client[kHostHeader] } if (upgrade) { header += `connection: upgrade\r upgrade: ${upgrade}\r -`; +` } else if (client[kPipelining] && !socket[kReset]) { - header += "connection: keep-alive\r\n"; + header += 'connection: keep-alive\r\n' } else { - header += "connection: close\r\n"; + header += 'connection: close\r\n' } if (headers) { - header += headers; + header += headers } if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request, headers: header, socket }); + channels.sendHeaders.publish({ request, headers: header, socket }) } if (!body) { if (contentLength === 0) { - socket.write(`${header}content-length: 0\r + socket.write( + `${header}content-length: 0\r \r -`, "latin1"); +`, + 'latin1' + ) } else { - assert(contentLength === null, "no body must not have content length"); - socket.write(`${header}\r -`, "latin1"); + assert(contentLength === null, 'no body must not have content length') + socket.write( + `${header}\r +`, + 'latin1' + ) } - request.onRequestSent(); + request.onRequestSent() } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r + assert( + contentLength === body.byteLength, + 'buffer body must have content length' + ) + socket.cork() + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); - socket.write(body); - socket.uncork(); - request.onBodySent(body); - request.onRequestSent(); +`, + 'latin1' + ) + socket.write(body) + socket.uncork() + request.onBodySent(body) + request.onRequestSent() if (!expectsPayload) { - socket[kReset] = true; + socket[kReset] = true } } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); + if (typeof body.stream === 'function') { + writeIterable({ + body: body.stream(), + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } else { - writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); + writeBlob({ + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } } else if (util.isStream(body)) { - writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); + writeStream({ + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } else if (util.isIterable(body)) { - writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); + writeIterable({ + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) } else { - assert(false); + assert(false) } - return true; + return true } function writeH2(client, session, request) { - const { body, method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; - let headers; - if (typeof reqHeaders === "string") - headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); - else - headers = reqHeaders; + const { + body, + method, + path, + host, + upgrade, + expectContinue, + signal, + headers: reqHeaders + } = request + let headers + if (typeof reqHeaders === 'string') + headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()) + else headers = reqHeaders if (upgrade) { - errorRequest(client, request, new Error("Upgrade not supported for H2")); - return false; + errorRequest(client, request, new Error('Upgrade not supported for H2')) + return false } try { request.onConnect((err) => { if (request.aborted || request.completed) { - return; + return } - errorRequest(client, request, err || new RequestAbortedError()); - }); + errorRequest(client, request, err || new RequestAbortedError()) + }) } catch (err) { - errorRequest(client, request, err); + errorRequest(client, request, err) } if (request.aborted) { - return false; - } - let stream; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream = session.request(headers, { endStream: false, signal }); + return false + } + let stream + const h2State = client[kHTTP2SessionState] + headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost] + headers[HTTP2_HEADER_METHOD] = method + if (method === 'CONNECT') { + session.ref() + stream = session.request(headers, { endStream: false, signal }) if (stream.id && !stream.pending) { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; + request.onUpgrade(null, null, stream) + ++h2State.openStreams } else { - stream.once("ready", () => { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; - }); - } - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) - session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util.bodyLength(body); + stream.once('ready', () => { + request.onUpgrade(null, null, stream) + ++h2State.openStreams + }) + } + stream.once('close', () => { + h2State.openStreams -= 1 + if (h2State.openStreams === 0) session.unref() + }) + return true + } + headers[HTTP2_HEADER_PATH] = path + headers[HTTP2_HEADER_SCHEME] = 'https' + const expectsPayload = + method === 'PUT' || method === 'POST' || method === 'PATCH' + if (body && typeof body.read === 'function') { + body.read(0) + } + let contentLength = util.bodyLength(body) if (contentLength == null) { - contentLength = request.contentLength; + contentLength = request.contentLength } if (contentLength === 0 || !expectsPayload) { - contentLength = null; + contentLength = null } - if (request.contentLength != null && request.contentLength !== contentLength) { + if ( + request.contentLength != null && + request.contentLength !== contentLength + ) { if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; + errorRequest(client, request, new RequestContentLengthMismatchError()) + return false } - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + assert(body, 'no body must not have content length') + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}` } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; + session.ref() + const shouldEndStream = method === 'GET' || method === 'HEAD' if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); + headers[HTTP2_HEADER_EXPECT] = '100-continue' + stream = session.request(headers, { + endStream: shouldEndStream, + signal + }) + stream.once('continue', writeBodyH2) } else { stream = session.request(headers, { endStream: shouldEndStream, signal - }); - writeBodyH2(); - } - ++h2State.openStreams; - stream.once("response", (headers2) => { - if (request.onHeaders(Number(headers2[HTTP2_HEADER_STATUS]), headers2, stream.resume.bind(stream), "") === false) { - stream.pause(); - } - }); - stream.once("end", () => { - request.onComplete([]); - }); - stream.on("data", (chunk) => { - if (request.onData(chunk) === false) - stream.pause(); - }); - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) - session.unref(); - }); - stream.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - stream.once("frameError", (type, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - errorRequest(client, request, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - return true; + }) + writeBodyH2() + } + ++h2State.openStreams + stream.once('response', (headers2) => { + if ( + request.onHeaders( + Number(headers2[HTTP2_HEADER_STATUS]), + headers2, + stream.resume.bind(stream), + '' + ) === false + ) { + stream.pause() + } + }) + stream.once('end', () => { + request.onComplete([]) + }) + stream.on('data', (chunk) => { + if (request.onData(chunk) === false) stream.pause() + }) + stream.once('close', () => { + h2State.openStreams -= 1 + if (h2State.openStreams === 0) session.unref() + }) + stream.once('error', function (err) { + if ( + client[kHTTP2Session] && + !client[kHTTP2Session].destroyed && + !this.closed && + !this.destroyed + ) { + h2State.streams -= 1 + util.destroy(stream, err) + } + }) + stream.once('frameError', (type, code) => { + const err = new InformationalError( + `HTTP/2: "frameError" received - type ${type}, code ${code}` + ) + errorRequest(client, request, err) + if ( + client[kHTTP2Session] && + !client[kHTTP2Session].destroyed && + !this.closed && + !this.destroyed + ) { + h2State.streams -= 1 + util.destroy(stream, err) + } + }) + return true function writeBodyH2() { if (!body) { - request.onRequestSent(); + request.onRequestSent() } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream.cork(); - stream.write(body); - stream.uncork(); - stream.end(); - request.onBodySent(body); - request.onRequestSent(); + assert( + contentLength === body.byteLength, + 'buffer body must have content length' + ) + stream.cork() + stream.write(body) + stream.uncork() + stream.end() + request.onBodySent(body) + request.onRequestSent() } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { + if (typeof body.stream === 'function') { writeIterable({ client, request, @@ -24464,8 +28105,8 @@ upgrade: ${upgrade}\r expectsPayload, body: body.stream(), socket: client[kSocket], - header: "" - }); + header: '' + }) } else { writeBlob({ body, @@ -24474,9 +28115,9 @@ upgrade: ${upgrade}\r contentLength, expectsPayload, h2stream: stream, - header: "", + header: '', socket: client[kSocket] - }); + }) } } else if (util.isStream(body)) { writeStream({ @@ -24487,8 +28128,8 @@ upgrade: ${upgrade}\r expectsPayload, socket: client[kSocket], h2stream: stream, - header: "" - }); + header: '' + }) } else if (util.isIterable(body)) { writeIterable({ body, @@ -24496,532 +28137,668 @@ upgrade: ${upgrade}\r request, contentLength, expectsPayload, - header: "", + header: '', h2stream: stream, socket: client[kSocket] - }); + }) } else { - assert(false); + assert(false) } } } - function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util.destroy(body, err); - util.destroy(h2stream, err); - } else { - request.onRequestSent(); - } + function writeStream({ + h2stream, + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) { + assert( + contentLength !== 0 || client[kRunning] === 0, + 'stream body cannot be pipelined' + ) + if (client[kHTTPConnVersion] === 'h2') { + let onPipeData = function (chunk) { + request.onBodySent(chunk) + } + const pipe = pipeline(body, h2stream, (err) => { + if (err) { + util.destroy(body, err) + util.destroy(h2stream, err) + } else { + request.onRequestSent() } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util.destroy(pipe); - }); - return; + }) + pipe.on('data', onPipeData) + pipe.once('end', () => { + pipe.removeListener('data', onPipeData) + util.destroy(pipe) + }) + return } - let finished = false; - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { + let finished = false + const writer = new AsyncWriter({ + socket, + request, + contentLength, + client, + expectsPayload, + header + }) + const onData = function (chunk) { if (finished) { - return; + return } try { if (!writer.write(chunk) && this.pause) { - this.pause(); + this.pause() } } catch (err) { - util.destroy(this, err); + util.destroy(this, err) } - }; - const onDrain = function() { + } + const onDrain = function () { if (finished) { - return; + return } if (body.resume) { - body.resume(); + body.resume() } - }; - const onAbort = function() { - onFinished(new RequestAbortedError()); - }; - const onFinished = function(err) { + } + const onAbort = function () { + onFinished(new RequestAbortedError()) + } + const onFinished = function (err) { if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); + return + } + finished = true + assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1)) + socket.off('drain', onDrain).off('error', onFinished) + body + .removeListener('data', onData) + .removeListener('end', onFinished) + .removeListener('error', onFinished) + .removeListener('close', onAbort) if (!err) { try { - writer.end(); + writer.end() } catch (er) { - err = er; + err = er } } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util.destroy(body, err); + writer.destroy(err) + if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) { + util.destroy(body, err) } else { - util.destroy(body); + util.destroy(body) } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); + } + body + .on('data', onData) + .on('end', onFinished) + .on('error', onFinished) + .on('close', onAbort) if (body.resume) { - body.resume(); + body.resume() } - socket.on("drain", onDrain).on("error", onFinished); + socket.on('drain', onDrain).on('error', onFinished) } - async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; + async function writeBlob({ + h2stream, + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) { + assert(contentLength === body.size, 'blob body must have content length') + const isH2 = client[kHTTPConnVersion] === 'h2' try { if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); + throw new RequestContentLengthMismatchError() } - const buffer = Buffer.from(await body.arrayBuffer()); + const buffer = Buffer.from(await body.arrayBuffer()) if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); + h2stream.cork() + h2stream.write(buffer) + h2stream.uncork() } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r + socket.cork() + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); - socket.write(buffer); - socket.uncork(); +`, + 'latin1' + ) + socket.write(buffer) + socket.uncork() } - request.onBodySent(buffer); - request.onRequestSent(); + request.onBodySent(buffer) + request.onRequestSent() if (!expectsPayload) { - socket[kReset] = true; + socket[kReset] = true } - resume(client); + resume(client) } catch (err) { - util.destroy(isH2 ? h2stream : socket, err); + util.destroy(isH2 ? h2stream : socket, err) } } - async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); - let callback = null; + async function writeIterable({ + h2stream, + body, + client, + request, + socket, + contentLength, + header, + expectsPayload + }) { + assert( + contentLength !== 0 || client[kRunning] === 0, + 'iterator body cannot be pipelined' + ) + let callback = null function onDrain() { if (callback) { - const cb = callback; - callback = null; - cb(); + const cb = callback + callback = null + cb() } } - const waitForDrain = () => new Promise((resolve, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); + const waitForDrain = () => + new Promise((resolve, reject) => { + assert(callback === null) + if (socket[kError]) { + reject(socket[kError]) + } else { + callback = resolve + } + }) + if (client[kHTTPConnVersion] === 'h2') { + h2stream.on('close', onDrain).on('drain', onDrain) try { for await (const chunk of body) { if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } - const res = h2stream.write(chunk); - request.onBodySent(chunk); + const res = h2stream.write(chunk) + request.onBodySent(chunk) if (!res) { - await waitForDrain(); + await waitForDrain() } } } catch (err) { - h2stream.destroy(err); + h2stream.destroy(err) } finally { - request.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); + request.onRequestSent() + h2stream.end() + h2stream.off('close', onDrain).off('drain', onDrain) } - return; + return } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); + socket.on('close', onDrain).on('drain', onDrain) + const writer = new AsyncWriter({ + socket, + request, + contentLength, + client, + expectsPayload, + header + }) try { for await (const chunk of body) { if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } if (!writer.write(chunk)) { - await waitForDrain(); + await waitForDrain() } } - writer.end(); + writer.end() } catch (err) { - writer.destroy(err); + writer.destroy(err) } finally { - socket.off("close", onDrain).off("drain", onDrain); + socket.off('close', onDrain).off('drain', onDrain) } } var AsyncWriter = class { - constructor({ socket, request, contentLength, client, expectsPayload, header }) { - this.socket = socket; - this.request = request; - this.contentLength = contentLength; - this.client = client; - this.bytesWritten = 0; - this.expectsPayload = expectsPayload; - this.header = header; - socket[kWriting] = true; + constructor({ + socket, + request, + contentLength, + client, + expectsPayload, + header + }) { + this.socket = socket + this.request = request + this.contentLength = contentLength + this.client = client + this.bytesWritten = 0 + this.expectsPayload = expectsPayload + this.header = header + socket[kWriting] = true } write(chunk) { - const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this; + const { + socket, + request, + contentLength, + client, + bytesWritten, + expectsPayload, + header + } = this if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } if (socket.destroyed) { - return false; + return false } - const len = Buffer.byteLength(chunk); + const len = Buffer.byteLength(chunk) if (!len) { - return true; + return true } if (contentLength !== null && bytesWritten + len > contentLength) { if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); + throw new RequestContentLengthMismatchError() } - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } - socket.cork(); + socket.cork() if (bytesWritten === 0) { if (!expectsPayload) { - socket[kReset] = true; + socket[kReset] = true } if (contentLength === null) { - socket.write(`${header}transfer-encoding: chunked\r -`, "latin1"); + socket.write( + `${header}transfer-encoding: chunked\r +`, + 'latin1' + ) } else { - socket.write(`${header}content-length: ${contentLength}\r + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); +`, + 'latin1' + ) } } if (contentLength === null) { - socket.write(`\r + socket.write( + `\r ${len.toString(16)}\r -`, "latin1"); +`, + 'latin1' + ) } - this.bytesWritten += len; - const ret = socket.write(chunk); - socket.uncork(); - request.onBodySent(chunk); + this.bytesWritten += len + const ret = socket.write(chunk) + socket.uncork() + request.onBodySent(chunk) if (!ret) { - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if ( + socket[kParser].timeout && + socket[kParser].timeoutType === TIMEOUT_HEADERS + ) { if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); + socket[kParser].timeout.refresh() } } } - return ret; + return ret } end() { - const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this; - request.onRequestSent(); - socket[kWriting] = false; + const { + socket, + contentLength, + client, + bytesWritten, + expectsPayload, + header, + request + } = this + request.onRequestSent() + socket[kWriting] = false if (socket[kError]) { - throw socket[kError]; + throw socket[kError] } if (socket.destroyed) { - return; + return } if (bytesWritten === 0) { if (expectsPayload) { - socket.write(`${header}content-length: 0\r + socket.write( + `${header}content-length: 0\r \r -`, "latin1"); +`, + 'latin1' + ) } else { - socket.write(`${header}\r -`, "latin1"); + socket.write( + `${header}\r +`, + 'latin1' + ) } } else if (contentLength === null) { - socket.write("\r\n0\r\n\r\n", "latin1"); + socket.write('\r\n0\r\n\r\n', 'latin1') } if (contentLength !== null && bytesWritten !== contentLength) { if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); + throw new RequestContentLengthMismatchError() } else { - process.emitWarning(new RequestContentLengthMismatchError()); + process.emitWarning(new RequestContentLengthMismatchError()) } } - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if ( + socket[kParser].timeout && + socket[kParser].timeoutType === TIMEOUT_HEADERS + ) { if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); + socket[kParser].timeout.refresh() } } - resume(client); + resume(client) } destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; + const { socket, client } = this + socket[kWriting] = false if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util.destroy(socket, err); + assert( + client[kRunning] <= 1, + 'pipeline should only contain this request' + ) + util.destroy(socket, err) } } - }; + } function errorRequest(client, request, err) { try { - request.onError(err); - assert(request.aborted); + request.onError(err) + assert(request.aborted) } catch (err2) { - client.emit("error", err2); + client.emit('error', err2) } } - module2.exports = Client; + module2.exports = Client } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/node/fixed-queue.js var require_fixed_queue2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/node/fixed-queue.js"(exports, module2) { - "use strict"; - var kSize = 2048; - var kMask = kSize - 1; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/node/fixed-queue.js'( + exports, + module2 + ) { + 'use strict' + var kSize = 2048 + var kMask = kSize - 1 var FixedCircularBuffer = class { constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; + this.bottom = 0 + this.top = 0 + this.list = new Array(kSize) + this.next = null } isEmpty() { - return this.top === this.bottom; + return this.top === this.bottom } isFull() { - return (this.top + 1 & kMask) === this.bottom; + return ((this.top + 1) & kMask) === this.bottom } push(data) { - this.list[this.top] = data; - this.top = this.top + 1 & kMask; + this.list[this.top] = data + this.top = (this.top + 1) & kMask } shift() { - const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; - this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; - return nextItem; - } - }; + const nextItem = this.list[this.bottom] + if (nextItem === void 0) return null + this.list[this.bottom] = void 0 + this.bottom = (this.bottom + 1) & kMask + return nextItem + } + } module2.exports = class FixedQueue { constructor() { - this.head = this.tail = new FixedCircularBuffer(); + this.head = this.tail = new FixedCircularBuffer() } isEmpty() { - return this.head.isEmpty(); + return this.head.isEmpty() } push(data) { if (this.head.isFull()) { - this.head = this.head.next = new FixedCircularBuffer(); + this.head = this.head.next = new FixedCircularBuffer() } - this.head.push(data); + this.head.push(data) } shift() { - const tail = this.tail; - const next = tail.shift(); + const tail = this.tail + const next = tail.shift() if (tail.isEmpty() && tail.next !== null) { - this.tail = tail.next; + this.tail = tail.next } - return next; + return next } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool-stats.js var require_pool_stats2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool-stats.js"(exports, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6(); - var kPool = Symbol("pool"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool-stats.js'( + exports, + module2 + ) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = + require_symbols6() + var kPool = Symbol('pool') var PoolStats = class { constructor(pool) { - this[kPool] = pool; + this[kPool] = pool } get connected() { - return this[kPool][kConnected]; + return this[kPool][kConnected] } get free() { - return this[kPool][kFree]; + return this[kPool][kFree] } get pending() { - return this[kPool][kPending]; + return this[kPool][kPending] } get queued() { - return this[kPool][kQueued]; + return this[kPool][kQueued] } get running() { - return this[kPool][kRunning]; + return this[kPool][kRunning] } get size() { - return this[kPool][kSize]; + return this[kPool][kSize] } - }; - module2.exports = PoolStats; + } + module2.exports = PoolStats } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool-base.js var require_pool_base2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool-base.js"(exports, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base2(); - var FixedQueue = require_fixed_queue2(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6(); - var PoolStats = require_pool_stats2(); - var kClients = Symbol("clients"); - var kNeedDrain = Symbol("needDrain"); - var kQueue = Symbol("queue"); - var kClosedResolve = Symbol("closed resolve"); - var kOnDrain = Symbol("onDrain"); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kGetDispatcher = Symbol("get dispatcher"); - var kAddClient = Symbol("add client"); - var kRemoveClient = Symbol("remove client"); - var kStats = Symbol("stats"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool-base.js'( + exports, + module2 + ) { + 'use strict' + var DispatcherBase = require_dispatcher_base2() + var FixedQueue = require_fixed_queue2() + var { + kConnected, + kSize, + kRunning, + kPending, + kQueued, + kBusy, + kFree, + kUrl, + kClose, + kDestroy, + kDispatch + } = require_symbols6() + var PoolStats = require_pool_stats2() + var kClients = Symbol('clients') + var kNeedDrain = Symbol('needDrain') + var kQueue = Symbol('queue') + var kClosedResolve = Symbol('closed resolve') + var kOnDrain = Symbol('onDrain') + var kOnConnect = Symbol('onConnect') + var kOnDisconnect = Symbol('onDisconnect') + var kOnConnectionError = Symbol('onConnectionError') + var kGetDispatcher = Symbol('get dispatcher') + var kAddClient = Symbol('add client') + var kRemoveClient = Symbol('remove client') + var kStats = Symbol('stats') var PoolBase = class extends DispatcherBase { constructor() { - super(); - this[kQueue] = new FixedQueue(); - this[kClients] = []; - this[kQueued] = 0; - const pool = this; + super() + this[kQueue] = new FixedQueue() + this[kClients] = [] + this[kQueued] = 0 + const pool = this this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; - let needDrain = false; + const queue = pool[kQueue] + let needDrain = false while (!needDrain) { - const item = queue.shift(); + const item = queue.shift() if (!item) { - break; + break } - pool[kQueued]--; - needDrain = !this.dispatch(item.opts, item.handler); + pool[kQueued]-- + needDrain = !this.dispatch(item.opts, item.handler) } - this[kNeedDrain] = needDrain; + this[kNeedDrain] = needDrain if (!this[kNeedDrain] && pool[kNeedDrain]) { - pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); + pool[kNeedDrain] = false + pool.emit('drain', origin, [pool, ...targets]) } if (pool[kClosedResolve] && queue.isEmpty()) { - Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]); + Promise.all(pool[kClients].map((c) => c.close())).then( + pool[kClosedResolve] + ) } - }; + } this[kOnConnect] = (origin, targets) => { - pool.emit("connect", origin, [pool, ...targets]); - }; + pool.emit('connect', origin, [pool, ...targets]) + } this[kOnDisconnect] = (origin, targets, err) => { - pool.emit("disconnect", origin, [pool, ...targets], err); - }; + pool.emit('disconnect', origin, [pool, ...targets], err) + } this[kOnConnectionError] = (origin, targets, err) => { - pool.emit("connectionError", origin, [pool, ...targets], err); - }; - this[kStats] = new PoolStats(this); + pool.emit('connectionError', origin, [pool, ...targets], err) + } + this[kStats] = new PoolStats(this) } get [kBusy]() { - return this[kNeedDrain]; + return this[kNeedDrain] } get [kConnected]() { - return this[kClients].filter((client) => client[kConnected]).length; + return this[kClients].filter((client) => client[kConnected]).length } get [kFree]() { - return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; + return this[kClients].filter( + (client) => client[kConnected] && !client[kNeedDrain] + ).length } get [kPending]() { - let ret = this[kQueued]; + let ret = this[kQueued] for (const { [kPending]: pending } of this[kClients]) { - ret += pending; + ret += pending } - return ret; + return ret } get [kRunning]() { - let ret = 0; + let ret = 0 for (const { [kRunning]: running } of this[kClients]) { - ret += running; + ret += running } - return ret; + return ret } get [kSize]() { - let ret = this[kQueued]; + let ret = this[kQueued] for (const { [kSize]: size } of this[kClients]) { - ret += size; + ret += size } - return ret; + return ret } get stats() { - return this[kStats]; + return this[kStats] } async [kClose]() { if (this[kQueue].isEmpty()) { - return Promise.all(this[kClients].map((c) => c.close())); + return Promise.all(this[kClients].map((c) => c.close())) } else { return new Promise((resolve) => { - this[kClosedResolve] = resolve; - }); + this[kClosedResolve] = resolve + }) } } async [kDestroy](err) { while (true) { - const item = this[kQueue].shift(); + const item = this[kQueue].shift() if (!item) { - break; + break } - item.handler.onError(err); + item.handler.onError(err) } - return Promise.all(this[kClients].map((c) => c.destroy(err))); + return Promise.all(this[kClients].map((c) => c.destroy(err))) } [kDispatch](opts, handler) { - const dispatcher = this[kGetDispatcher](); + const dispatcher = this[kGetDispatcher]() if (!dispatcher) { - this[kNeedDrain] = true; - this[kQueue].push({ opts, handler }); - this[kQueued]++; + this[kNeedDrain] = true + this[kQueue].push({ opts, handler }) + this[kQueued]++ } else if (!dispatcher.dispatch(opts, handler)) { - dispatcher[kNeedDrain] = true; - this[kNeedDrain] = !this[kGetDispatcher](); + dispatcher[kNeedDrain] = true + this[kNeedDrain] = !this[kGetDispatcher]() } - return !this[kNeedDrain]; + return !this[kNeedDrain] } [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].push(client); + client + .on('drain', this[kOnDrain]) + .on('connect', this[kOnConnect]) + .on('disconnect', this[kOnDisconnect]) + .on('connectionError', this[kOnConnectionError]) + this[kClients].push(client) if (this[kNeedDrain]) { process.nextTick(() => { if (this[kNeedDrain]) { - this[kOnDrain](client[kUrl], [this, client]); + this[kOnDrain](client[kUrl], [this, client]) } - }); + }) } - return this; + return this } [kRemoveClient](client) { client.close(() => { - const idx = this[kClients].indexOf(client); + const idx = this[kClients].indexOf(client) if (idx !== -1) { - this[kClients].splice(idx, 1); + this[kClients].splice(idx, 1) } - }); - this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); + }) + this[kNeedDrain] = this[kClients].some( + (dispatcher) => + !dispatcher[kNeedDrain] && + dispatcher.closed !== true && + dispatcher.destroyed !== true + ) } - }; + } module2.exports = { PoolBase, kClients, @@ -25029,100 +28806,120 @@ var require_pool_base2 = __commonJS({ kAddClient, kRemoveClient, kGetDispatcher - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool.js var require_pool2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool.js"(exports, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base2(); - var Client = require_client2(); - var { - InvalidArgumentError - } = require_errors2(); - var util = require_util8(); - var { kUrl, kInterceptors } = require_symbols6(); - var buildConnector = require_connect2(); - var kOptions = Symbol("options"); - var kConnections = Symbol("connections"); - var kFactory = Symbol("factory"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/pool.js'( + exports, + module2 + ) { + 'use strict' + var { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher } = + require_pool_base2() + var Client = require_client2() + var { InvalidArgumentError } = require_errors2() + var util = require_util8() + var { kUrl, kInterceptors } = require_symbols6() + var buildConnector = require_connect2() + var kOptions = Symbol('options') + var kConnections = Symbol('connections') + var kFactory = Symbol('factory') function defaultFactory(origin, opts) { - return new Client(origin, opts); + return new Client(origin, opts) } var Pool = class extends PoolBase { - constructor(origin, { - connections, - factory = defaultFactory, - connect, - connectTimeout, - tls, - maxCachedSessions, - socketPath, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - ...options - } = {}) { - super(); - if (connections != null && (!Number.isFinite(connections) || connections < 0)) { - throw new InvalidArgumentError("invalid connections"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); + constructor( + origin, + { + connections, + factory = defaultFactory, + connect, + connectTimeout, + tls, + maxCachedSessions, + socketPath, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + ...options + } = {} + ) { + super() + if ( + connections != null && + (!Number.isFinite(connections) || connections < 0) + ) { + throw new InvalidArgumentError('invalid connections') + } + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.') + } + if ( + connect != null && + typeof connect !== 'function' && + typeof connect !== 'object' + ) { + throw new InvalidArgumentError( + 'connect must be a function or an object' + ) } - if (typeof connect !== "function") { + if (typeof connect !== 'function') { connect = buildConnector({ ...tls, maxCachedSessions, allowH2, socketPath, timeout: connectTimeout == null ? 1e4 : connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...(util.nodeHasAutoSelectFamily && autoSelectFamily + ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } + : void 0), ...connect - }); + }) } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; - this[kConnections] = connections || null; - this[kUrl] = util.parseOrigin(origin); - this[kOptions] = { ...util.deepClone(options), connect, allowH2 }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kFactory] = factory; + this[kInterceptors] = + options.interceptors && + options.interceptors.Pool && + Array.isArray(options.interceptors.Pool) + ? options.interceptors.Pool + : [] + this[kConnections] = connections || null + this[kUrl] = util.parseOrigin(origin) + this[kOptions] = { ...util.deepClone(options), connect, allowH2 } + this[kOptions].interceptors = options.interceptors + ? { ...options.interceptors } + : void 0 + this[kFactory] = factory } [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); + let dispatcher = this[kClients].find( + (dispatcher2) => !dispatcher2[kNeedDrain] + ) if (dispatcher) { - return dispatcher; + return dispatcher } if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); - this[kAddClient](dispatcher); + dispatcher = this[kFactory](this[kUrl], this[kOptions]) + this[kAddClient](dispatcher) } - return dispatcher; + return dispatcher } - }; - module2.exports = Pool; + } + module2.exports = Pool } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/balanced-pool.js var require_balanced_pool2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/balanced-pool.js"(exports, module2) { - "use strict"; - var { - BalancedPoolMissingUpstreamError, - InvalidArgumentError - } = require_errors2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/balanced-pool.js'( + exports, + module2 + ) { + 'use strict' + var { BalancedPoolMissingUpstreamError, InvalidArgumentError } = + require_errors2() var { PoolBase, kClients, @@ -25130,307 +28927,394 @@ var require_balanced_pool2 = __commonJS({ kAddClient, kRemoveClient, kGetDispatcher - } = require_pool_base2(); - var Pool = require_pool2(); - var { kUrl, kInterceptors } = require_symbols6(); - var { parseOrigin } = require_util8(); - var kFactory = Symbol("factory"); - var kOptions = Symbol("options"); - var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); - var kCurrentWeight = Symbol("kCurrentWeight"); - var kIndex = Symbol("kIndex"); - var kWeight = Symbol("kWeight"); - var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); - var kErrorPenalty = Symbol("kErrorPenalty"); + } = require_pool_base2() + var Pool = require_pool2() + var { kUrl, kInterceptors } = require_symbols6() + var { parseOrigin } = require_util8() + var kFactory = Symbol('factory') + var kOptions = Symbol('options') + var kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor') + var kCurrentWeight = Symbol('kCurrentWeight') + var kIndex = Symbol('kIndex') + var kWeight = Symbol('kWeight') + var kMaxWeightPerServer = Symbol('kMaxWeightPerServer') + var kErrorPenalty = Symbol('kErrorPenalty') function getGreatestCommonDivisor(a, b) { - if (b === 0) - return a; - return getGreatestCommonDivisor(b, a % b); + if (b === 0) return a + return getGreatestCommonDivisor(b, a % b) } function defaultFactory(origin, opts) { - return new Pool(origin, opts); + return new Pool(origin, opts) } var BalancedPool = class extends PoolBase { constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { - super(); - this[kOptions] = opts; - this[kIndex] = -1; - this[kCurrentWeight] = 0; - this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; - this[kErrorPenalty] = this[kOptions].errorPenalty || 15; + super() + this[kOptions] = opts + this[kIndex] = -1 + this[kCurrentWeight] = 0 + this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100 + this[kErrorPenalty] = this[kOptions].errorPenalty || 15 if (!Array.isArray(upstreams)) { - upstreams = [upstreams]; - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; - this[kFactory] = factory; + upstreams = [upstreams] + } + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.') + } + this[kInterceptors] = + opts.interceptors && + opts.interceptors.BalancedPool && + Array.isArray(opts.interceptors.BalancedPool) + ? opts.interceptors.BalancedPool + : [] + this[kFactory] = factory for (const upstream of upstreams) { - this.addUpstream(upstream); + this.addUpstream(upstream) } - this._updateBalancedPoolStats(); + this._updateBalancedPoolStats() } addUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { - return this; - } - const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); - this[kAddClient](pool); - pool.on("connect", () => { - pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); - }); - pool.on("connectionError", () => { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - }); - pool.on("disconnect", (...args) => { - const err = args[2]; - if (err && err.code === "UND_ERR_SOCKET") { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - } - }); + const upstreamOrigin = parseOrigin(upstream).origin + if ( + this[kClients].find( + (pool2) => + pool2[kUrl].origin === upstreamOrigin && + pool2.closed !== true && + pool2.destroyed !== true + ) + ) { + return this + } + const pool = this[kFactory]( + upstreamOrigin, + Object.assign({}, this[kOptions]) + ) + this[kAddClient](pool) + pool.on('connect', () => { + pool[kWeight] = Math.min( + this[kMaxWeightPerServer], + pool[kWeight] + this[kErrorPenalty] + ) + }) + pool.on('connectionError', () => { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]) + this._updateBalancedPoolStats() + }) + pool.on('disconnect', (...args) => { + const err = args[2] + if (err && err.code === 'UND_ERR_SOCKET') { + pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]) + this._updateBalancedPoolStats() + } + }) for (const client of this[kClients]) { - client[kWeight] = this[kMaxWeightPerServer]; + client[kWeight] = this[kMaxWeightPerServer] } - this._updateBalancedPoolStats(); - return this; + this._updateBalancedPoolStats() + return this } _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0); + this[kGreatestCommonDivisor] = this[kClients] + .map((p) => p[kWeight]) + .reduce(getGreatestCommonDivisor, 0) } removeUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); + const upstreamOrigin = parseOrigin(upstream).origin + const pool = this[kClients].find( + (pool2) => + pool2[kUrl].origin === upstreamOrigin && + pool2.closed !== true && + pool2.destroyed !== true + ) if (pool) { - this[kRemoveClient](pool); + this[kRemoveClient](pool) } - return this; + return this } get upstreams() { - return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin); + return this[kClients] + .filter( + (dispatcher) => + dispatcher.closed !== true && dispatcher.destroyed !== true + ) + .map((p) => p[kUrl].origin) } [kGetDispatcher]() { if (this[kClients].length === 0) { - throw new BalancedPoolMissingUpstreamError(); + throw new BalancedPoolMissingUpstreamError() } - const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); + const dispatcher = this[kClients].find( + (dispatcher2) => + !dispatcher2[kNeedDrain] && + dispatcher2.closed !== true && + dispatcher2.destroyed !== true + ) if (!dispatcher) { - return; + return } - const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true); + const allClientsBusy = this[kClients] + .map((pool) => pool[kNeedDrain]) + .reduce((a, b) => a && b, true) if (allClientsBusy) { - return; + return } - let counter = 0; - let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); + let counter = 0 + let maxWeightIndex = this[kClients].findIndex( + (pool) => !pool[kNeedDrain] + ) while (counter++ < this[kClients].length) { - this[kIndex] = (this[kIndex] + 1) % this[kClients].length; - const pool = this[kClients][this[kIndex]]; - if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { - maxWeightIndex = this[kIndex]; + this[kIndex] = (this[kIndex] + 1) % this[kClients].length + const pool = this[kClients][this[kIndex]] + if ( + pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && + !pool[kNeedDrain] + ) { + maxWeightIndex = this[kIndex] } if (this[kIndex] === 0) { - this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; + this[kCurrentWeight] = + this[kCurrentWeight] - this[kGreatestCommonDivisor] if (this[kCurrentWeight] <= 0) { - this[kCurrentWeight] = this[kMaxWeightPerServer]; + this[kCurrentWeight] = this[kMaxWeightPerServer] } } if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { - return pool; + return pool } } - this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; - this[kIndex] = maxWeightIndex; - return this[kClients][maxWeightIndex]; + this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight] + this[kIndex] = maxWeightIndex + return this[kClients][maxWeightIndex] } - }; - module2.exports = BalancedPool; + } + module2.exports = BalancedPool } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/compat/dispatcher-weakref.js var require_dispatcher_weakref2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols6(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/compat/dispatcher-weakref.js'( + exports, + module2 + ) { + 'use strict' + var { kConnected, kSize } = require_symbols6() var CompatWeakRef = class { constructor(value) { - this.value = value; + this.value = value } deref() { - return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; + return this.value[kConnected] === 0 && this.value[kSize] === 0 + ? void 0 + : this.value } - }; + } var CompatFinalizer = class { constructor(finalizer) { - this.finalizer = finalizer; + this.finalizer = finalizer } register(dispatcher, key) { if (dispatcher.on) { - dispatcher.on("disconnect", () => { + dispatcher.on('disconnect', () => { if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { - this.finalizer(key); + this.finalizer(key) } - }); + }) } } - }; - module2.exports = function() { + } + module2.exports = function () { if (process.env.NODE_V8_COVERAGE) { return { WeakRef: CompatWeakRef, FinalizationRegistry: CompatFinalizer - }; + } } return { WeakRef: global.WeakRef || CompatWeakRef, FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; + } + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/agent.js var require_agent2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/agent.js"(exports, module2) { - "use strict"; - var { InvalidArgumentError } = require_errors2(); - var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6(); - var DispatcherBase = require_dispatcher_base2(); - var Pool = require_pool2(); - var Client = require_client2(); - var util = require_util8(); - var createRedirectInterceptor = require_redirectInterceptor2(); - var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref2()(); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kMaxRedirections = Symbol("maxRedirections"); - var kOnDrain = Symbol("onDrain"); - var kFactory = Symbol("factory"); - var kFinalizer = Symbol("finalizer"); - var kOptions = Symbol("options"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/agent.js'( + exports, + module2 + ) { + 'use strict' + var { InvalidArgumentError } = require_errors2() + var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = + require_symbols6() + var DispatcherBase = require_dispatcher_base2() + var Pool = require_pool2() + var Client = require_client2() + var util = require_util8() + var createRedirectInterceptor = require_redirectInterceptor2() + var { WeakRef: WeakRef2, FinalizationRegistry } = + require_dispatcher_weakref2()() + var kOnConnect = Symbol('onConnect') + var kOnDisconnect = Symbol('onDisconnect') + var kOnConnectionError = Symbol('onConnectionError') + var kMaxRedirections = Symbol('maxRedirections') + var kOnDrain = Symbol('onDrain') + var kFactory = Symbol('factory') + var kFinalizer = Symbol('finalizer') + var kOptions = Symbol('options') function defaultFactory(origin, opts) { - return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); + return opts && opts.connections === 1 + ? new Client(origin, opts) + : new Pool(origin, opts) } var Agent = class extends DispatcherBase { - constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { - super(); - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); + constructor({ + factory = defaultFactory, + maxRedirections = 0, + connect, + ...options + } = {}) { + super() + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.') + } + if ( + connect != null && + typeof connect !== 'function' && + typeof connect !== 'object' + ) { + throw new InvalidArgumentError( + 'connect must be a function or an object' + ) } if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (connect && typeof connect !== "function") { - connect = { ...connect }; + throw new InvalidArgumentError( + 'maxRedirections must be a positive number' + ) } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util.deepClone(options), connect }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kMaxRedirections] = maxRedirections; - this[kFactory] = factory; - this[kClients] = /* @__PURE__ */ new Map(); + if (connect && typeof connect !== 'function') { + connect = { ...connect } + } + this[kInterceptors] = + options.interceptors && + options.interceptors.Agent && + Array.isArray(options.interceptors.Agent) + ? options.interceptors.Agent + : [createRedirectInterceptor({ maxRedirections })] + this[kOptions] = { ...util.deepClone(options), connect } + this[kOptions].interceptors = options.interceptors + ? { ...options.interceptors } + : void 0 + this[kMaxRedirections] = maxRedirections + this[kFactory] = factory + this[kClients] = /* @__PURE__ */ new Map() this[kFinalizer] = new FinalizationRegistry( /* istanbul ignore next: gc is undeterministic */ (key) => { - const ref = this[kClients].get(key); + const ref = this[kClients].get(key) if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); + this[kClients].delete(key) } } - ); - const agent = this; + ) + const agent = this this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); - }; + agent.emit('drain', origin, [agent, ...targets]) + } this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); - }; + agent.emit('connect', origin, [agent, ...targets]) + } this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); - }; + agent.emit('disconnect', origin, [agent, ...targets], err) + } this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); - }; + agent.emit('connectionError', origin, [agent, ...targets], err) + } } get [kRunning]() { - let ret = 0; + let ret = 0 for (const ref of this[kClients].values()) { - const client = ref.deref(); + const client = ref.deref() if (client) { - ret += client[kRunning]; + ret += client[kRunning] } } - return ret; + return ret } [kDispatch](opts, handler) { - let key; - if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { - key = String(opts.origin); + let key + if ( + opts.origin && + (typeof opts.origin === 'string' || opts.origin instanceof URL) + ) { + key = String(opts.origin) } else { - throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); + throw new InvalidArgumentError( + 'opts.origin must be a non-empty string or URL.' + ) } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; + const ref = this[kClients].get(key) + let dispatcher = ref ? ref.deref() : null if (!dispatcher) { - dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].set(key, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); + dispatcher = this[kFactory](opts.origin, this[kOptions]) + .on('drain', this[kOnDrain]) + .on('connect', this[kOnConnect]) + .on('disconnect', this[kOnDisconnect]) + .on('connectionError', this[kOnConnectionError]) + this[kClients].set(key, new WeakRef2(dispatcher)) + this[kFinalizer].register(dispatcher, key) } - return dispatcher.dispatch(opts, handler); + return dispatcher.dispatch(opts, handler) } async [kClose]() { - const closePromises = []; + const closePromises = [] for (const ref of this[kClients].values()) { - const client = ref.deref(); + const client = ref.deref() if (client) { - closePromises.push(client.close()); + closePromises.push(client.close()) } } - await Promise.all(closePromises); + await Promise.all(closePromises) } async [kDestroy](err) { - const destroyPromises = []; + const destroyPromises = [] for (const ref of this[kClients].values()) { - const client = ref.deref(); + const client = ref.deref() if (client) { - destroyPromises.push(client.destroy(err)); + destroyPromises.push(client.destroy(err)) } } - await Promise.all(destroyPromises); + await Promise.all(destroyPromises) } - }; - module2.exports = Agent; + } + module2.exports = Agent } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/readable.js var require_readable2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/readable.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { Readable } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2(); - var util = require_util8(); - var { ReadableStreamFrom, toUSVString } = require_util8(); - var Blob2; - var kConsume = Symbol("kConsume"); - var kReading = Symbol("kReading"); - var kBody = Symbol("kBody"); - var kAbort = Symbol("abort"); - var kContentType = Symbol("kContentType"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/readable.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { Readable } = require('stream') + var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = + require_errors2() + var util = require_util8() + var { ReadableStreamFrom, toUSVString } = require_util8() + var Blob2 + var kConsume = Symbol('kConsume') + var kReading = Symbol('kReading') + var kBody = Symbol('kBody') + var kAbort = Symbol('abort') + var kContentType = Symbol('kContentType') module2.exports = class BodyReadable extends Readable { constructor({ resume, abort, - contentType = "", + contentType = '', highWaterMark = 64 * 1024 // Same as nodejs fs streams. }) { @@ -25438,139 +29322,140 @@ var require_readable2 = __commonJS({ autoDestroy: true, read: resume, highWaterMark - }); - this._readableState.dataEmitted = false; - this[kAbort] = abort; - this[kConsume] = null; - this[kBody] = null; - this[kContentType] = contentType; - this[kReading] = false; + }) + this._readableState.dataEmitted = false + this[kAbort] = abort + this[kConsume] = null + this[kBody] = null + this[kContentType] = contentType + this[kReading] = false } destroy(err) { if (this.destroyed) { - return this; + return this } if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); + err = new RequestAbortedError() } if (err) { - this[kAbort](); + this[kAbort]() } - return super.destroy(err); + return super.destroy(err) } emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; + if (ev === 'data') { + this._readableState.dataEmitted = true + } else if (ev === 'error') { + this._readableState.errorEmitted = true } - return super.emit(ev, ...args); + return super.emit(ev, ...args) } on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; + if (ev === 'data' || ev === 'readable') { + this[kReading] = true } - return super.on(ev, ...args); + return super.on(ev, ...args) } addListener(ev, ...args) { - return this.on(ev, ...args); + return this.on(ev, ...args) } off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + const ret = super.off(ev, ...args) + if (ev === 'data' || ev === 'readable') { + this[kReading] = + this.listenerCount('data') > 0 || this.listenerCount('readable') > 0 } - return ret; + return ret } removeListener(ev, ...args) { - return this.off(ev, ...args); + return this.off(ev, ...args) } push(chunk) { if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; + consumePush(this[kConsume], chunk) + return this[kReading] ? super.push(chunk) : true } - return super.push(chunk); + return super.push(chunk) } // https://fetch.spec.whatwg.org/#dom-body-text async text() { - return consume(this, "text"); + return consume(this, 'text') } // https://fetch.spec.whatwg.org/#dom-body-json async json() { - return consume(this, "json"); + return consume(this, 'json') } // https://fetch.spec.whatwg.org/#dom-body-blob async blob() { - return consume(this, "blob"); + return consume(this, 'blob') } // https://fetch.spec.whatwg.org/#dom-body-arraybuffer async arrayBuffer() { - return consume(this, "arrayBuffer"); + return consume(this, 'arrayBuffer') } // https://fetch.spec.whatwg.org/#dom-body-formdata async formData() { - throw new NotSupportedError(); + throw new NotSupportedError() } // https://fetch.spec.whatwg.org/#dom-body-bodyused get bodyUsed() { - return util.isDisturbed(this); + return util.isDisturbed(this) } // https://fetch.spec.whatwg.org/#dom-body-body get body() { if (!this[kBody]) { - this[kBody] = ReadableStreamFrom(this); + this[kBody] = ReadableStreamFrom(this) if (this[kConsume]) { - this[kBody].getReader(); - assert(this[kBody].locked); + this[kBody].getReader() + assert(this[kBody].locked) } } - return this[kBody]; + return this[kBody] } async dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; + let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144 + const signal = opts && opts.signal const abortFn = () => { - this.destroy(); - }; - let signalListenerCleanup; + this.destroy() + } + let signalListenerCleanup if (signal) { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); + if (typeof signal !== 'object' || !('aborted' in signal)) { + throw new InvalidArgumentError('signal must be an AbortSignal') } - util.throwIfAborted(signal); - signalListenerCleanup = util.addAbortListener(signal, abortFn); + util.throwIfAborted(signal) + signalListenerCleanup = util.addAbortListener(signal, abortFn) } try { for await (const chunk of this) { - util.throwIfAborted(signal); - limit -= Buffer.byteLength(chunk); + util.throwIfAborted(signal) + limit -= Buffer.byteLength(chunk) if (limit < 0) { - return; + return } } } catch { - util.throwIfAborted(signal); + util.throwIfAborted(signal) } finally { - if (typeof signalListenerCleanup === "function") { - signalListenerCleanup(); + if (typeof signalListenerCleanup === 'function') { + signalListenerCleanup() } else if (signalListenerCleanup) { - signalListenerCleanup[Symbol.dispose](); + signalListenerCleanup[Symbol.dispose]() } } } - }; + } function isLocked(self) { - return self[kBody] && self[kBody].locked === true || self[kConsume]; + return (self[kBody] && self[kBody].locked === true) || self[kConsume] } function isUnusable(self) { - return util.isDisturbed(self) || isLocked(self); + return util.isDisturbed(self) || isLocked(self) } async function consume(stream, type) { if (isUnusable(stream)) { - throw new TypeError("unusable"); + throw new TypeError('unusable') } - assert(!stream[kConsume]); + assert(!stream[kConsume]) return new Promise((resolve, reject) => { stream[kConsume] = { type, @@ -25579,265 +29464,346 @@ var require_readable2 = __commonJS({ reject, length: 0, body: [] - }; - stream.on("error", function(err) { - consumeFinish(this[kConsume], err); - }).on("close", function() { - if (this[kConsume].body !== null) { - consumeFinish(this[kConsume], new RequestAbortedError()); - } - }); - process.nextTick(consumeStart, stream[kConsume]); - }); + } + stream + .on('error', function (err) { + consumeFinish(this[kConsume], err) + }) + .on('close', function () { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()) + } + }) + process.nextTick(consumeStart, stream[kConsume]) + }) } function consumeStart(consume2) { if (consume2.body === null) { - return; + return } - const { _readableState: state } = consume2.stream; + const { _readableState: state } = consume2.stream for (const chunk of state.buffer) { - consumePush(consume2, chunk); + consumePush(consume2, chunk) } if (state.endEmitted) { - consumeEnd(this[kConsume]); + consumeEnd(this[kConsume]) } else { - consume2.stream.on("end", function() { - consumeEnd(this[kConsume]); - }); - } - consume2.stream.resume(); - while (consume2.stream.read() != null) { + consume2.stream.on('end', function () { + consumeEnd(this[kConsume]) + }) } + consume2.stream.resume() + while (consume2.stream.read() != null) {} } function consumeEnd(consume2) { - const { type, body, resolve, stream, length } = consume2; + const { type, body, resolve, stream, length } = consume2 try { - if (type === "text") { - resolve(toUSVString(Buffer.concat(body))); - } else if (type === "json") { - resolve(JSON.parse(Buffer.concat(body))); - } else if (type === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; + if (type === 'text') { + resolve(toUSVString(Buffer.concat(body))) + } else if (type === 'json') { + resolve(JSON.parse(Buffer.concat(body))) + } else if (type === 'arrayBuffer') { + const dst = new Uint8Array(length) + let pos = 0 for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; + dst.set(buf, pos) + pos += buf.byteLength } - resolve(dst.buffer); - } else if (type === "blob") { + resolve(dst.buffer) + } else if (type === 'blob') { if (!Blob2) { - Blob2 = require("buffer").Blob; + Blob2 = require('buffer').Blob } - resolve(new Blob2(body, { type: stream[kContentType] })); + resolve(new Blob2(body, { type: stream[kContentType] })) } - consumeFinish(consume2); + consumeFinish(consume2) } catch (err) { - stream.destroy(err); + stream.destroy(err) } } function consumePush(consume2, chunk) { - consume2.length += chunk.length; - consume2.body.push(chunk); + consume2.length += chunk.length + consume2.body.push(chunk) } function consumeFinish(consume2, err) { if (consume2.body === null) { - return; + return } if (err) { - consume2.reject(err); + consume2.reject(err) } else { - consume2.resolve(); + consume2.resolve() } - consume2.type = null; - consume2.stream = null; - consume2.resolve = null; - consume2.reject = null; - consume2.length = 0; - consume2.body = null; + consume2.type = null + consume2.stream = null + consume2.resolve = null + consume2.reject = null + consume2.length = 0 + consume2.body = null } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/util.js var require_util10 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/util.js"(exports, module2) { - var assert = require("assert"); - var { - ResponseStatusCodeError - } = require_errors2(); - var { toUSVString } = require_util8(); - async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { - assert(body); - let chunks = []; - let limit = 0; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/util.js'( + exports, + module2 + ) { + var assert = require('assert') + var { ResponseStatusCodeError } = require_errors2() + var { toUSVString } = require_util8() + async function getResolveErrorBodyCallback({ + callback, + body, + contentType, + statusCode, + statusMessage, + headers + }) { + assert(body) + let chunks = [] + let limit = 0 for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; + chunks.push(chunk) + limit += chunk.length if (limit > 128 * 1024) { - chunks = null; - break; + chunks = null + break } } if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - return; + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers + ) + ) + return } try { - if (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + if (contentType.startsWith('application/json')) { + const payload = JSON.parse(toUSVString(Buffer.concat(chunks))) + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers, + payload + ) + ) + return + } + if (contentType.startsWith('text/')) { + const payload = toUSVString(Buffer.concat(chunks)) + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers, + payload + ) + ) + return + } + } catch (err) {} + process.nextTick( + callback, + new ResponseStatusCodeError( + `Response status code ${statusCode}${ + statusMessage ? `: ${statusMessage}` : '' + }`, + statusCode, + headers + ) + ) } - module2.exports = { getResolveErrorBodyCallback }; + module2.exports = { getResolveErrorBodyCallback } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/abort-signal.js var require_abort_signal2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/abort-signal.js"(exports, module2) { - var { addAbortListener } = require_util8(); - var { RequestAbortedError } = require_errors2(); - var kListener = Symbol("kListener"); - var kSignal = Symbol("kSignal"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/abort-signal.js'( + exports, + module2 + ) { + var { addAbortListener } = require_util8() + var { RequestAbortedError } = require_errors2() + var kListener = Symbol('kListener') + var kSignal = Symbol('kSignal') function abort(self) { if (self.abort) { - self.abort(); + self.abort() } else { - self.onError(new RequestAbortedError()); + self.onError(new RequestAbortedError()) } } function addSignal(self, signal) { - self[kSignal] = null; - self[kListener] = null; + self[kSignal] = null + self[kListener] = null if (!signal) { - return; + return } if (signal.aborted) { - abort(self); - return; + abort(self) + return } - self[kSignal] = signal; + self[kSignal] = signal self[kListener] = () => { - abort(self); - }; - addAbortListener(self[kSignal], self[kListener]); + abort(self) + } + addAbortListener(self[kSignal], self[kListener]) } function removeSignal(self) { if (!self[kSignal]) { - return; + return } - if ("removeEventListener" in self[kSignal]) { - self[kSignal].removeEventListener("abort", self[kListener]); + if ('removeEventListener' in self[kSignal]) { + self[kSignal].removeEventListener('abort', self[kListener]) } else { - self[kSignal].removeListener("abort", self[kListener]); + self[kSignal].removeListener('abort', self[kListener]) } - self[kSignal] = null; - self[kListener] = null; + self[kSignal] = null + self[kListener] = null } module2.exports = { addSignal, removeSignal - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-request.js var require_api_request2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-request.js"(exports, module2) { - "use strict"; - var Readable = require_readable2(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors2(); - var util = require_util8(); - var { getResolveErrorBodyCallback } = require_util10(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-request.js'( + exports, + module2 + ) { + 'use strict' + var Readable = require_readable2() + var { InvalidArgumentError, RequestAbortedError } = require_errors2() + var util = require_util8() + var { getResolveErrorBodyCallback } = require_util10() + var { AsyncResource } = require('async_hooks') + var { addSignal, removeSignal } = require_abort_signal2() var RequestHandler = class extends AsyncResource { constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; + const { + signal, + method, + opaque, + body, + onInfo, + responseHeaders, + throwOnError, + highWaterMark + } = opts try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } - if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { - throw new InvalidArgumentError("invalid highWaterMark"); + if ( + highWaterMark && + (typeof highWaterMark !== 'number' || highWaterMark < 0) + ) { + throw new InvalidArgumentError('invalid highWaterMark') } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method') } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback') } - super("UNDICI_REQUEST"); + super('UNDICI_REQUEST') } catch (err) { if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.res = null; - this.abort = null; - this.body = body; - this.trailers = {}; - this.context = null; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError; - this.highWaterMark = highWaterMark; + util.destroy(body.on('error', util.nop), err) + } + throw err + } + this.responseHeaders = responseHeaders || null + this.opaque = opaque || null + this.callback = callback + this.res = null + this.abort = null + this.body = body + this.trailers = {} + this.context = null + this.onInfo = onInfo || null + this.throwOnError = throwOnError + this.highWaterMark = highWaterMark if (util.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); + body.on('error', (err) => { + this.onError(err) + }) } - addSignal(this, signal); + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const { + callback, + opaque, + abort, + context, + responseHeaders, + highWaterMark + } = this + const headers = + responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) if (statusCode < 200) { if (this.onInfo) { - this.onInfo({ statusCode, headers }); + this.onInfo({ statusCode, headers }) } - return; + return } - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - const body = new Readable({ resume, abort, contentType, highWaterMark }); - this.callback = null; - this.res = body; + const parsedHeaders = + responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers + const contentType = parsedHeaders['content-type'] + const body = new Readable({ resume, abort, contentType, highWaterMark }) + this.callback = null + this.res = body if (callback !== null) { if (this.throwOnError && statusCode >= 400) { - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body, contentType, statusCode, statusMessage, headers } - ); + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback, + body, + contentType, + statusCode, + statusMessage, + headers + }) } else { this.runInAsyncScope(callback, null, null, { statusCode, @@ -25846,569 +29812,648 @@ var require_api_request2 = __commonJS({ opaque, body, context - }); + }) } } } onData(chunk) { - const { res } = this; - return res.push(chunk); + const { res } = this + return res.push(chunk) } onComplete(trailers) { - const { res } = this; - removeSignal(this); - util.parseHeaders(trailers, this.trailers); - res.push(null); + const { res } = this + removeSignal(this) + util.parseHeaders(trailers, this.trailers) + res.push(null) } onError(err) { - const { res, callback, body, opaque } = this; - removeSignal(this); + const { res, callback, body, opaque } = this + removeSignal(this) if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } if (res) { - this.res = null; + this.res = null queueMicrotask(() => { - util.destroy(res, err); - }); + util.destroy(res, err) + }) } if (body) { - this.body = null; - util.destroy(body, err); + this.body = null + util.destroy(body, err) } } - }; + } function request(opts, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { request.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - this.dispatch(opts, new RequestHandler(opts, callback)); + this.dispatch(opts, new RequestHandler(opts, callback)) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = request; + module2.exports = request } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-stream.js var require_api_stream2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-stream.js"(exports, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors2(); - var util = require_util8(); - var { getResolveErrorBodyCallback } = require_util10(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-stream.js'( + exports, + module2 + ) { + 'use strict' + var { finished, PassThrough } = require('stream') + var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = + require_errors2() + var util = require_util8() + var { getResolveErrorBodyCallback } = require_util10() + var { AsyncResource } = require('async_hooks') + var { addSignal, removeSignal } = require_abort_signal2() var StreamHandler = class extends AsyncResource { constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + const { + signal, + method, + opaque, + body, + onInfo, + responseHeaders, + throwOnError + } = opts try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); + if (typeof factory !== 'function') { + throw new InvalidArgumentError('invalid factory') } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method') } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback') } - super("UNDICI_STREAM"); + super('UNDICI_STREAM') } catch (err) { if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.factory = factory; - this.callback = callback; - this.res = null; - this.abort = null; - this.context = null; - this.trailers = null; - this.body = body; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError || false; + util.destroy(body.on('error', util.nop), err) + } + throw err + } + this.responseHeaders = responseHeaders || null + this.opaque = opaque || null + this.factory = factory + this.callback = callback + this.res = null + this.abort = null + this.context = null + this.trailers = null + this.body = body + this.onInfo = onInfo || null + this.throwOnError = throwOnError || false if (util.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); + body.on('error', (err) => { + this.onError(err) + }) } - addSignal(this, signal); + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { factory, opaque, context, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const { factory, opaque, context, callback, responseHeaders } = this + const headers = + responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) if (statusCode < 200) { if (this.onInfo) { - this.onInfo({ statusCode, headers }); + this.onInfo({ statusCode, headers }) } - return; + return } - this.factory = null; - let res; + this.factory = null + let res if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - res = new PassThrough(); - this.callback = null; - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body: res, contentType, statusCode, statusMessage, headers } - ); + const parsedHeaders = + responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers + const contentType = parsedHeaders['content-type'] + res = new PassThrough() + this.callback = null + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback, + body: res, + contentType, + statusCode, + statusMessage, + headers + }) } else { if (factory === null) { - return; + return } res = this.runInAsyncScope(factory, null, { statusCode, headers, opaque, context - }); - if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { - throw new InvalidReturnValueError("expected Writable"); + }) + if ( + !res || + typeof res.write !== 'function' || + typeof res.end !== 'function' || + typeof res.on !== 'function' + ) { + throw new InvalidReturnValueError('expected Writable') } finished(res, { readable: false }, (err) => { - const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; - this.res = null; + const { + callback: callback2, + res: res2, + opaque: opaque2, + trailers, + abort + } = this + this.res = null if (err || !res2.readable) { - util.destroy(res2, err); + util.destroy(res2, err) } - this.callback = null; - this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); + this.callback = null + this.runInAsyncScope(callback2, null, err || null, { + opaque: opaque2, + trailers + }) if (err) { - abort(); + abort() } - }); + }) } - res.on("drain", resume); - this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; - return needDrain !== true; + res.on('drain', resume) + this.res = res + const needDrain = + res.writableNeedDrain !== void 0 + ? res.writableNeedDrain + : res._writableState && res._writableState.needDrain + return needDrain !== true } onData(chunk) { - const { res } = this; - return res ? res.write(chunk) : true; + const { res } = this + return res ? res.write(chunk) : true } onComplete(trailers) { - const { res } = this; - removeSignal(this); + const { res } = this + removeSignal(this) if (!res) { - return; + return } - this.trailers = util.parseHeaders(trailers); - res.end(); + this.trailers = util.parseHeaders(trailers) + res.end() } onError(err) { - const { res, callback, opaque, body } = this; - removeSignal(this); - this.factory = null; + const { res, callback, opaque, body } = this + removeSignal(this) + this.factory = null if (res) { - this.res = null; - util.destroy(res, err); + this.res = null + util.destroy(res, err) } else if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } if (body) { - this.body = null; - util.destroy(body, err); + this.body = null + util.destroy(body, err) } } - }; + } function stream(opts, factory, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { stream.call(this, opts, factory, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - this.dispatch(opts, new StreamHandler(opts, factory, callback)); + this.dispatch(opts, new StreamHandler(opts, factory, callback)) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = stream; + module2.exports = stream } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-pipeline.js"(exports, module2) { - "use strict"; - var { - Readable, - Duplex, - PassThrough - } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors2(); - var util = require_util8(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); - var assert = require("assert"); - var kResume = Symbol("resume"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-pipeline.js'( + exports, + module2 + ) { + 'use strict' + var { Readable, Duplex, PassThrough } = require('stream') + var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = + require_errors2() + var util = require_util8() + var { AsyncResource } = require('async_hooks') + var { addSignal, removeSignal } = require_abort_signal2() + var assert = require('assert') + var kResume = Symbol('resume') var PipelineRequest = class extends Readable { constructor() { - super({ autoDestroy: true }); - this[kResume] = null; + super({ autoDestroy: true }) + this[kResume] = null } _read() { - const { [kResume]: resume } = this; + const { [kResume]: resume } = this if (resume) { - this[kResume] = null; - resume(); + this[kResume] = null + resume() } } _destroy(err, callback) { - this._read(); - callback(err); + this._read() + callback(err) } - }; + } var PipelineResponse = class extends Readable { constructor(resume) { - super({ autoDestroy: true }); - this[kResume] = resume; + super({ autoDestroy: true }) + this[kResume] = resume } _read() { - this[kResume](); + this[kResume]() } _destroy(err, callback) { if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); + err = new RequestAbortedError() } - callback(err); + callback(err) } - }; + } var PipelineHandler = class extends AsyncResource { constructor(opts, handler) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof handler !== "function") { - throw new InvalidArgumentError("invalid handler"); - } - const { signal, method, opaque, onInfo, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_PIPELINE"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.handler = handler; - this.abort = null; - this.context = null; - this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util.nop); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') + } + if (typeof handler !== 'function') { + throw new InvalidArgumentError('invalid handler') + } + const { signal, method, opaque, onInfo, responseHeaders } = opts + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) + } + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method') + } + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback') + } + super('UNDICI_PIPELINE') + this.opaque = opaque || null + this.responseHeaders = responseHeaders || null + this.handler = handler + this.abort = null + this.context = null + this.onInfo = onInfo || null + this.req = new PipelineRequest().on('error', util.nop) this.ret = new Duplex({ readableObjectMode: opts.objectMode, autoDestroy: true, read: () => { - const { body } = this; + const { body } = this if (body && body.resume) { - body.resume(); + body.resume() } }, write: (chunk, encoding, callback) => { - const { req } = this; + const { req } = this if (req.push(chunk, encoding) || req._readableState.destroyed) { - callback(); + callback() } else { - req[kResume] = callback; + req[kResume] = callback } }, destroy: (err, callback) => { - const { body, req, res, ret, abort } = this; + const { body, req, res, ret, abort } = this if (!err && !ret._readableState.endEmitted) { - err = new RequestAbortedError(); + err = new RequestAbortedError() } if (abort && err) { - abort(); + abort() } - util.destroy(body, err); - util.destroy(req, err); - util.destroy(res, err); - removeSignal(this); - callback(err); - } - }).on("prefinish", () => { - const { req } = this; - req.push(null); - }); - this.res = null; - addSignal(this, signal); + util.destroy(body, err) + util.destroy(req, err) + util.destroy(res, err) + removeSignal(this) + callback(err) + } + }).on('prefinish', () => { + const { req } = this + req.push(null) + }) + this.res = null + addSignal(this, signal) } onConnect(abort, context) { - const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); + const { ret, res } = this + assert(!res, 'pipeline cannot be retried') if (ret.destroyed) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders(statusCode, rawHeaders, resume) { - const { opaque, handler, context } = this; + const { opaque, handler, context } = this if (statusCode < 200) { if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - this.onInfo({ statusCode, headers }); + const headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) + this.onInfo({ statusCode, headers }) } - return; + return } - this.res = new PipelineResponse(resume); - let body; + this.res = new PipelineResponse(resume) + let body try { - this.handler = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + this.handler = null + const headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) body = this.runInAsyncScope(handler, null, { statusCode, headers, opaque, body: this.res, context - }); + }) } catch (err) { - this.res.on("error", util.nop); - throw err; - } - if (!body || typeof body.on !== "function") { - throw new InvalidReturnValueError("expected Readable"); - } - body.on("data", (chunk) => { - const { ret, body: body2 } = this; - if (!ret.push(chunk) && body2.pause) { - body2.pause(); - } - }).on("error", (err) => { - const { ret } = this; - util.destroy(ret, err); - }).on("end", () => { - const { ret } = this; - ret.push(null); - }).on("close", () => { - const { ret } = this; - if (!ret._readableState.ended) { - util.destroy(ret, new RequestAbortedError()); - } - }); - this.body = body; + this.res.on('error', util.nop) + throw err + } + if (!body || typeof body.on !== 'function') { + throw new InvalidReturnValueError('expected Readable') + } + body + .on('data', (chunk) => { + const { ret, body: body2 } = this + if (!ret.push(chunk) && body2.pause) { + body2.pause() + } + }) + .on('error', (err) => { + const { ret } = this + util.destroy(ret, err) + }) + .on('end', () => { + const { ret } = this + ret.push(null) + }) + .on('close', () => { + const { ret } = this + if (!ret._readableState.ended) { + util.destroy(ret, new RequestAbortedError()) + } + }) + this.body = body } onData(chunk) { - const { res } = this; - return res.push(chunk); + const { res } = this + return res.push(chunk) } onComplete(trailers) { - const { res } = this; - res.push(null); + const { res } = this + res.push(null) } onError(err) { - const { ret } = this; - this.handler = null; - util.destroy(ret, err); + const { ret } = this + this.handler = null + util.destroy(ret, err) } - }; + } function pipeline(opts, handler) { try { - const pipelineHandler = new PipelineHandler(opts, handler); - this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); - return pipelineHandler.ret; + const pipelineHandler = new PipelineHandler(opts, handler) + this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler) + return pipelineHandler.ret } catch (err) { - return new PassThrough().destroy(err); + return new PassThrough().destroy(err) } } - module2.exports = pipeline; + module2.exports = pipeline } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-upgrade.js"(exports, module2) { - "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2(); - var { AsyncResource } = require("async_hooks"); - var util = require_util8(); - var { addSignal, removeSignal } = require_abort_signal2(); - var assert = require("assert"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-upgrade.js'( + exports, + module2 + ) { + 'use strict' + var { InvalidArgumentError, RequestAbortedError, SocketError } = + require_errors2() + var { AsyncResource } = require('async_hooks') + var util = require_util8() + var { addSignal, removeSignal } = require_abort_signal2() + var assert = require('assert') var UpgradeHandler = class extends AsyncResource { constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') + } + const { signal, opaque, responseHeaders } = opts + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - super("UNDICI_UPGRADE"); - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.abort = null; - this.context = null; - addSignal(this, signal); + super('UNDICI_UPGRADE') + this.responseHeaders = responseHeaders || null + this.opaque = opaque || null + this.callback = callback + this.abort = null + this.context = null + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = null; + this.abort = abort + this.context = null } onHeaders() { - throw new SocketError("bad upgrade", null); + throw new SocketError('bad upgrade', null) } onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - assert.strictEqual(statusCode, 101); - removeSignal(this); - this.callback = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const { callback, opaque, context } = this + assert.strictEqual(statusCode, 101) + removeSignal(this) + this.callback = null + const headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) this.runInAsyncScope(callback, null, null, { headers, socket, opaque, context - }); + }) } onError(err) { - const { callback, opaque } = this; - removeSignal(this); + const { callback, opaque } = this + removeSignal(this) if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } } - }; + } function upgrade(opts, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - const upgradeHandler = new UpgradeHandler(opts, callback); - this.dispatch({ - ...opts, - method: opts.method || "GET", - upgrade: opts.protocol || "Websocket" - }, upgradeHandler); + const upgradeHandler = new UpgradeHandler(opts, callback) + this.dispatch( + { + ...opts, + method: opts.method || 'GET', + upgrade: opts.protocol || 'Websocket' + }, + upgradeHandler + ) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = upgrade; + module2.exports = upgrade } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-connect.js var require_api_connect2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-connect.js"(exports, module2) { - "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2(); - var util = require_util8(); - var { addSignal, removeSignal } = require_abort_signal2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/api-connect.js'( + exports, + module2 + ) { + 'use strict' + var { AsyncResource } = require('async_hooks') + var { InvalidArgumentError, RequestAbortedError, SocketError } = + require_errors2() + var util = require_util8() + var { addSignal, removeSignal } = require_abort_signal2() var ConnectHandler = class extends AsyncResource { constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback') + } + const { signal, opaque, responseHeaders } = opts + if ( + signal && + typeof signal.on !== 'function' && + typeof signal.addEventListener !== 'function' + ) { + throw new InvalidArgumentError( + 'signal must be an EventEmitter or EventTarget' + ) } - super("UNDICI_CONNECT"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.callback = callback; - this.abort = null; - addSignal(this, signal); + super('UNDICI_CONNECT') + this.opaque = opaque || null + this.responseHeaders = responseHeaders || null + this.callback = callback + this.abort = null + addSignal(this, signal) } onConnect(abort, context) { if (!this.callback) { - throw new RequestAbortedError(); + throw new RequestAbortedError() } - this.abort = abort; - this.context = context; + this.abort = abort + this.context = context } onHeaders() { - throw new SocketError("bad connect", null); + throw new SocketError('bad connect', null) } onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - removeSignal(this); - this.callback = null; - let headers = rawHeaders; + const { callback, opaque, context } = this + removeSignal(this) + this.callback = null + let headers = rawHeaders if (headers != null) { - headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + headers = + this.responseHeaders === 'raw' + ? util.parseRawHeaders(rawHeaders) + : util.parseHeaders(rawHeaders) } this.runInAsyncScope(callback, null, null, { statusCode, @@ -26416,361 +30461,440 @@ var require_api_connect2 = __commonJS({ socket, opaque, context - }); + }) } onError(err) { - const { callback, opaque } = this; - removeSignal(this); + const { callback, opaque } = this + removeSignal(this) if (callback) { - this.callback = null; + this.callback = null queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); + this.runInAsyncScope(callback, null, err, { opaque }) + }) } } - }; + } function connect(opts, callback) { if (callback === void 0) { return new Promise((resolve, reject) => { connect.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); + return err ? reject(err) : resolve(data) + }) + }) } try { - const connectHandler = new ConnectHandler(opts, callback); - this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); + const connectHandler = new ConnectHandler(opts, callback) + this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler) } catch (err) { - if (typeof callback !== "function") { - throw err; + if (typeof callback !== 'function') { + throw err } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); + const opaque = opts && opts.opaque + queueMicrotask(() => callback(err, { opaque })) } } - module2.exports = connect; + module2.exports = connect } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/index.js var require_api2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/index.js"(exports, module2) { - "use strict"; - module2.exports.request = require_api_request2(); - module2.exports.stream = require_api_stream2(); - module2.exports.pipeline = require_api_pipeline2(); - module2.exports.upgrade = require_api_upgrade2(); - module2.exports.connect = require_api_connect2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/api/index.js'( + exports, + module2 + ) { + 'use strict' + module2.exports.request = require_api_request2() + module2.exports.stream = require_api_stream2() + module2.exports.pipeline = require_api_pipeline2() + module2.exports.upgrade = require_api_upgrade2() + module2.exports.connect = require_api_connect2() } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-errors.js var require_mock_errors2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-errors.js"(exports, module2) { - "use strict"; - var { UndiciError } = require_errors2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-errors.js'( + exports, + module2 + ) { + 'use strict' + var { UndiciError } = require_errors2() var MockNotMatchedError = class _MockNotMatchedError extends UndiciError { constructor(message) { - super(message); - Error.captureStackTrace(this, _MockNotMatchedError); - this.name = "MockNotMatchedError"; - this.message = message || "The request does not match any registered mock dispatches"; - this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; + super(message) + Error.captureStackTrace(this, _MockNotMatchedError) + this.name = 'MockNotMatchedError' + this.message = + message || 'The request does not match any registered mock dispatches' + this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED' } - }; + } module2.exports = { MockNotMatchedError - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-symbols.js var require_mock_symbols2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kAgent: Symbol("agent"), - kOptions: Symbol("options"), - kFactory: Symbol("factory"), - kDispatches: Symbol("dispatches"), - kDispatchKey: Symbol("dispatch key"), - kDefaultHeaders: Symbol("default headers"), - kDefaultTrailers: Symbol("default trailers"), - kContentLength: Symbol("content length"), - kMockAgent: Symbol("mock agent"), - kMockAgentSet: Symbol("mock agent set"), - kMockAgentGet: Symbol("mock agent get"), - kMockDispatch: Symbol("mock dispatch"), - kClose: Symbol("close"), - kOriginalClose: Symbol("original agent close"), - kOrigin: Symbol("origin"), - kIsMockActive: Symbol("is mock active"), - kNetConnect: Symbol("net connect"), - kGetNetConnect: Symbol("get net connect"), - kConnected: Symbol("connected") - }; + kAgent: Symbol('agent'), + kOptions: Symbol('options'), + kFactory: Symbol('factory'), + kDispatches: Symbol('dispatches'), + kDispatchKey: Symbol('dispatch key'), + kDefaultHeaders: Symbol('default headers'), + kDefaultTrailers: Symbol('default trailers'), + kContentLength: Symbol('content length'), + kMockAgent: Symbol('mock agent'), + kMockAgentSet: Symbol('mock agent set'), + kMockAgentGet: Symbol('mock agent get'), + kMockDispatch: Symbol('mock dispatch'), + kClose: Symbol('close'), + kOriginalClose: Symbol('original agent close'), + kOrigin: Symbol('origin'), + kIsMockActive: Symbol('is mock active'), + kNetConnect: Symbol('net connect'), + kGetNetConnect: Symbol('get net connect'), + kConnected: Symbol('connected') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-utils.js var require_mock_utils2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-utils.js"(exports, module2) { - "use strict"; - var { MockNotMatchedError } = require_mock_errors2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-utils.js'( + exports, + module2 + ) { + 'use strict' + var { MockNotMatchedError } = require_mock_errors2() var { kDispatches, kMockAgent, kOriginalDispatch, kOrigin, kGetNetConnect - } = require_mock_symbols2(); - var { buildURL, nop } = require_util8(); - var { STATUS_CODES } = require("http"); + } = require_mock_symbols2() + var { buildURL, nop } = require_util8() + var { STATUS_CODES } = require('http') var { - types: { - isPromise: isPromise2 - } - } = require("util"); + types: { isPromise: isPromise2 } + } = require('util') function matchValue(match, value) { - if (typeof match === "string") { - return match === value; + if (typeof match === 'string') { + return match === value } if (match instanceof RegExp) { - return match.test(value); + return match.test(value) } - if (typeof match === "function") { - return match(value) === true; + if (typeof match === 'function') { + return match(value) === true } - return false; + return false } function lowerCaseEntries(headers) { return Object.fromEntries( Object.entries(headers).map(([headerName, headerValue]) => { - return [headerName.toLocaleLowerCase(), headerValue]; + return [headerName.toLocaleLowerCase(), headerValue] }) - ); + ) } function getHeaderByName(headers, key) { if (Array.isArray(headers)) { for (let i = 0; i < headers.length; i += 2) { if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) { - return headers[i + 1]; + return headers[i + 1] } } - return void 0; - } else if (typeof headers.get === "function") { - return headers.get(key); + return void 0 + } else if (typeof headers.get === 'function') { + return headers.get(key) } else { - return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; + return lowerCaseEntries(headers)[key.toLocaleLowerCase()] } } function buildHeadersFromArray(headers) { - const clone = headers.slice(); - const entries = []; + const clone = headers.slice() + const entries = [] for (let index = 0; index < clone.length; index += 2) { - entries.push([clone[index], clone[index + 1]]); + entries.push([clone[index], clone[index + 1]]) } - return Object.fromEntries(entries); + return Object.fromEntries(entries) } function matchHeaders(mockDispatch2, headers) { - if (typeof mockDispatch2.headers === "function") { + if (typeof mockDispatch2.headers === 'function') { if (Array.isArray(headers)) { - headers = buildHeadersFromArray(headers); + headers = buildHeadersFromArray(headers) } - return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); + return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}) } - if (typeof mockDispatch2.headers === "undefined") { - return true; + if (typeof mockDispatch2.headers === 'undefined') { + return true } - if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { - return false; + if ( + typeof headers !== 'object' || + typeof mockDispatch2.headers !== 'object' + ) { + return false } - for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { - const headerValue = getHeaderByName(headers, matchHeaderName); + for (const [matchHeaderName, matchHeaderValue] of Object.entries( + mockDispatch2.headers + )) { + const headerValue = getHeaderByName(headers, matchHeaderName) if (!matchValue(matchHeaderValue, headerValue)) { - return false; + return false } } - return true; + return true } function safeUrl(path) { - if (typeof path !== "string") { - return path; + if (typeof path !== 'string') { + return path } - const pathSegments = path.split("?"); + const pathSegments = path.split('?') if (pathSegments.length !== 2) { - return path; + return path } - const qp = new URLSearchParams(pathSegments.pop()); - qp.sort(); - return [...pathSegments, qp.toString()].join("?"); + const qp = new URLSearchParams(pathSegments.pop()) + qp.sort() + return [...pathSegments, qp.toString()].join('?') } function matchKey(mockDispatch2, { path, method, body, headers }) { - const pathMatch = matchValue(mockDispatch2.path, path); - const methodMatch = matchValue(mockDispatch2.method, method); - const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; - const headersMatch = matchHeaders(mockDispatch2, headers); - return pathMatch && methodMatch && bodyMatch && headersMatch; + const pathMatch = matchValue(mockDispatch2.path, path) + const methodMatch = matchValue(mockDispatch2.method, method) + const bodyMatch = + typeof mockDispatch2.body !== 'undefined' + ? matchValue(mockDispatch2.body, body) + : true + const headersMatch = matchHeaders(mockDispatch2, headers) + return pathMatch && methodMatch && bodyMatch && headersMatch } function getResponseData(data) { if (Buffer.isBuffer(data)) { - return data; - } else if (typeof data === "object") { - return JSON.stringify(data); + return data + } else if (typeof data === 'object') { + return JSON.stringify(data) } else { - return data.toString(); + return data.toString() } } function getMockDispatch(mockDispatches, key) { - const basePath = key.query ? buildURL(key.path, key.query) : key.path; - const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath; - let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath)); + const basePath = key.query ? buildURL(key.path, key.query) : key.path + const resolvedPath = + typeof basePath === 'string' ? safeUrl(basePath) : basePath + let matchedMockDispatches = mockDispatches + .filter(({ consumed }) => !consumed) + .filter(({ path }) => matchValue(safeUrl(path), resolvedPath)) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for path '${resolvedPath}'` + ) } - matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); + matchedMockDispatches = matchedMockDispatches.filter(({ method }) => + matchValue(method, key.method) + ) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for method '${key.method}'` + ) } - matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); + matchedMockDispatches = matchedMockDispatches.filter(({ body }) => + typeof body !== 'undefined' ? matchValue(body, key.body) : true + ) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for body '${key.body}'` + ) } - matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); + matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => + matchHeaders(mockDispatch2, key.headers) + ) if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); + throw new MockNotMatchedError( + `Mock dispatch not matched for headers '${ + typeof key.headers === 'object' + ? JSON.stringify(key.headers) + : key.headers + }'` + ) } - return matchedMockDispatches[0]; + return matchedMockDispatches[0] } function addMockDispatch(mockDispatches, key, data) { - const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; - const replyData = typeof data === "function" ? { callback: data } : { ...data }; - const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; - mockDispatches.push(newMockDispatch); - return newMockDispatch; + const baseData = { + timesInvoked: 0, + times: 1, + persist: false, + consumed: false + } + const replyData = + typeof data === 'function' ? { callback: data } : { ...data } + const newMockDispatch = { + ...baseData, + ...key, + pending: true, + data: { error: null, ...replyData } + } + mockDispatches.push(newMockDispatch) + return newMockDispatch } function deleteMockDispatch(mockDispatches, key) { const index = mockDispatches.findIndex((dispatch) => { if (!dispatch.consumed) { - return false; + return false } - return matchKey(dispatch, key); - }); + return matchKey(dispatch, key) + }) if (index !== -1) { - mockDispatches.splice(index, 1); + mockDispatches.splice(index, 1) } } function buildKey(opts) { - const { path, method, body, headers, query } = opts; + const { path, method, body, headers, query } = opts return { path, method, body, headers, query - }; + } } function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`) - ], []); + return Object.entries(data).reduce( + (keyValuePairs, [key, value]) => [ + ...keyValuePairs, + Buffer.from(`${key}`), + Array.isArray(value) + ? value.map((x) => Buffer.from(`${x}`)) + : Buffer.from(`${value}`) + ], + [] + ) } function getStatusText(statusCode) { - return STATUS_CODES[statusCode] || "unknown"; + return STATUS_CODES[statusCode] || 'unknown' } async function getResponse(body) { - const buffers = []; + const buffers = [] for await (const data of body) { - buffers.push(data); + buffers.push(data) } - return Buffer.concat(buffers).toString("utf8"); + return Buffer.concat(buffers).toString('utf8') } function mockDispatch(opts, handler) { - const key = buildKey(opts); - const mockDispatch2 = getMockDispatch(this[kDispatches], key); - mockDispatch2.timesInvoked++; + const key = buildKey(opts) + const mockDispatch2 = getMockDispatch(this[kDispatches], key) + mockDispatch2.timesInvoked++ if (mockDispatch2.data.callback) { - mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; + mockDispatch2.data = { + ...mockDispatch2.data, + ...mockDispatch2.data.callback(opts) + } } - const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch2; - const { timesInvoked, times } = mockDispatch2; - mockDispatch2.consumed = !persist && timesInvoked >= times; - mockDispatch2.pending = timesInvoked < times; + const { + data: { statusCode, data, headers, trailers, error }, + delay, + persist + } = mockDispatch2 + const { timesInvoked, times } = mockDispatch2 + mockDispatch2.consumed = !persist && timesInvoked >= times + mockDispatch2.pending = timesInvoked < times if (error !== null) { - deleteMockDispatch(this[kDispatches], key); - handler.onError(error); - return true; + deleteMockDispatch(this[kDispatches], key) + handler.onError(error) + return true } - if (typeof delay === "number" && delay > 0) { + if (typeof delay === 'number' && delay > 0) { setTimeout(() => { - handleReply(this[kDispatches]); - }, delay); + handleReply(this[kDispatches]) + }, delay) } else { - handleReply(this[kDispatches]); + handleReply(this[kDispatches]) } function handleReply(mockDispatches, _data = data) { - const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; - const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; + const optsHeaders = Array.isArray(opts.headers) + ? buildHeadersFromArray(opts.headers) + : opts.headers + const body = + typeof _data === 'function' + ? _data({ ...opts, headers: optsHeaders }) + : _data if (isPromise2(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); - return; - } - const responseData = getResponseData(body); - const responseHeaders = generateKeyValues(headers); - const responseTrailers = generateKeyValues(trailers); - handler.abort = nop; - handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler.onData(Buffer.from(responseData)); - handler.onComplete(responseTrailers); - deleteMockDispatch(mockDispatches, key); - } - function resume() { + body.then((newData) => handleReply(mockDispatches, newData)) + return + } + const responseData = getResponseData(body) + const responseHeaders = generateKeyValues(headers) + const responseTrailers = generateKeyValues(trailers) + handler.abort = nop + handler.onHeaders( + statusCode, + responseHeaders, + resume, + getStatusText(statusCode) + ) + handler.onData(Buffer.from(responseData)) + handler.onComplete(responseTrailers) + deleteMockDispatch(mockDispatches, key) } - return true; + function resume() {} + return true } function buildMockDispatch() { - const agent = this[kMockAgent]; - const origin = this[kOrigin]; - const originalDispatch = this[kOriginalDispatch]; + const agent = this[kMockAgent] + const origin = this[kOrigin] + const originalDispatch = this[kOriginalDispatch] return function dispatch(opts, handler) { if (agent.isMockActive) { try { - mockDispatch.call(this, opts, handler); + mockDispatch.call(this, opts, handler) } catch (error) { if (error instanceof MockNotMatchedError) { - const netConnect = agent[kGetNetConnect](); + const netConnect = agent[kGetNetConnect]() if (netConnect === false) { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); + throw new MockNotMatchedError( + `${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)` + ) } if (checkNetConnect(netConnect, origin)) { - originalDispatch.call(this, opts, handler); + originalDispatch.call(this, opts, handler) } else { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); + throw new MockNotMatchedError( + `${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)` + ) } } else { - throw error; + throw error } } } else { - originalDispatch.call(this, opts, handler); + originalDispatch.call(this, opts, handler) } - }; + } } function checkNetConnect(netConnect, origin) { - const url = new URL(origin); + const url = new URL(origin) if (netConnect === true) { - return true; - } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) { - return true; + return true + } else if ( + Array.isArray(netConnect) && + netConnect.some((matcher) => matchValue(matcher, url.host)) + ) { + return true } - return false; + return false } function buildMockOptions(opts) { if (opts) { - const { agent, ...mockOptions } = opts; - return mockOptions; + const { agent, ...mockOptions } = opts + return mockOptions } } module2.exports = { @@ -26788,15 +30912,18 @@ var require_mock_utils2 = __commonJS({ checkNetConnect, buildMockOptions, getHeaderByName - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-interceptor.js var require_mock_interceptor2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) { - "use strict"; - var { getResponseData, buildKey, addMockDispatch } = require_mock_utils2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-interceptor.js'( + exports, + module2 + ) { + 'use strict' + var { getResponseData, buildKey, addMockDispatch } = require_mock_utils2() var { kDispatches, kDispatchKey, @@ -26804,162 +30931,210 @@ var require_mock_interceptor2 = __commonJS({ kDefaultTrailers, kContentLength, kMockDispatch - } = require_mock_symbols2(); - var { InvalidArgumentError } = require_errors2(); - var { buildURL } = require_util8(); + } = require_mock_symbols2() + var { InvalidArgumentError } = require_errors2() + var { buildURL } = require_util8() var MockScope = class { constructor(mockDispatch) { - this[kMockDispatch] = mockDispatch; + this[kMockDispatch] = mockDispatch } /** * Delay a reply by a set amount in ms. */ delay(waitInMs) { - if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { - throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); + if ( + typeof waitInMs !== 'number' || + !Number.isInteger(waitInMs) || + waitInMs <= 0 + ) { + throw new InvalidArgumentError('waitInMs must be a valid integer > 0') } - this[kMockDispatch].delay = waitInMs; - return this; + this[kMockDispatch].delay = waitInMs + return this } /** * For a defined reply, never mark as consumed. */ persist() { - this[kMockDispatch].persist = true; - return this; + this[kMockDispatch].persist = true + return this } /** * Allow one to define a reply for a set amount of matching requests. */ times(repeatTimes) { - if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { - throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); + if ( + typeof repeatTimes !== 'number' || + !Number.isInteger(repeatTimes) || + repeatTimes <= 0 + ) { + throw new InvalidArgumentError( + 'repeatTimes must be a valid integer > 0' + ) } - this[kMockDispatch].times = repeatTimes; - return this; + this[kMockDispatch].times = repeatTimes + return this } - }; + } var MockInterceptor = class { constructor(opts, mockDispatches) { - if (typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object"); + if (typeof opts !== 'object') { + throw new InvalidArgumentError('opts must be an object') } - if (typeof opts.path === "undefined") { - throw new InvalidArgumentError("opts.path must be defined"); + if (typeof opts.path === 'undefined') { + throw new InvalidArgumentError('opts.path must be defined') } - if (typeof opts.method === "undefined") { - opts.method = "GET"; + if (typeof opts.method === 'undefined') { + opts.method = 'GET' } - if (typeof opts.path === "string") { + if (typeof opts.path === 'string') { if (opts.query) { - opts.path = buildURL(opts.path, opts.query); + opts.path = buildURL(opts.path, opts.query) } else { - const parsedURL = new URL(opts.path, "data://"); - opts.path = parsedURL.pathname + parsedURL.search; + const parsedURL = new URL(opts.path, 'data://') + opts.path = parsedURL.pathname + parsedURL.search } } - if (typeof opts.method === "string") { - opts.method = opts.method.toUpperCase(); + if (typeof opts.method === 'string') { + opts.method = opts.method.toUpperCase() } - this[kDispatchKey] = buildKey(opts); - this[kDispatches] = mockDispatches; - this[kDefaultHeaders] = {}; - this[kDefaultTrailers] = {}; - this[kContentLength] = false; + this[kDispatchKey] = buildKey(opts) + this[kDispatches] = mockDispatches + this[kDefaultHeaders] = {} + this[kDefaultTrailers] = {} + this[kContentLength] = false } createMockScopeDispatchData(statusCode, data, responseOptions = {}) { - const responseData = getResponseData(data); - const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; - const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; - const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; - return { statusCode, data, headers, trailers }; + const responseData = getResponseData(data) + const contentLength = this[kContentLength] + ? { 'content-length': responseData.length } + : {} + const headers = { + ...this[kDefaultHeaders], + ...contentLength, + ...responseOptions.headers + } + const trailers = { + ...this[kDefaultTrailers], + ...responseOptions.trailers + } + return { statusCode, data, headers, trailers } } validateReplyParameters(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { - throw new InvalidArgumentError("statusCode must be defined"); + if (typeof statusCode === 'undefined') { + throw new InvalidArgumentError('statusCode must be defined') } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); + if (typeof data === 'undefined') { + throw new InvalidArgumentError('data must be defined') } - if (typeof responseOptions !== "object") { - throw new InvalidArgumentError("responseOptions must be an object"); + if (typeof responseOptions !== 'object') { + throw new InvalidArgumentError('responseOptions must be an object') } } /** * Mock an undici request with a defined reply. */ reply(replyData) { - if (typeof replyData === "function") { + if (typeof replyData === 'function') { const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { - throw new InvalidArgumentError("reply options callback must return an object"); + const resolvedData = replyData(opts) + if (typeof resolvedData !== 'object') { + throw new InvalidArgumentError( + 'reply options callback must return an object' + ) } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); + const { + statusCode: statusCode2, + data: data2 = '', + responseOptions: responseOptions2 = {} + } = resolvedData + this.validateReplyParameters(statusCode2, data2, responseOptions2) return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) - }; - }; - const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); - return new MockScope(newMockDispatch2); - } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); - return new MockScope(newMockDispatch); + ...this.createMockScopeDispatchData( + statusCode2, + data2, + responseOptions2 + ) + } + } + const newMockDispatch2 = addMockDispatch( + this[kDispatches], + this[kDispatchKey], + wrappedDefaultsCallback + ) + return new MockScope(newMockDispatch2) + } + const [statusCode, data = '', responseOptions = {}] = [...arguments] + this.validateReplyParameters(statusCode, data, responseOptions) + const dispatchData = this.createMockScopeDispatchData( + statusCode, + data, + responseOptions + ) + const newMockDispatch = addMockDispatch( + this[kDispatches], + this[kDispatchKey], + dispatchData + ) + return new MockScope(newMockDispatch) } /** * Mock an undici request with a defined error. */ replyWithError(error) { - if (typeof error === "undefined") { - throw new InvalidArgumentError("error must be defined"); + if (typeof error === 'undefined') { + throw new InvalidArgumentError('error must be defined') } - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); - return new MockScope(newMockDispatch); + const newMockDispatch = addMockDispatch( + this[kDispatches], + this[kDispatchKey], + { error } + ) + return new MockScope(newMockDispatch) } /** * Set default reply headers on the interceptor for subsequent replies */ defaultReplyHeaders(headers) { - if (typeof headers === "undefined") { - throw new InvalidArgumentError("headers must be defined"); + if (typeof headers === 'undefined') { + throw new InvalidArgumentError('headers must be defined') } - this[kDefaultHeaders] = headers; - return this; + this[kDefaultHeaders] = headers + return this } /** * Set default reply trailers on the interceptor for subsequent replies */ defaultReplyTrailers(trailers) { - if (typeof trailers === "undefined") { - throw new InvalidArgumentError("trailers must be defined"); + if (typeof trailers === 'undefined') { + throw new InvalidArgumentError('trailers must be defined') } - this[kDefaultTrailers] = trailers; - return this; + this[kDefaultTrailers] = trailers + return this } /** * Set reply content length header for replies on the interceptor */ replyContentLength() { - this[kContentLength] = true; - return this; + this[kContentLength] = true + return this } - }; - module2.exports.MockInterceptor = MockInterceptor; - module2.exports.MockScope = MockScope; + } + module2.exports.MockInterceptor = MockInterceptor + module2.exports.MockScope = MockScope } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-client.js var require_mock_client2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-client.js"(exports, module2) { - "use strict"; - var { promisify } = require("util"); - var Client = require_client2(); - var { buildMockDispatch } = require_mock_utils2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-client.js'( + exports, + module2 + ) { + 'use strict' + var { promisify } = require('util') + var Client = require_client2() + var { buildMockDispatch } = require_mock_utils2() var { kDispatches, kMockAgent, @@ -26968,51 +31143,56 @@ var require_mock_client2 = __commonJS({ kOrigin, kOriginalDispatch, kConnected - } = require_mock_symbols2(); - var { MockInterceptor } = require_mock_interceptor2(); - var Symbols = require_symbols6(); - var { InvalidArgumentError } = require_errors2(); + } = require_mock_symbols2() + var { MockInterceptor } = require_mock_interceptor2() + var Symbols = require_symbols6() + var { InvalidArgumentError } = require_errors2() var MockClient = class extends Client { constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; + super(origin, opts) + if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError( + 'Argument opts.agent must implement Agent' + ) + } + this[kMockAgent] = opts.agent + this[kOrigin] = origin + this[kDispatches] = [] + this[kConnected] = 1 + this[kOriginalDispatch] = this.dispatch + this[kOriginalClose] = this.close.bind(this) + this.dispatch = buildMockDispatch.call(this) + this.close = this[kClose] } get [Symbols.kConnected]() { - return this[kConnected]; + return this[kConnected] } /** * Sets up the base interceptor for mocking replies from undici. */ intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); + return new MockInterceptor(opts, this[kDispatches]) } async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + await promisify(this[kOriginalClose])() + this[kConnected] = 0 + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]) } - }; - module2.exports = MockClient; + } + module2.exports = MockClient } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-pool.js var require_mock_pool2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-pool.js"(exports, module2) { - "use strict"; - var { promisify } = require("util"); - var Pool = require_pool2(); - var { buildMockDispatch } = require_mock_utils2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-pool.js'( + exports, + module2 + ) { + 'use strict' + var { promisify } = require('util') + var Pool = require_pool2() + var { buildMockDispatch } = require_mock_utils2() var { kDispatches, kMockAgent, @@ -27021,120 +31201,139 @@ var require_mock_pool2 = __commonJS({ kOrigin, kOriginalDispatch, kConnected - } = require_mock_symbols2(); - var { MockInterceptor } = require_mock_interceptor2(); - var Symbols = require_symbols6(); - var { InvalidArgumentError } = require_errors2(); + } = require_mock_symbols2() + var { MockInterceptor } = require_mock_interceptor2() + var Symbols = require_symbols6() + var { InvalidArgumentError } = require_errors2() var MockPool = class extends Pool { constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; + super(origin, opts) + if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError( + 'Argument opts.agent must implement Agent' + ) + } + this[kMockAgent] = opts.agent + this[kOrigin] = origin + this[kDispatches] = [] + this[kConnected] = 1 + this[kOriginalDispatch] = this.dispatch + this[kOriginalClose] = this.close.bind(this) + this.dispatch = buildMockDispatch.call(this) + this.close = this[kClose] } get [Symbols.kConnected]() { - return this[kConnected]; + return this[kConnected] } /** * Sets up the base interceptor for mocking replies from undici. */ intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); + return new MockInterceptor(opts, this[kDispatches]) } async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + await promisify(this[kOriginalClose])() + this[kConnected] = 0 + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]) } - }; - module2.exports = MockPool; + } + module2.exports = MockPool } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/pluralizer.js var require_pluralizer2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/pluralizer.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/pluralizer.js'( + exports, + module2 + ) { + 'use strict' var singulars = { - pronoun: "it", - is: "is", - was: "was", - this: "this" - }; + pronoun: 'it', + is: 'is', + was: 'was', + this: 'this' + } var plurals = { - pronoun: "they", - is: "are", - was: "were", - this: "these" - }; + pronoun: 'they', + is: 'are', + was: 'were', + this: 'these' + } module2.exports = class Pluralizer { constructor(singular, plural) { - this.singular = singular; - this.plural = plural; + this.singular = singular + this.plural = plural } pluralize(count) { - const one = count === 1; - const keys = one ? singulars : plurals; - const noun = one ? this.singular : this.plural; - return { ...keys, count, noun }; + const one = count === 1 + const keys = one ? singulars : plurals + const noun = one ? this.singular : this.plural + return { ...keys, count, noun } } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/pending-interceptors-formatter.js var require_pending_interceptors_formatter2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) { - "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/pending-interceptors-formatter.js'( + exports, + module2 + ) { + 'use strict' + var { Transform } = require('stream') + var { Console } = require('console') module2.exports = class PendingInterceptorsFormatter { constructor({ disableColors } = {}) { this.transform = new Transform({ transform(chunk, _enc, cb) { - cb(null, chunk); + cb(null, chunk) } - }); + }) this.logger = new Console({ stdout: this.transform, inspectOptions: { colors: !disableColors && !process.env.CI } - }); + }) } format(pendingInterceptors) { const withPrettyHeaders = pendingInterceptors.map( - ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ + ({ + method, + path, + data: { statusCode }, + persist, + times, + timesInvoked, + origin + }) => ({ Method: method, Origin: origin, Path: path, - "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", + 'Status code': statusCode, + Persistent: persist ? '\u2705' : '\u274C', Invocations: timesInvoked, Remaining: persist ? Infinity : times - timesInvoked }) - ); - this.logger.table(withPrettyHeaders); - return this.transform.read().toString(); + ) + this.logger.table(withPrettyHeaders) + return this.transform.read().toString() } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-agent.js var require_mock_agent2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-agent.js"(exports, module2) { - "use strict"; - var { kClients } = require_symbols6(); - var Agent = require_agent2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/mock/mock-agent.js'( + exports, + module2 + ) { + 'use strict' + var { kClients } = require_symbols6() + var Agent = require_agent2() var { kAgent, kMockAgentSet, @@ -27145,201 +31344,240 @@ var require_mock_agent2 = __commonJS({ kGetNetConnect, kOptions, kFactory - } = require_mock_symbols2(); - var MockClient = require_mock_client2(); - var MockPool = require_mock_pool2(); - var { matchValue, buildMockOptions } = require_mock_utils2(); - var { InvalidArgumentError, UndiciError } = require_errors2(); - var Dispatcher = require_dispatcher2(); - var Pluralizer = require_pluralizer2(); - var PendingInterceptorsFormatter = require_pending_interceptors_formatter2(); + } = require_mock_symbols2() + var MockClient = require_mock_client2() + var MockPool = require_mock_pool2() + var { matchValue, buildMockOptions } = require_mock_utils2() + var { InvalidArgumentError, UndiciError } = require_errors2() + var Dispatcher = require_dispatcher2() + var Pluralizer = require_pluralizer2() + var PendingInterceptorsFormatter = require_pending_interceptors_formatter2() var FakeWeakRef = class { constructor(value) { - this.value = value; + this.value = value } deref() { - return this.value; + return this.value } - }; + } var MockAgent = class extends Dispatcher { constructor(opts) { - super(opts); - this[kNetConnect] = true; - this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + super(opts) + this[kNetConnect] = true + this[kIsMockActive] = true + if (opts && opts.agent && typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError( + 'Argument opts.agent must implement Agent' + ) } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); - this[kAgent] = agent; - this[kClients] = agent[kClients]; - this[kOptions] = buildMockOptions(opts); + const agent = opts && opts.agent ? opts.agent : new Agent(opts) + this[kAgent] = agent + this[kClients] = agent[kClients] + this[kOptions] = buildMockOptions(opts) } get(origin) { - let dispatcher = this[kMockAgentGet](origin); + let dispatcher = this[kMockAgentGet](origin) if (!dispatcher) { - dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); + dispatcher = this[kFactory](origin) + this[kMockAgentSet](origin, dispatcher) } - return dispatcher; + return dispatcher } dispatch(opts, handler) { - this.get(opts.origin); - return this[kAgent].dispatch(opts, handler); + this.get(opts.origin) + return this[kAgent].dispatch(opts, handler) } async close() { - await this[kAgent].close(); - this[kClients].clear(); + await this[kAgent].close() + this[kClients].clear() } deactivate() { - this[kIsMockActive] = false; + this[kIsMockActive] = false } activate() { - this[kIsMockActive] = true; + this[kIsMockActive] = true } enableNetConnect(matcher) { - if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { + if ( + typeof matcher === 'string' || + typeof matcher === 'function' || + matcher instanceof RegExp + ) { if (Array.isArray(this[kNetConnect])) { - this[kNetConnect].push(matcher); + this[kNetConnect].push(matcher) } else { - this[kNetConnect] = [matcher]; + this[kNetConnect] = [matcher] } - } else if (typeof matcher === "undefined") { - this[kNetConnect] = true; + } else if (typeof matcher === 'undefined') { + this[kNetConnect] = true } else { - throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); + throw new InvalidArgumentError( + 'Unsupported matcher. Must be one of String|Function|RegExp.' + ) } } disableNetConnect() { - this[kNetConnect] = false; + this[kNetConnect] = false } // This is required to bypass issues caused by using global symbols - see: // https://github.com/nodejs/undici/issues/1447 get isMockActive() { - return this[kIsMockActive]; + return this[kIsMockActive] } [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(dispatcher)); + this[kClients].set(origin, new FakeWeakRef(dispatcher)) } [kFactory](origin) { - const mockOptions = Object.assign({ agent: this }, this[kOptions]); - return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); + const mockOptions = Object.assign({ agent: this }, this[kOptions]) + return this[kOptions] && this[kOptions].connections === 1 + ? new MockClient(origin, mockOptions) + : new MockPool(origin, mockOptions) } [kMockAgentGet](origin) { - const ref = this[kClients].get(origin); + const ref = this[kClients].get(origin) if (ref) { - return ref.deref(); + return ref.deref() } - if (typeof origin !== "string") { - const dispatcher = this[kFactory]("http://localhost:9999"); - this[kMockAgentSet](origin, dispatcher); - return dispatcher; + if (typeof origin !== 'string') { + const dispatcher = this[kFactory]('http://localhost:9999') + this[kMockAgentSet](origin, dispatcher) + return dispatcher } for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); - if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { - const dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; - return dispatcher; + const nonExplicitDispatcher = nonExplicitRef.deref() + if ( + nonExplicitDispatcher && + typeof keyMatcher !== 'string' && + matchValue(keyMatcher, origin) + ) { + const dispatcher = this[kFactory](origin) + this[kMockAgentSet](origin, dispatcher) + dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches] + return dispatcher } } } [kGetNetConnect]() { - return this[kNetConnect]; + return this[kNetConnect] } pendingInterceptors() { - const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + const mockAgentClients = this[kClients] + return Array.from(mockAgentClients.entries()) + .flatMap(([origin, scope]) => + scope + .deref() + [kDispatches].map((dispatch) => ({ ...dispatch, origin })) + ) + .filter(({ pending }) => pending) } - assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { - const pending = this.pendingInterceptors(); + assertNoPendingInterceptors({ + pendingInterceptorsFormatter = new PendingInterceptorsFormatter() + } = {}) { + const pending = this.pendingInterceptors() if (pending.length === 0) { - return; - } - const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); - throw new UndiciError(` + return + } + const pluralizer = new Pluralizer( + 'interceptor', + 'interceptors' + ).pluralize(pending.length) + throw new UndiciError( + ` ${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: ${pendingInterceptorsFormatter.format(pending)} -`.trim()); +`.trim() + ) } - }; - module2.exports = MockAgent; + } + module2.exports = MockAgent } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/proxy-agent.js var require_proxy_agent2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/proxy-agent.js"(exports, module2) { - "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6(); - var { URL: URL3 } = require("url"); - var Agent = require_agent2(); - var Pool = require_pool2(); - var DispatcherBase = require_dispatcher_base2(); - var { InvalidArgumentError, RequestAbortedError } = require_errors2(); - var buildConnector = require_connect2(); - var kAgent = Symbol("proxy agent"); - var kClient = Symbol("proxy client"); - var kProxyHeaders = Symbol("proxy headers"); - var kRequestTls = Symbol("request tls settings"); - var kProxyTls = Symbol("proxy tls settings"); - var kConnectEndpoint = Symbol("connect endpoint function"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/proxy-agent.js'( + exports, + module2 + ) { + 'use strict' + var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6() + var { URL: URL3 } = require('url') + var Agent = require_agent2() + var Pool = require_pool2() + var DispatcherBase = require_dispatcher_base2() + var { InvalidArgumentError, RequestAbortedError } = require_errors2() + var buildConnector = require_connect2() + var kAgent = Symbol('proxy agent') + var kClient = Symbol('proxy client') + var kProxyHeaders = Symbol('proxy headers') + var kRequestTls = Symbol('request tls settings') + var kProxyTls = Symbol('proxy tls settings') + var kConnectEndpoint = Symbol('connect endpoint function') function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; + return protocol === 'https:' ? 443 : 80 } function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; + if (typeof opts === 'string') { + opts = { uri: opts } } if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + throw new InvalidArgumentError('Proxy opts.uri is mandatory') } return { uri: opts.uri, - protocol: opts.protocol || "https" - }; + protocol: opts.protocol || 'https' + } } function defaultFactory(origin, opts) { - return new Pool(origin, opts); + return new Pool(origin, opts) } var ProxyAgent = class extends DispatcherBase { constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; + super(opts) + this[kProxy] = buildProxyOptions(opts) + this[kAgent] = new Agent(opts) + this[kInterceptors] = + opts.interceptors && + opts.interceptors.ProxyAgent && + Array.isArray(opts.interceptors.ProxyAgent) + ? opts.interceptors.ProxyAgent + : [] + if (typeof opts === 'string') { + opts = { uri: opts } } if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + throw new InvalidArgumentError('Proxy opts.uri is mandatory') } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); + const { clientFactory = defaultFactory } = opts + if (typeof clientFactory !== 'function') { + throw new InvalidArgumentError( + 'Proxy opts.clientFactory must be a function.' + ) } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; + this[kRequestTls] = opts.requestTls + this[kProxyTls] = opts.proxyTls + this[kProxyHeaders] = opts.headers || {} if (opts.auth && opts.token) { - throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); + throw new InvalidArgumentError( + 'opts.auth cannot be used in combination with opts.token' + ) } else if (opts.auth) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; + this[kProxyHeaders]['proxy-authorization'] = `Basic ${opts.auth}` } else if (opts.token) { - this[kProxyHeaders]["proxy-authorization"] = opts.token; + this[kProxyHeaders]['proxy-authorization'] = opts.token } - const resolvedUrl = new URL3(opts.uri); - const { origin, port, host } = resolvedUrl; - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); + const resolvedUrl = new URL3(opts.uri) + const { origin, port, host } = resolvedUrl + const connect = buildConnector({ ...opts.proxyTls }) + this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }) + this[kClient] = clientFactory(resolvedUrl, { connect }) this[kAgent] = new Agent({ ...opts, connect: async (opts2, callback) => { - let requestedHost = opts2.host; + let requestedHost = opts2.host if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; + requestedHost += `:${defaultProtocolPort(opts2.protocol)}` } try { const { socket, statusCode } = await this[kClient].connect({ @@ -27351,33 +31589,39 @@ var require_proxy_agent2 = __commonJS({ ...this[kProxyHeaders], host } - }); + }) if (statusCode !== 200) { - socket.on("error", () => { - }).destroy(); - callback(new RequestAbortedError("Proxy response !== 200 when HTTP Tunneling")); + socket.on('error', () => {}).destroy() + callback( + new RequestAbortedError( + 'Proxy response !== 200 when HTTP Tunneling' + ) + ) } - if (opts2.protocol !== "https:") { - callback(null, socket); - return; + if (opts2.protocol !== 'https:') { + callback(null, socket) + return } - let servername; + let servername if (this[kRequestTls]) { - servername = this[kRequestTls].servername; + servername = this[kRequestTls].servername } else { - servername = opts2.servername; + servername = opts2.servername } - this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); + this[kConnectEndpoint]( + { ...opts2, servername, httpSocket: socket }, + callback + ) } catch (err) { - callback(err); + callback(err) } } - }); + }) } dispatch(opts, handler) { - const { host } = new URL3(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); + const { host } = new URL3(opts.origin) + const headers = buildHeaders(opts.headers) + throwIfProxyAuthIsSent(headers) return this[kAgent].dispatch( { ...opts, @@ -27387,414 +31631,430 @@ var require_proxy_agent2 = __commonJS({ } }, handler - ); + ) } async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); + await this[kAgent].close() + await this[kClient].close() } async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); + await this[kAgent].destroy() + await this[kClient].destroy() } - }; + } function buildHeaders(headers) { if (Array.isArray(headers)) { - const headersPair = {}; + const headersPair = {} for (let i = 0; i < headers.length; i += 2) { - headersPair[headers[i]] = headers[i + 1]; + headersPair[headers[i]] = headers[i + 1] } - return headersPair; + return headersPair } - return headers; + return headers } function throwIfProxyAuthIsSent(headers) { - const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); + const existProxyAuth = + headers && + Object.keys(headers).find( + (key) => key.toLowerCase() === 'proxy-authorization' + ) if (existProxyAuth) { - throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); + throw new InvalidArgumentError( + 'Proxy-Authorization should be sent in ProxyAgent constructor' + ) } } - module2.exports = ProxyAgent; + module2.exports = ProxyAgent } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/global.js var require_global4 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/global.js"(exports, module2) { - "use strict"; - var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors2(); - var Agent = require_agent2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/global.js'( + exports, + module2 + ) { + 'use strict' + var globalDispatcher = Symbol.for('undici.globalDispatcher.1') + var { InvalidArgumentError } = require_errors2() + var Agent = require_agent2() if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); + setGlobalDispatcher(new Agent()) } function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); + if (!agent || typeof agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument agent must implement Agent') } Object.defineProperty(globalThis, globalDispatcher, { value: agent, writable: true, enumerable: false, configurable: false - }); + }) } function getGlobalDispatcher() { - return globalThis[globalDispatcher]; + return globalThis[globalDispatcher] } module2.exports = { setGlobalDispatcher, getGlobalDispatcher - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/handler/DecoratorHandler.js var require_DecoratorHandler2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/handler/DecoratorHandler.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/handler/DecoratorHandler.js'( + exports, + module2 + ) { + 'use strict' module2.exports = class DecoratorHandler { constructor(handler) { - this.handler = handler; + this.handler = handler } onConnect(...args) { - return this.handler.onConnect(...args); + return this.handler.onConnect(...args) } onError(...args) { - return this.handler.onError(...args); + return this.handler.onError(...args) } onUpgrade(...args) { - return this.handler.onUpgrade(...args); + return this.handler.onUpgrade(...args) } onHeaders(...args) { - return this.handler.onHeaders(...args); + return this.handler.onHeaders(...args) } onData(...args) { - return this.handler.onData(...args); + return this.handler.onData(...args) } onComplete(...args) { - return this.handler.onComplete(...args); + return this.handler.onComplete(...args) } onBodySent(...args) { - return this.handler.onBodySent(...args); + return this.handler.onBodySent(...args) } - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/headers.js var require_headers2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/headers.js"(exports, module2) { - "use strict"; - var { kHeadersList } = require_symbols6(); - var { kGuard } = require_symbols7(); - var { kEnumerableProperty } = require_util8(); - var { - makeIterator, - isValidHeaderName, - isValidHeaderValue - } = require_util9(); - var { webidl } = require_webidl2(); - var assert = require("assert"); - var kHeadersMap = Symbol("headers map"); - var kHeadersSortedMap = Symbol("headers map sorted"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/headers.js'( + exports, + module2 + ) { + 'use strict' + var { kHeadersList } = require_symbols6() + var { kGuard } = require_symbols7() + var { kEnumerableProperty } = require_util8() + var { makeIterator, isValidHeaderName, isValidHeaderValue } = + require_util9() + var { webidl } = require_webidl2() + var assert = require('assert') + var kHeadersMap = Symbol('headers map') + var kHeadersSortedMap = Symbol('headers map sorted') function headerValueNormalize(potentialValue) { - let i = potentialValue.length; - while (/[\r\n\t ]/.test(potentialValue.charAt(--i))) - ; - return potentialValue.slice(0, i + 1).replace(/^[\r\n\t ]+/, ""); + let i = potentialValue.length + while (/[\r\n\t ]/.test(potentialValue.charAt(--i))); + return potentialValue.slice(0, i + 1).replace(/^[\r\n\t ]+/, '') } function fill(headers, object) { if (Array.isArray(object)) { for (const header of object) { if (header.length !== 2) { throw webidl.errors.exception({ - header: "Headers constructor", + header: 'Headers constructor', message: `expected name/value pair to be length 2, found ${header.length}.` - }); + }) } - headers.append(header[0], header[1]); + headers.append(header[0], header[1]) } - } else if (typeof object === "object" && object !== null) { + } else if (typeof object === 'object' && object !== null) { for (const [key, value] of Object.entries(object)) { - headers.append(key, value); + headers.append(key, value) } } else { throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] - }); + prefix: 'Headers constructor', + argument: 'Argument 1', + types: [ + 'sequence>', + 'record' + ] + }) } } var HeadersList = class _HeadersList { /** @type {[string, string][]|null} */ - cookies = null; + cookies = null constructor(init) { if (init instanceof _HeadersList) { - this[kHeadersMap] = new Map(init[kHeadersMap]); - this[kHeadersSortedMap] = init[kHeadersSortedMap]; - this.cookies = init.cookies; + this[kHeadersMap] = new Map(init[kHeadersMap]) + this[kHeadersSortedMap] = init[kHeadersSortedMap] + this.cookies = init.cookies } else { - this[kHeadersMap] = new Map(init); - this[kHeadersSortedMap] = null; + this[kHeadersMap] = new Map(init) + this[kHeadersSortedMap] = null } } // https://fetch.spec.whatwg.org/#header-list-contains contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); + name = name.toLowerCase() + return this[kHeadersMap].has(name) } clear() { - this[kHeadersMap].clear(); - this[kHeadersSortedMap] = null; - this.cookies = null; + this[kHeadersMap].clear() + this[kHeadersSortedMap] = null + this.cookies = null } // https://fetch.spec.whatwg.org/#concept-header-list-append append(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - const exists = this[kHeadersMap].get(lowercaseName); + this[kHeadersSortedMap] = null + const lowercaseName = name.toLowerCase() + const exists = this[kHeadersMap].get(lowercaseName) if (exists) { - const delimiter = lowercaseName === "cookie" ? "; " : ", "; + const delimiter = lowercaseName === 'cookie' ? '; ' : ', ' this[kHeadersMap].set(lowercaseName, { name: exists.name, value: `${exists.value}${delimiter}${value}` - }); + }) } else { - this[kHeadersMap].set(lowercaseName, { name, value }); + this[kHeadersMap].set(lowercaseName, { name, value }) } - if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); + if (lowercaseName === 'set-cookie') { + this.cookies ??= [] + this.cookies.push(value) } } // https://fetch.spec.whatwg.org/#concept-header-list-set set(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - if (lowercaseName === "set-cookie") { - this.cookies = [value]; + this[kHeadersSortedMap] = null + const lowercaseName = name.toLowerCase() + if (lowercaseName === 'set-cookie') { + this.cookies = [value] } - return this[kHeadersMap].set(lowercaseName, { name, value }); + return this[kHeadersMap].set(lowercaseName, { name, value }) } // https://fetch.spec.whatwg.org/#concept-header-list-delete delete(name) { - this[kHeadersSortedMap] = null; - name = name.toLowerCase(); - if (name === "set-cookie") { - this.cookies = null; + this[kHeadersSortedMap] = null + name = name.toLowerCase() + if (name === 'set-cookie') { + this.cookies = null } - return this[kHeadersMap].delete(name); + return this[kHeadersMap].delete(name) } // https://fetch.spec.whatwg.org/#concept-header-list-get get(name) { if (!this.contains(name)) { - return null; + return null } - return this[kHeadersMap].get(name.toLowerCase())?.value ?? null; + return this[kHeadersMap].get(name.toLowerCase())?.value ?? null } *[Symbol.iterator]() { for (const [name, { value }] of this[kHeadersMap]) { - yield [name, value]; + yield [name, value] } } get entries() { - const headers = {}; + const headers = {} if (this[kHeadersMap].size) { for (const { name, value } of this[kHeadersMap].values()) { - headers[name] = value; + headers[name] = value } } - return headers; + return headers } - }; + } var Headers = class _Headers { constructor(init = void 0) { - this[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; + this[kHeadersList] = new HeadersList() + this[kGuard] = 'none' if (init !== void 0) { - init = webidl.converters.HeadersInit(init); - fill(this, init); + init = webidl.converters.HeadersInit(init) + fill(this, init) } } // https://fetch.spec.whatwg.org/#dom-headers-append append(name, value) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.append' }) + name = webidl.converters.ByteString(name) + value = webidl.converters.ByteString(value) + value = headerValueNormalize(value) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.append", + prefix: 'Headers.append', value: name, - type: "header name" - }); + type: 'header name' + }) } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.append", + prefix: 'Headers.append', value, - type: "header value" - }); + type: 'header value' + }) } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { + if (this[kGuard] === 'immutable') { + throw new TypeError('immutable') + } else if (this[kGuard] === 'request-no-cors') { } - return this[kHeadersList].append(name, value); + return this[kHeadersList].append(name, value) } // https://fetch.spec.whatwg.org/#dom-headers-delete delete(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.delete' }) + name = webidl.converters.ByteString(name) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.delete", + prefix: 'Headers.delete', value: name, - type: "header name" - }); + type: 'header name' + }) } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { + if (this[kGuard] === 'immutable') { + throw new TypeError('immutable') + } else if (this[kGuard] === 'request-no-cors') { } if (!this[kHeadersList].contains(name)) { - return; + return } - return this[kHeadersList].delete(name); + return this[kHeadersList].delete(name) } // https://fetch.spec.whatwg.org/#dom-headers-get get(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.get' }) + name = webidl.converters.ByteString(name) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.get", + prefix: 'Headers.get', value: name, - type: "header name" - }); + type: 'header name' + }) } - return this[kHeadersList].get(name); + return this[kHeadersList].get(name) } // https://fetch.spec.whatwg.org/#dom-headers-has has(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.has' }) + name = webidl.converters.ByteString(name) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.has", + prefix: 'Headers.has', value: name, - type: "header name" - }); + type: 'header name' + }) } - return this[kHeadersList].contains(name); + return this[kHeadersList].contains(name) } // https://fetch.spec.whatwg.org/#dom-headers-set set(name, value) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 2, { header: 'Headers.set' }) + name = webidl.converters.ByteString(name) + value = webidl.converters.ByteString(value) + value = headerValueNormalize(value) if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix: 'Headers.set', value: name, - type: "header name" - }); + type: 'header name' + }) } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix: 'Headers.set', value, - type: "header value" - }); + type: 'header value' + }) } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { + if (this[kGuard] === 'immutable') { + throw new TypeError('immutable') + } else if (this[kGuard] === 'request-no-cors') { } - return this[kHeadersList].set(name, value); + return this[kHeadersList].set(name, value) } // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie getSetCookie() { - webidl.brandCheck(this, _Headers); - const list = this[kHeadersList].cookies; + webidl.brandCheck(this, _Headers) + const list = this[kHeadersList].cookies if (list) { - return [...list]; + return [...list] } - return []; + return [] } // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine get [kHeadersSortedMap]() { if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; + return this[kHeadersList][kHeadersSortedMap] } - const headers = []; - const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; + const headers = [] + const names = [...this[kHeadersList]].sort((a, b) => + a[0] < b[0] ? -1 : 1 + ) + const cookies = this[kHeadersList].cookies for (const [name, value] of names) { - if (name === "set-cookie") { + if (name === 'set-cookie') { for (const value2 of cookies) { - headers.push([name, value2]); + headers.push([name, value2]) } } else { - assert(value !== null); - headers.push([name, value]); + assert(value !== null) + headers.push([name, value]) } } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; + this[kHeadersList][kHeadersSortedMap] = headers + return headers } keys() { - webidl.brandCheck(this, _Headers); + webidl.brandCheck(this, _Headers) return makeIterator( () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); + 'Headers', + 'key' + ) } values() { - webidl.brandCheck(this, _Headers); + webidl.brandCheck(this, _Headers) return makeIterator( () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); + 'Headers', + 'value' + ) } entries() { - webidl.brandCheck(this, _Headers); + webidl.brandCheck(this, _Headers) return makeIterator( () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); + 'Headers', + 'key+value' + ) } /** * @param {(value: string, key: string, self: Headers) => void} callbackFn * @param {unknown} thisArg */ forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { + webidl.brandCheck(this, _Headers) + webidl.argumentLengthCheck(arguments, 1, { header: 'Headers.forEach' }) + if (typeof callbackFn !== 'function') { throw new TypeError( "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); + ) } for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); + callbackFn.apply(thisArg, [value, key, this]) } } - [Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, _Headers); - return this[kHeadersList]; + [Symbol.for('nodejs.util.inspect.custom')]() { + webidl.brandCheck(this, _Headers) + return this[kHeadersList] } - }; - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + } + Headers.prototype[Symbol.iterator] = Headers.prototype.entries Object.defineProperties(Headers.prototype, { append: kEnumerableProperty, delete: kEnumerableProperty, @@ -27808,39 +32068,45 @@ var require_headers2 = __commonJS({ forEach: kEnumerableProperty, [Symbol.iterator]: { enumerable: false }, [Symbol.toStringTag]: { - value: "Headers", + value: 'Headers', configurable: true } - }); - webidl.converters.HeadersInit = function(V) { - if (webidl.util.Type(V) === "Object") { + }) + webidl.converters.HeadersInit = function (V) { + if (webidl.util.Type(V) === 'Object') { if (V[Symbol.iterator]) { - return webidl.converters["sequence>"](V); + return webidl.converters['sequence>'](V) } - return webidl.converters["record"](V); + return webidl.converters['record'](V) } throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] - }); - }; + prefix: 'Headers constructor', + argument: 'Argument 1', + types: [ + 'sequence>', + 'record' + ] + }) + } module2.exports = { fill, Headers, HeadersList - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/response.js var require_response2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/response.js"(exports, module2) { - "use strict"; - var { Headers, HeadersList, fill } = require_headers2(); - var { extractBody, cloneBody, mixinBody } = require_body2(); - var util = require_util8(); - var { kEnumerableProperty } = util; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/response.js'( + exports, + module2 + ) { + 'use strict' + var { Headers, HeadersList, fill } = require_headers2() + var { extractBody, cloneBody, mixinBody } = require_body2() + var util = require_util8() + var { kEnumerableProperty } = util var { isValidReasonPhrase, isCancelled, @@ -27849,164 +32115,175 @@ var require_response2 = __commonJS({ serializeJavascriptValueToJSONString, isErrorLike, isomorphicEncode - } = require_util9(); + } = require_util9() var { redirectStatus, nullBodyStatus, DOMException: DOMException2 - } = require_constants5(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); - var { webidl } = require_webidl2(); - var { FormData } = require_formdata2(); - var { getGlobalOrigin } = require_global3(); - var { URLSerializer } = require_dataURL2(); - var { kHeadersList } = require_symbols6(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream = globalThis.ReadableStream || require("stream/web").ReadableStream; + } = require_constants5() + var { kState, kHeaders, kGuard, kRealm } = require_symbols7() + var { webidl } = require_webidl2() + var { FormData } = require_formdata2() + var { getGlobalOrigin } = require_global3() + var { URLSerializer } = require_dataURL2() + var { kHeadersList } = require_symbols6() + var assert = require('assert') + var { types } = require('util') + var ReadableStream = + globalThis.ReadableStream || require('stream/web').ReadableStream var Response = class _Response { // Creates network error Response. static error() { - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - return responseObject; + const relevantRealm = { settingsObject: {} } + const responseObject = new _Response() + responseObject[kState] = makeNetworkError() + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kHeadersList] = + responseObject[kState].headersList + responseObject[kHeaders][kGuard] = 'immutable' + responseObject[kHeaders][kRealm] = relevantRealm + return responseObject } // https://fetch.spec.whatwg.org/#dom-response-json static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + webidl.argumentLengthCheck(arguments, 1, { header: 'Response.json' }) if (init !== null) { - init = webidl.converters.ResponseInit(init); + init = webidl.converters.ResponseInit(init) } - const bytes = new TextEncoder("utf-8").encode( + const bytes = new TextEncoder('utf-8').encode( serializeJavascriptValueToJSONString(data) - ); - const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); - return responseObject; + ) + const body = extractBody(bytes) + const relevantRealm = { settingsObject: {} } + const responseObject = new _Response() + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kGuard] = 'response' + responseObject[kHeaders][kRealm] = relevantRealm + initializeResponse(responseObject, init, { + body: body[0], + type: 'application/json' + }) + return responseObject } // Creates a redirect Response that redirects to url with status status. static redirect(url, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); - url = webidl.converters.USVString(url); - status = webidl.converters["unsigned short"](status); - let parsedURL; + const relevantRealm = { settingsObject: {} } + webidl.argumentLengthCheck(arguments, 1, { + header: 'Response.redirect' + }) + url = webidl.converters.USVString(url) + status = webidl.converters['unsigned short'](status) + let parsedURL try { - parsedURL = new URL(url, getGlobalOrigin()); + parsedURL = new URL(url, getGlobalOrigin()) } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url), { - cause: err - }); + throw Object.assign( + new TypeError('Failed to parse URL from ' + url), + { + cause: err + } + ) } if (!redirectStatus.includes(status)) { - throw new RangeError("Invalid status code " + status); + throw new RangeError('Invalid status code ' + status) } - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - responseObject[kState].status = status; - const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); - return responseObject; + const responseObject = new _Response() + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kGuard] = 'immutable' + responseObject[kHeaders][kRealm] = relevantRealm + responseObject[kState].status = status + const value = isomorphicEncode(URLSerializer(parsedURL)) + responseObject[kState].headersList.append('location', value) + return responseObject } // https://fetch.spec.whatwg.org/#dom-response constructor(body = null, init = {}) { if (body !== null) { - body = webidl.converters.BodyInit(body); - } - init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; - this[kState] = makeResponse({}); - this[kHeaders] = new Headers(); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; - let bodyWithType = null; + body = webidl.converters.BodyInit(body) + } + init = webidl.converters.ResponseInit(init) + this[kRealm] = { settingsObject: {} } + this[kState] = makeResponse({}) + this[kHeaders] = new Headers() + this[kHeaders][kGuard] = 'response' + this[kHeaders][kHeadersList] = this[kState].headersList + this[kHeaders][kRealm] = this[kRealm] + let bodyWithType = null if (body != null) { - const [extractedBody, type] = extractBody(body); - bodyWithType = { body: extractedBody, type }; + const [extractedBody, type] = extractBody(body) + bodyWithType = { body: extractedBody, type } } - initializeResponse(this, init, bodyWithType); + initializeResponse(this, init, bodyWithType) } // Returns response’s type, e.g., "cors". get type() { - webidl.brandCheck(this, _Response); - return this[kState].type; + webidl.brandCheck(this, _Response) + return this[kState].type } // Returns response’s URL, if it has one; otherwise the empty string. get url() { - webidl.brandCheck(this, _Response); - const urlList = this[kState].urlList; - const url = urlList[urlList.length - 1] ?? null; + webidl.brandCheck(this, _Response) + const urlList = this[kState].urlList + const url = urlList[urlList.length - 1] ?? null if (url === null) { - return ""; + return '' } - return URLSerializer(url, true); + return URLSerializer(url, true) } // Returns whether response was obtained through a redirect. get redirected() { - webidl.brandCheck(this, _Response); - return this[kState].urlList.length > 1; + webidl.brandCheck(this, _Response) + return this[kState].urlList.length > 1 } // Returns response’s status. get status() { - webidl.brandCheck(this, _Response); - return this[kState].status; + webidl.brandCheck(this, _Response) + return this[kState].status } // Returns whether response’s status is an ok status. get ok() { - webidl.brandCheck(this, _Response); - return this[kState].status >= 200 && this[kState].status <= 299; + webidl.brandCheck(this, _Response) + return this[kState].status >= 200 && this[kState].status <= 299 } // Returns response’s status message. get statusText() { - webidl.brandCheck(this, _Response); - return this[kState].statusText; + webidl.brandCheck(this, _Response) + return this[kState].statusText } // Returns response’s headers as Headers. get headers() { - webidl.brandCheck(this, _Response); - return this[kHeaders]; + webidl.brandCheck(this, _Response) + return this[kHeaders] } get body() { - webidl.brandCheck(this, _Response); - return this[kState].body ? this[kState].body.stream : null; + webidl.brandCheck(this, _Response) + return this[kState].body ? this[kState].body.stream : null } get bodyUsed() { - webidl.brandCheck(this, _Response); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + webidl.brandCheck(this, _Response) + return !!this[kState].body && util.isDisturbed(this[kState].body.stream) } // Returns a clone of response. clone() { - webidl.brandCheck(this, _Response); - if (this.bodyUsed || this.body && this.body.locked) { + webidl.brandCheck(this, _Response) + if (this.bodyUsed || (this.body && this.body.locked)) { throw webidl.errors.exception({ - header: "Response.clone", - message: "Body has already been consumed." - }); - } - const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new _Response(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; - } - }; - mixinBody(Response); + header: 'Response.clone', + message: 'Body has already been consumed.' + }) + } + const clonedResponse = cloneResponse(this[kState]) + const clonedResponseObject = new _Response() + clonedResponseObject[kState] = clonedResponse + clonedResponseObject[kRealm] = this[kRealm] + clonedResponseObject[kHeaders][kHeadersList] = + clonedResponse.headersList + clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard] + clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm] + return clonedResponseObject + } + } + mixinBody(Response) Object.defineProperties(Response.prototype, { type: kEnumerableProperty, url: kEnumerableProperty, @@ -28019,27 +32296,27 @@ var require_response2 = __commonJS({ body: kEnumerableProperty, bodyUsed: kEnumerableProperty, [Symbol.toStringTag]: { - value: "Response", + value: 'Response', configurable: true } - }); + }) Object.defineProperties(Response, { json: kEnumerableProperty, redirect: kEnumerableProperty, error: kEnumerableProperty - }); + }) function cloneResponse(response) { if (response.internalResponse) { return filterResponse( cloneResponse(response.internalResponse), response.type - ); + ) } - const newResponse = makeResponse({ ...response, body: null }); + const newResponse = makeResponse({ ...response, body: null }) if (response.body != null) { - newResponse.body = cloneBody(response.body); + newResponse.body = cloneBody(response.body) } - return newResponse; + return newResponse } function makeResponse(init) { return { @@ -28047,159 +32324,176 @@ var require_response2 = __commonJS({ rangeRequested: false, timingAllowPassed: false, requestIncludesCredentials: false, - type: "default", + type: 'default', status: 200, timingInfo: null, - cacheState: "", - statusText: "", + cacheState: '', + statusText: '', ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), + headersList: init.headersList + ? new HeadersList(init.headersList) + : new HeadersList(), urlList: init.urlList ? [...init.urlList] : [] - }; + } } function makeNetworkError(reason) { - const isError = isErrorLike(reason); + const isError = isErrorLike(reason) return makeResponse({ - type: "error", + type: 'error', status: 0, error: isError ? reason : new Error(reason ? String(reason) : reason), - aborted: reason && reason.name === "AbortError" - }); + aborted: reason && reason.name === 'AbortError' + }) } function makeFilteredResponse(response, state) { state = { internalResponse: response, ...state - }; + } return new Proxy(response, { get(target, p) { - return p in state ? state[p] : target[p]; + return p in state ? state[p] : target[p] }, set(target, p, value) { - assert(!(p in state)); - target[p] = value; - return true; + assert(!(p in state)) + target[p] = value + return true } - }); + }) } function filterResponse(response, type) { - if (type === "basic") { + if (type === 'basic') { return makeFilteredResponse(response, { - type: "basic", + type: 'basic', headersList: response.headersList - }); - } else if (type === "cors") { + }) + } else if (type === 'cors') { return makeFilteredResponse(response, { - type: "cors", + type: 'cors', headersList: response.headersList - }); - } else if (type === "opaque") { + }) + } else if (type === 'opaque') { return makeFilteredResponse(response, { - type: "opaque", + type: 'opaque', urlList: Object.freeze([]), status: 0, - statusText: "", + statusText: '', body: null - }); - } else if (type === "opaqueredirect") { + }) + } else if (type === 'opaqueredirect') { return makeFilteredResponse(response, { - type: "opaqueredirect", + type: 'opaqueredirect', status: 0, - statusText: "", + statusText: '', headersList: [], body: null - }); + }) } else { - assert(false); + assert(false) } } function makeAppropriateNetworkError(fetchParams, err = null) { - assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err })); + assert(isCancelled(fetchParams)) + return isAborted(fetchParams) + ? makeNetworkError( + Object.assign( + new DOMException2('The operation was aborted.', 'AbortError'), + { cause: err } + ) + ) + : makeNetworkError( + Object.assign(new DOMException2('Request was cancelled.'), { + cause: err + }) + ) } function initializeResponse(response, init, body) { if (init.status !== null && (init.status < 200 || init.status > 599)) { - throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); + throw new RangeError( + 'init["status"] must be in the range of 200 to 599, inclusive.' + ) } - if ("statusText" in init && init.statusText != null) { + if ('statusText' in init && init.statusText != null) { if (!isValidReasonPhrase(String(init.statusText))) { - throw new TypeError("Invalid statusText"); + throw new TypeError('Invalid statusText') } } - if ("status" in init && init.status != null) { - response[kState].status = init.status; + if ('status' in init && init.status != null) { + response[kState].status = init.status } - if ("statusText" in init && init.statusText != null) { - response[kState].statusText = init.statusText; + if ('statusText' in init && init.statusText != null) { + response[kState].statusText = init.statusText } - if ("headers" in init && init.headers != null) { - fill(response[kHeaders], init.headers); + if ('headers' in init && init.headers != null) { + fill(response[kHeaders], init.headers) } if (body) { if (nullBodyStatus.includes(response.status)) { throw webidl.errors.exception({ - header: "Response constructor", - message: "Invalid response status code " + response.status - }); + header: 'Response constructor', + message: 'Invalid response status code ' + response.status + }) } - response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); + response[kState].body = body.body + if ( + body.type != null && + !response[kState].headersList.contains('Content-Type') + ) { + response[kState].headersList.append('content-type', body.type) } } } - webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream - ); - webidl.converters.FormData = webidl.interfaceConverter( - FormData - ); - webidl.converters.URLSearchParams = webidl.interfaceConverter( - URLSearchParams - ); - webidl.converters.XMLHttpRequestBodyInit = function(V) { - if (typeof V === "string") { - return webidl.converters.USVString(V); + webidl.converters.ReadableStream = webidl.interfaceConverter(ReadableStream) + webidl.converters.FormData = webidl.interfaceConverter(FormData) + webidl.converters.URLSearchParams = + webidl.interfaceConverter(URLSearchParams) + webidl.converters.XMLHttpRequestBodyInit = function (V) { + if (typeof V === 'string') { + return webidl.converters.USVString(V) } if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, { strict: false }) } - if (types.isAnyArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) { - return webidl.converters.BufferSource(V); + if ( + types.isAnyArrayBuffer(V) || + types.isTypedArray(V) || + types.isDataView(V) + ) { + return webidl.converters.BufferSource(V) } if (util.isFormDataLike(V)) { - return webidl.converters.FormData(V, { strict: false }); + return webidl.converters.FormData(V, { strict: false }) } if (V instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V); + return webidl.converters.URLSearchParams(V) } - return webidl.converters.DOMString(V); - }; - webidl.converters.BodyInit = function(V) { + return webidl.converters.DOMString(V) + } + webidl.converters.BodyInit = function (V) { if (V instanceof ReadableStream) { - return webidl.converters.ReadableStream(V); + return webidl.converters.ReadableStream(V) } if (V?.[Symbol.asyncIterator]) { - return V; + return V } - return webidl.converters.XMLHttpRequestBodyInit(V); - }; + return webidl.converters.XMLHttpRequestBodyInit(V) + } webidl.converters.ResponseInit = webidl.dictionaryConverter([ { - key: "status", - converter: webidl.converters["unsigned short"], + key: 'status', + converter: webidl.converters['unsigned short'], defaultValue: 200 }, { - key: "statusText", + key: 'statusText', converter: webidl.converters.ByteString, - defaultValue: "" + defaultValue: '' }, { - key: "headers", + key: 'headers', converter: webidl.converters.HeadersInit } - ]); + ]) module2.exports = { makeNetworkError, makeResponse, @@ -28207,24 +32501,23 @@ var require_response2 = __commonJS({ filterResponse, Response, cloneResponse - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/request.js var require_request4 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/request.js"(exports, module2) { - "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body2(); - var { Headers, fill: fillHeaders, HeadersList } = require_headers2(); - var { FinalizationRegistry } = require_dispatcher_weakref2()(); - var util = require_util8(); - var { - isValidHTTPToken, - sameOrigin, - normalizeMethod, - makePolicyContainer - } = require_util9(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/request.js'( + exports, + module2 + ) { + 'use strict' + var { extractBody, mixinBody, cloneBody } = require_body2() + var { Headers, fill: fillHeaders, HeadersList } = require_headers2() + var { FinalizationRegistry } = require_dispatcher_weakref2()() + var util = require_util8() + var { isValidHTTPToken, sameOrigin, normalizeMethod, makePolicyContainer } = + require_util9() var { forbiddenMethods, corsSafeListedMethods, @@ -28234,72 +32527,85 @@ var require_request4 = __commonJS({ requestCredentials, requestCache, requestDuplex - } = require_constants5(); - var { kEnumerableProperty } = util; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7(); - var { webidl } = require_webidl2(); - var { getGlobalOrigin } = require_global3(); - var { URLSerializer } = require_dataURL2(); - var { kHeadersList } = require_symbols6(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream = globalThis.TransformStream; - var kInit = Symbol("init"); - var kAbortController = Symbol("abortController"); + } = require_constants5() + var { kEnumerableProperty } = util + var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7() + var { webidl } = require_webidl2() + var { getGlobalOrigin } = require_global3() + var { URLSerializer } = require_dataURL2() + var { kHeadersList } = require_symbols6() + var assert = require('assert') + var { + getMaxListeners, + setMaxListeners, + getEventListeners, + defaultMaxListeners + } = require('events') + var TransformStream = globalThis.TransformStream + var kInit = Symbol('init') + var kAbortController = Symbol('abortController') var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => { - signal.removeEventListener("abort", abort); - }); + signal.removeEventListener('abort', abort) + }) var Request = class _Request { // https://fetch.spec.whatwg.org/#dom-request constructor(input, init = {}) { if (input === kInit) { - return; + return } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); + webidl.argumentLengthCheck(arguments, 1, { + header: 'Request constructor' + }) + input = webidl.converters.RequestInfo(input) + init = webidl.converters.RequestInit(init) this[kRealm] = { settingsObject: { baseUrl: getGlobalOrigin(), get origin() { - return this.baseUrl?.origin; + return this.baseUrl?.origin }, policyContainer: makePolicyContainer() } - }; - let request = null; - let fallbackMode = null; - const baseUrl = this[kRealm].settingsObject.baseUrl; - let signal = null; - if (typeof input === "string") { - let parsedURL; + } + let request = null + let fallbackMode = null + const baseUrl = this[kRealm].settingsObject.baseUrl + let signal = null + if (typeof input === 'string') { + let parsedURL try { - parsedURL = new URL(input, baseUrl); + parsedURL = new URL(input, baseUrl) } catch (err) { - throw new TypeError("Failed to parse URL from " + input, { cause: err }); + throw new TypeError('Failed to parse URL from ' + input, { + cause: err + }) } if (parsedURL.username || parsedURL.password) { throw new TypeError( - "Request cannot be constructed from a URL that includes credentials: " + input - ); + 'Request cannot be constructed from a URL that includes credentials: ' + + input + ) } - request = makeRequest({ urlList: [parsedURL] }); - fallbackMode = "cors"; + request = makeRequest({ urlList: [parsedURL] }) + fallbackMode = 'cors' } else { - assert(input instanceof _Request); - request = input[kState]; - signal = input[kSignal]; - } - const origin = this[kRealm].settingsObject.origin; - let window = "client"; - if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { - window = request.window; + assert(input instanceof _Request) + request = input[kState] + signal = input[kSignal] + } + const origin = this[kRealm].settingsObject.origin + let window = 'client' + if ( + request.window?.constructor?.name === 'EnvironmentSettingsObject' && + sameOrigin(request.window, origin) + ) { + window = request.window } if (init.window != null) { - throw new TypeError(`'window' option '${window}' must be null`); + throw new TypeError(`'window' option '${window}' must be null`) } - if ("window" in init) { - window = "no-window"; + if ('window' in init) { + window = 'no-window' } request = makeRequest({ // URL request’s URL. @@ -28343,217 +32649,247 @@ var require_request4 = __commonJS({ historyNavigation: request.historyNavigation, // URL list A clone of request’s URL list. urlList: [...request.urlList] - }); + }) if (Object.keys(init).length > 0) { - if (request.mode === "navigate") { - request.mode = "same-origin"; + if (request.mode === 'navigate') { + request.mode = 'same-origin' } - request.reloadNavigation = false; - request.historyNavigation = false; - request.origin = "client"; - request.referrer = "client"; - request.referrerPolicy = ""; - request.url = request.urlList[request.urlList.length - 1]; - request.urlList = [request.url]; + request.reloadNavigation = false + request.historyNavigation = false + request.origin = 'client' + request.referrer = 'client' + request.referrerPolicy = '' + request.url = request.urlList[request.urlList.length - 1] + request.urlList = [request.url] } if (init.referrer !== void 0) { - const referrer = init.referrer; - if (referrer === "") { - request.referrer = "no-referrer"; + const referrer = init.referrer + if (referrer === '') { + request.referrer = 'no-referrer' } else { - let parsedReferrer; + let parsedReferrer try { - parsedReferrer = new URL(referrer, baseUrl); + parsedReferrer = new URL(referrer, baseUrl) } catch (err) { - throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); + throw new TypeError( + `Referrer "${referrer}" is not a valid URL.`, + { cause: err } + ) } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { - request.referrer = "client"; + if ( + (parsedReferrer.protocol === 'about:' && + parsedReferrer.hostname === 'client') || + (origin && + !sameOrigin( + parsedReferrer, + this[kRealm].settingsObject.baseUrl + )) + ) { + request.referrer = 'client' } else { - request.referrer = parsedReferrer; + request.referrer = parsedReferrer } } } if (init.referrerPolicy !== void 0) { - request.referrerPolicy = init.referrerPolicy; + request.referrerPolicy = init.referrerPolicy } - let mode; + let mode if (init.mode !== void 0) { - mode = init.mode; + mode = init.mode } else { - mode = fallbackMode; + mode = fallbackMode } - if (mode === "navigate") { + if (mode === 'navigate') { throw webidl.errors.exception({ - header: "Request constructor", - message: "invalid request mode navigate." - }); + header: 'Request constructor', + message: 'invalid request mode navigate.' + }) } if (mode != null) { - request.mode = mode; + request.mode = mode } if (init.credentials !== void 0) { - request.credentials = init.credentials; + request.credentials = init.credentials } if (init.cache !== void 0) { - request.cache = init.cache; + request.cache = init.cache } - if (request.cache === "only-if-cached" && request.mode !== "same-origin") { + if ( + request.cache === 'only-if-cached' && + request.mode !== 'same-origin' + ) { throw new TypeError( "'only-if-cached' can be set only with 'same-origin' mode" - ); + ) } if (init.redirect !== void 0) { - request.redirect = init.redirect; + request.redirect = init.redirect } if (init.integrity !== void 0 && init.integrity != null) { - request.integrity = String(init.integrity); + request.integrity = String(init.integrity) } if (init.keepalive !== void 0) { - request.keepalive = Boolean(init.keepalive); + request.keepalive = Boolean(init.keepalive) } if (init.method !== void 0) { - let method = init.method; + let method = init.method if (!isValidHTTPToken(init.method)) { - throw TypeError(`'${init.method}' is not a valid HTTP method.`); + throw TypeError(`'${init.method}' is not a valid HTTP method.`) } if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) { - throw TypeError(`'${init.method}' HTTP method is unsupported.`); + throw TypeError(`'${init.method}' HTTP method is unsupported.`) } - method = normalizeMethod(init.method); - request.method = method; + method = normalizeMethod(init.method) + request.method = method } if (init.signal !== void 0) { - signal = init.signal; + signal = init.signal } - this[kState] = request; - const ac = new AbortController(); - this[kSignal] = ac.signal; - this[kSignal][kRealm] = this[kRealm]; + this[kState] = request + const ac = new AbortController() + this[kSignal] = ac.signal + this[kSignal][kRealm] = this[kRealm] if (signal != null) { - if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { + if ( + !signal || + typeof signal.aborted !== 'boolean' || + typeof signal.addEventListener !== 'function' + ) { throw new TypeError( "Failed to construct 'Request': member signal is not of type AbortSignal." - ); + ) } if (signal.aborted) { - ac.abort(signal.reason); + ac.abort(signal.reason) } else { - this[kAbortController] = ac; - const acRef = new WeakRef(ac); - const abort = function() { - const ac2 = acRef.deref(); + this[kAbortController] = ac + const acRef = new WeakRef(ac) + const abort = function () { + const ac2 = acRef.deref() if (ac2 !== void 0) { - ac2.abort(this.reason); + ac2.abort(this.reason) } - }; + } try { - if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); - } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); + if ( + typeof getMaxListeners === 'function' && + getMaxListeners(signal) === defaultMaxListeners + ) { + setMaxListeners(100, signal) + } else if ( + getEventListeners(signal, 'abort').length >= defaultMaxListeners + ) { + setMaxListeners(100, signal) } - } catch { - } - util.addAbortListener(signal, abort); - requestFinalizer.register(ac, { signal, abort }); + } catch {} + util.addAbortListener(signal, abort) + requestFinalizer.register(ac, { signal, abort }) } } - this[kHeaders] = new Headers(); - this[kHeaders][kHeadersList] = request.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; - if (mode === "no-cors") { + this[kHeaders] = new Headers() + this[kHeaders][kHeadersList] = request.headersList + this[kHeaders][kGuard] = 'request' + this[kHeaders][kRealm] = this[kRealm] + if (mode === 'no-cors') { if (!corsSafeListedMethods.includes(request.method)) { throw new TypeError( `'${request.method} is unsupported in no-cors mode.` - ); + ) } - this[kHeaders][kGuard] = "request-no-cors"; + this[kHeaders][kGuard] = 'request-no-cors' } if (Object.keys(init).length !== 0) { - let headers = new Headers(this[kHeaders]); + let headers = new Headers(this[kHeaders]) if (init.headers !== void 0) { - headers = init.headers; + headers = init.headers } - this[kHeaders][kHeadersList].clear(); - if (headers.constructor.name === "Headers") { + this[kHeaders][kHeadersList].clear() + if (headers.constructor.name === 'Headers') { for (const [key, val] of headers) { - this[kHeaders].append(key, val); + this[kHeaders].append(key, val) } } else { - fillHeaders(this[kHeaders], headers); + fillHeaders(this[kHeaders], headers) } } - const inputBody = input instanceof _Request ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body."); + const inputBody = input instanceof _Request ? input[kState].body : null + if ( + (init.body != null || inputBody != null) && + (request.method === 'GET' || request.method === 'HEAD') + ) { + throw new TypeError('Request with GET/HEAD method cannot have body.') } - let initBody = null; + let initBody = null if (init.body != null) { const [extractedBody, contentType] = extractBody( init.body, request.keepalive - ); - initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { - this[kHeaders].append("content-type", contentType); + ) + initBody = extractedBody + if ( + contentType && + !this[kHeaders][kHeadersList].contains('content-type') + ) { + this[kHeaders].append('content-type', contentType) } } - const inputOrInitBody = initBody ?? inputBody; + const inputOrInitBody = initBody ?? inputBody if (inputOrInitBody != null && inputOrInitBody.source == null) { if (initBody != null && init.duplex == null) { - throw new TypeError("RequestInit: duplex option is required when sending a body."); + throw new TypeError( + 'RequestInit: duplex option is required when sending a body.' + ) } - if (request.mode !== "same-origin" && request.mode !== "cors") { + if (request.mode !== 'same-origin' && request.mode !== 'cors') { throw new TypeError( 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' - ); + ) } - request.useCORSPreflightFlag = true; + request.useCORSPreflightFlag = true } - let finalBody = inputOrInitBody; + let finalBody = inputOrInitBody if (initBody == null && inputBody != null) { if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) { throw new TypeError( - "Cannot construct a Request with a Request object that has already been used." - ); + 'Cannot construct a Request with a Request object that has already been used.' + ) } if (!TransformStream) { - TransformStream = require("stream/web").TransformStream; + TransformStream = require('stream/web').TransformStream } - const identityTransform = new TransformStream(); - inputBody.stream.pipeThrough(identityTransform); + const identityTransform = new TransformStream() + inputBody.stream.pipeThrough(identityTransform) finalBody = { source: inputBody.source, length: inputBody.length, stream: identityTransform.readable - }; + } } - this[kState].body = finalBody; + this[kState].body = finalBody } // Returns request’s HTTP method, which is "GET" by default. get method() { - webidl.brandCheck(this, _Request); - return this[kState].method; + webidl.brandCheck(this, _Request) + return this[kState].method } // Returns the URL of request as a string. get url() { - webidl.brandCheck(this, _Request); - return URLSerializer(this[kState].url); + webidl.brandCheck(this, _Request) + return URLSerializer(this[kState].url) } // Returns a Headers object consisting of the headers associated with request. // Note that headers added in the network layer by the user agent will not // be accounted for in this object, e.g., the "Host" header. get headers() { - webidl.brandCheck(this, _Request); - return this[kHeaders]; + webidl.brandCheck(this, _Request) + return this[kHeaders] } // Returns the kind of resource requested by request, e.g., "document" // or "script". get destination() { - webidl.brandCheck(this, _Request); - return this[kState].destination; + webidl.brandCheck(this, _Request) + return this[kState].destination } // Returns the referrer of request. Its value can be a same-origin URL if // explicitly set in init, the empty string to indicate no referrer, and @@ -28561,173 +32897,172 @@ var require_request4 = __commonJS({ // during fetching to determine the value of the `Referer` header of the // request being made. get referrer() { - webidl.brandCheck(this, _Request); - if (this[kState].referrer === "no-referrer") { - return ""; + webidl.brandCheck(this, _Request) + if (this[kState].referrer === 'no-referrer') { + return '' } - if (this[kState].referrer === "client") { - return "about:client"; + if (this[kState].referrer === 'client') { + return 'about:client' } - return this[kState].referrer.toString(); + return this[kState].referrer.toString() } // Returns the referrer policy associated with request. // This is used during fetching to compute the value of the request’s // referrer. get referrerPolicy() { - webidl.brandCheck(this, _Request); - return this[kState].referrerPolicy; + webidl.brandCheck(this, _Request) + return this[kState].referrerPolicy } // Returns the mode associated with request, which is a string indicating // whether the request will use CORS, or will be restricted to same-origin // URLs. get mode() { - webidl.brandCheck(this, _Request); - return this[kState].mode; + webidl.brandCheck(this, _Request) + return this[kState].mode } // Returns the credentials mode associated with request, // which is a string indicating whether credentials will be sent with the // request always, never, or only when sent to a same-origin URL. get credentials() { - return this[kState].credentials; + return this[kState].credentials } // Returns the cache mode associated with request, // which is a string indicating how the request will // interact with the browser’s cache when fetching. get cache() { - webidl.brandCheck(this, _Request); - return this[kState].cache; + webidl.brandCheck(this, _Request) + return this[kState].cache } // Returns the redirect mode associated with request, // which is a string indicating how redirects for the // request will be handled during fetching. A request // will follow redirects by default. get redirect() { - webidl.brandCheck(this, _Request); - return this[kState].redirect; + webidl.brandCheck(this, _Request) + return this[kState].redirect } // Returns request’s subresource integrity metadata, which is a // cryptographic hash of the resource being fetched. Its value // consists of multiple hashes separated by whitespace. [SRI] get integrity() { - webidl.brandCheck(this, _Request); - return this[kState].integrity; + webidl.brandCheck(this, _Request) + return this[kState].integrity } // Returns a boolean indicating whether or not request can outlive the // global in which it was created. get keepalive() { - webidl.brandCheck(this, _Request); - return this[kState].keepalive; + webidl.brandCheck(this, _Request) + return this[kState].keepalive } // Returns a boolean indicating whether or not request is for a reload // navigation. get isReloadNavigation() { - webidl.brandCheck(this, _Request); - return this[kState].reloadNavigation; + webidl.brandCheck(this, _Request) + return this[kState].reloadNavigation } // Returns a boolean indicating whether or not request is for a history // navigation (a.k.a. back-foward navigation). get isHistoryNavigation() { - webidl.brandCheck(this, _Request); - return this[kState].historyNavigation; + webidl.brandCheck(this, _Request) + return this[kState].historyNavigation } // Returns the signal associated with request, which is an AbortSignal // object indicating whether or not request has been aborted, and its // abort event handler. get signal() { - webidl.brandCheck(this, _Request); - return this[kSignal]; + webidl.brandCheck(this, _Request) + return this[kSignal] } get body() { - webidl.brandCheck(this, _Request); - return this[kState].body ? this[kState].body.stream : null; + webidl.brandCheck(this, _Request) + return this[kState].body ? this[kState].body.stream : null } get bodyUsed() { - webidl.brandCheck(this, _Request); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + webidl.brandCheck(this, _Request) + return !!this[kState].body && util.isDisturbed(this[kState].body.stream) } get duplex() { - webidl.brandCheck(this, _Request); - return "half"; + webidl.brandCheck(this, _Request) + return 'half' } // Returns a clone of request. clone() { - webidl.brandCheck(this, _Request); + webidl.brandCheck(this, _Request) if (this.bodyUsed || this.body?.locked) { - throw new TypeError("unusable"); - } - const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new _Request(kInit); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers(); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - const ac = new AbortController(); + throw new TypeError('unusable') + } + const clonedRequest = cloneRequest(this[kState]) + const clonedRequestObject = new _Request(kInit) + clonedRequestObject[kState] = clonedRequest + clonedRequestObject[kRealm] = this[kRealm] + clonedRequestObject[kHeaders] = new Headers() + clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList + clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard] + clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm] + const ac = new AbortController() if (this.signal.aborted) { - ac.abort(this.signal.reason); + ac.abort(this.signal.reason) } else { - util.addAbortListener( - this.signal, - () => { - ac.abort(this.signal.reason); - } - ); + util.addAbortListener(this.signal, () => { + ac.abort(this.signal.reason) + }) } - clonedRequestObject[kSignal] = ac.signal; - return clonedRequestObject; + clonedRequestObject[kSignal] = ac.signal + return clonedRequestObject } - }; - mixinBody(Request); + } + mixinBody(Request) function makeRequest(init) { const request = { - method: "GET", + method: 'GET', localURLsOnly: false, unsafeRequest: false, body: null, client: null, reservedClient: null, - replacesClientId: "", - window: "client", + replacesClientId: '', + window: 'client', keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", + serviceWorkers: 'all', + initiator: '', + destination: '', priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", + origin: 'client', + policyContainer: 'client', + referrer: 'client', + referrerPolicy: '', + mode: 'no-cors', useCORSPreflightFlag: false, - credentials: "same-origin", + credentials: 'same-origin', useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", + cache: 'default', + redirect: 'follow', + integrity: '', + cryptoGraphicsNonceMetadata: '', + parserMetadata: '', reloadNavigation: false, historyNavigation: false, userActivation: false, taintedOrigin: false, redirectCount: 0, - responseTainting: "basic", + responseTainting: 'basic', preventNoCacheCacheControlHeaderModification: false, done: false, timingAllowFailed: false, ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() - }; - request.url = request.urlList[0]; - return request; + headersList: init.headersList + ? new HeadersList(init.headersList) + : new HeadersList() + } + request.url = request.urlList[0] + return request } function cloneRequest(request) { - const newRequest = makeRequest({ ...request, body: null }); + const newRequest = makeRequest({ ...request, body: null }) if (request.body != null) { - newRequest.body = cloneBody(request.body); + newRequest.body = cloneBody(request.body) } - return newRequest; + return newRequest } Object.defineProperties(Request.prototype, { method: kEnumerableProperty, @@ -28751,119 +33086,113 @@ var require_request4 = __commonJS({ referrer: kEnumerableProperty, mode: kEnumerableProperty, [Symbol.toStringTag]: { - value: "Request", + value: 'Request', configurable: true } - }); - webidl.converters.Request = webidl.interfaceConverter( - Request - ); - webidl.converters.RequestInfo = function(V) { - if (typeof V === "string") { - return webidl.converters.USVString(V); + }) + webidl.converters.Request = webidl.interfaceConverter(Request) + webidl.converters.RequestInfo = function (V) { + if (typeof V === 'string') { + return webidl.converters.USVString(V) } if (V instanceof Request) { - return webidl.converters.Request(V); + return webidl.converters.Request(V) } - return webidl.converters.USVString(V); - }; - webidl.converters.AbortSignal = webidl.interfaceConverter( - AbortSignal - ); + return webidl.converters.USVString(V) + } + webidl.converters.AbortSignal = webidl.interfaceConverter(AbortSignal) webidl.converters.RequestInit = webidl.dictionaryConverter([ { - key: "method", + key: 'method', converter: webidl.converters.ByteString }, { - key: "headers", + key: 'headers', converter: webidl.converters.HeadersInit }, { - key: "body", - converter: webidl.nullableConverter( - webidl.converters.BodyInit - ) + key: 'body', + converter: webidl.nullableConverter(webidl.converters.BodyInit) }, { - key: "referrer", + key: 'referrer', converter: webidl.converters.USVString }, { - key: "referrerPolicy", + key: 'referrerPolicy', converter: webidl.converters.DOMString, // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy allowedValues: referrerPolicy }, { - key: "mode", + key: 'mode', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#concept-request-mode allowedValues: requestMode }, { - key: "credentials", + key: 'credentials', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#requestcredentials allowedValues: requestCredentials }, { - key: "cache", + key: 'cache', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#requestcache allowedValues: requestCache }, { - key: "redirect", + key: 'redirect', converter: webidl.converters.DOMString, // https://fetch.spec.whatwg.org/#requestredirect allowedValues: requestRedirect }, { - key: "integrity", + key: 'integrity', converter: webidl.converters.DOMString }, { - key: "keepalive", + key: 'keepalive', converter: webidl.converters.boolean }, { - key: "signal", - converter: webidl.nullableConverter( - (signal) => webidl.converters.AbortSignal( - signal, - { strict: false } - ) + key: 'signal', + converter: webidl.nullableConverter((signal) => + webidl.converters.AbortSignal(signal, { strict: false }) ) }, { - key: "window", + key: 'window', converter: webidl.converters.any }, { - key: "duplex", + key: 'duplex', converter: webidl.converters.DOMString, allowedValues: requestDuplex } - ]); - module2.exports = { Request, makeRequest }; + ]) + module2.exports = { Request, makeRequest } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/index.js var require_fetch2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/index.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fetch/index.js'( + exports, + module2 + ) { + 'use strict' var { Response, makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse - } = require_response2(); - var { Headers } = require_headers2(); - var { Request, makeRequest } = require_request4(); - var zlib = require("zlib"); + } = require_response2() + var { Headers } = require_headers2() + var { Request, makeRequest } = require_request4() + var zlib = require('zlib') var { bytesMatch, makePolicyContainer, @@ -28893,10 +33222,10 @@ var require_fetch2 = __commonJS({ urlIsLocal, urlIsHttpHttpsScheme, urlHasHttpsScheme - } = require_util9(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); - var assert = require("assert"); - var { safelyExtractBody } = require_body2(); + } = require_util9() + var { kState, kHeaders, kGuard, kRealm } = require_symbols7() + var assert = require('assert') + var { safelyExtractBody } = require_body2() var { redirectStatus, nullBodyStatus, @@ -28904,174 +33233,192 @@ var require_fetch2 = __commonJS({ requestBodyHeader, subresource, DOMException: DOMException2 - } = require_constants5(); - var { kHeadersList } = require_symbols6(); - var EE = require("events"); - var { Readable, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util8(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL2(); - var { TransformStream } = require("stream/web"); - var { getGlobalDispatcher } = require_global4(); - var { webidl } = require_webidl2(); - var { STATUS_CODES } = require("http"); - var resolveObjectURL; - var ReadableStream = globalThis.ReadableStream; + } = require_constants5() + var { kHeadersList } = require_symbols6() + var EE = require('events') + var { Readable, pipeline } = require('stream') + var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = + require_util8() + var { dataURLProcessor, serializeAMimeType } = require_dataURL2() + var { TransformStream } = require('stream/web') + var { getGlobalDispatcher } = require_global4() + var { webidl } = require_webidl2() + var { STATUS_CODES } = require('http') + var resolveObjectURL + var ReadableStream = globalThis.ReadableStream var Fetch = class extends EE { constructor(dispatcher) { - super(); - this.dispatcher = dispatcher; - this.connection = null; - this.dump = false; - this.state = "ongoing"; - this.setMaxListeners(21); + super() + this.dispatcher = dispatcher + this.connection = null + this.dump = false + this.state = 'ongoing' + this.setMaxListeners(21) } terminate(reason) { - if (this.state !== "ongoing") { - return; + if (this.state !== 'ongoing') { + return } - this.state = "terminated"; - this.connection?.destroy(reason); - this.emit("terminated", reason); + this.state = 'terminated' + this.connection?.destroy(reason) + this.emit('terminated', reason) } // https://fetch.spec.whatwg.org/#fetch-controller-abort abort(error) { - if (this.state !== "ongoing") { - return; + if (this.state !== 'ongoing') { + return } - this.state = "aborted"; + this.state = 'aborted' if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); + error = new DOMException2('The operation was aborted.', 'AbortError') } - this.serializedAbortReason = error; - this.connection?.destroy(error); - this.emit("terminated", error); + this.serializedAbortReason = error + this.connection?.destroy(error) + this.emit('terminated', error) } - }; + } function fetch(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p = createDeferredPromise(); - let requestObject; + webidl.argumentLengthCheck(arguments, 1, { header: 'globalThis.fetch' }) + const p = createDeferredPromise() + let requestObject try { - requestObject = new Request(input, init); + requestObject = new Request(input, init) } catch (e) { - p.reject(e); - return p.promise; + p.reject(e) + return p.promise } - const request = requestObject[kState]; + const request = requestObject[kState] if (requestObject.signal.aborted) { - abortFetch(p, request, null, requestObject.signal.reason); - return p.promise; - } - const globalObject = request.client.globalObject; - if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { - request.serviceWorkers = "none"; - } - let responseObject = null; - const relevantRealm = null; - let locallyAborted = false; - let controller = null; - addAbortListener( - requestObject.signal, - () => { - locallyAborted = true; - assert(controller != null); - controller.abort(requestObject.signal.reason); - abortFetch(p, request, responseObject, requestObject.signal.reason); - } - ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); + abortFetch(p, request, null, requestObject.signal.reason) + return p.promise + } + const globalObject = request.client.globalObject + if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') { + request.serviceWorkers = 'none' + } + let responseObject = null + const relevantRealm = null + let locallyAborted = false + let controller = null + addAbortListener(requestObject.signal, () => { + locallyAborted = true + assert(controller != null) + controller.abort(requestObject.signal.reason) + abortFetch(p, request, responseObject, requestObject.signal.reason) + }) + const handleFetchDone = (response) => + finalizeAndReportTiming(response, 'fetch') const processResponse = (response) => { if (locallyAborted) { - return Promise.resolve(); + return Promise.resolve() } if (response.aborted) { - abortFetch(p, request, responseObject, controller.serializedAbortReason); - return Promise.resolve(); + abortFetch( + p, + request, + responseObject, + controller.serializedAbortReason + ) + return Promise.resolve() } - if (response.type === "error") { + if (response.type === 'error') { p.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); - } - responseObject = new Response(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p.resolve(responseObject); - }; + Object.assign(new TypeError('fetch failed'), { + cause: response.error + }) + ) + return Promise.resolve() + } + responseObject = new Response() + responseObject[kState] = response + responseObject[kRealm] = relevantRealm + responseObject[kHeaders][kHeadersList] = response.headersList + responseObject[kHeaders][kGuard] = 'immutable' + responseObject[kHeaders][kRealm] = relevantRealm + p.resolve(responseObject) + } controller = fetching({ request, processResponseEndOfBody: handleFetchDone, processResponse, dispatcher: init.dispatcher ?? getGlobalDispatcher() // undici - }); - return p.promise; + }) + return p.promise } - function finalizeAndReportTiming(response, initiatorType = "other") { - if (response.type === "error" && response.aborted) { - return; + function finalizeAndReportTiming(response, initiatorType = 'other') { + if (response.type === 'error' && response.aborted) { + return } if (!response.urlList?.length) { - return; + return } - const originalURL = response.urlList[0]; - let timingInfo = response.timingInfo; - let cacheState = response.cacheState; + const originalURL = response.urlList[0] + let timingInfo = response.timingInfo + let cacheState = response.cacheState if (!urlIsHttpHttpsScheme(originalURL)) { - return; + return } if (timingInfo === null) { - return; + return } if (!timingInfo.timingAllowPassed) { timingInfo = createOpaqueTimingInfo({ startTime: timingInfo.startTime - }); - cacheState = ""; + }) + cacheState = '' } - timingInfo.endTime = coarsenedSharedCurrentTime(); - response.timingInfo = timingInfo; + timingInfo.endTime = coarsenedSharedCurrentTime() + response.timingInfo = timingInfo markResourceTiming( timingInfo, originalURL, initiatorType, globalThis, cacheState - ); - } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); + ) + } + function markResourceTiming( + timingInfo, + originalURL, + initiatorType, + globalThis2, + cacheState + ) { + if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) { + performance.markResourceTiming( + timingInfo, + originalURL.href, + initiatorType, + globalThis2, + cacheState + ) } } function abortFetch(p, request, responseObject, error) { if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); + error = new DOMException2('The operation was aborted.', 'AbortError') } - p.reject(error); + p.reject(error) if (request.body != null && isReadable(request.body?.stream)) { request.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; + if (err.code === 'ERR_INVALID_STATE') { + return } - throw err; - }); + throw err + }) } if (responseObject == null) { - return; + return } - const response = responseObject[kState]; + const response = responseObject[kState] if (response.body != null && isReadable(response.body?.stream)) { response.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; + if (err.code === 'ERR_INVALID_STATE') { + return } - throw err; - }); + throw err + }) } } function fetching({ @@ -29085,16 +33432,19 @@ var require_fetch2 = __commonJS({ dispatcher // undici }) { - let taskDestination = null; - let crossOriginIsolatedCapability = false; + let taskDestination = null + let crossOriginIsolatedCapability = false if (request.client != null) { - taskDestination = request.client.globalObject; - crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; + taskDestination = request.client.globalObject + crossOriginIsolatedCapability = + request.client.crossOriginIsolatedCapability } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const currenTime = coarsenedSharedCurrentTime( + crossOriginIsolatedCapability + ) const timingInfo = createOpaqueTimingInfo({ startTime: currenTime - }); + }) const fetchParams = { controller: new Fetch(dispatcher), request, @@ -29106,455 +33456,554 @@ var require_fetch2 = __commonJS({ processResponseEndOfBody, taskDestination, crossOriginIsolatedCapability - }; - assert(!request.body || request.body.stream); - if (request.window === "client") { - request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; } - if (request.origin === "client") { - request.origin = request.client?.origin; + assert(!request.body || request.body.stream) + if (request.window === 'client') { + request.window = + request.client?.globalObject?.constructor?.name === 'Window' + ? request.client + : 'no-window' } - if (request.policyContainer === "client") { + if (request.origin === 'client') { + request.origin = request.client?.origin + } + if (request.policyContainer === 'client') { if (request.client != null) { request.policyContainer = clonePolicyContainer( request.client.policyContainer - ); + ) } else { - request.policyContainer = makePolicyContainer(); + request.policyContainer = makePolicyContainer() } } - if (!request.headersList.contains("accept")) { - const value = "*/*"; - request.headersList.append("accept", value); + if (!request.headersList.contains('accept')) { + const value = '*/*' + request.headersList.append('accept', value) } - if (!request.headersList.contains("accept-language")) { - request.headersList.append("accept-language", "*"); + if (!request.headersList.contains('accept-language')) { + request.headersList.append('accept-language', '*') } if (request.priority === null) { } if (subresource.includes(request.destination)) { } mainFetch(fetchParams).catch((err) => { - fetchParams.controller.terminate(err); - }); - return fetchParams.controller; + fetchParams.controller.terminate(err) + }) + return fetchParams.controller } async function mainFetch(fetchParams, recursive = false) { - const request = fetchParams.request; - let response = null; + const request = fetchParams.request + let response = null if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { - response = makeNetworkError("local URLs only"); + response = makeNetworkError('local URLs only') } - tryUpgradeRequestToAPotentiallyTrustworthyURL(request); - if (requestBadPort(request) === "blocked") { - response = makeNetworkError("bad port"); + tryUpgradeRequestToAPotentiallyTrustworthyURL(request) + if (requestBadPort(request) === 'blocked') { + response = makeNetworkError('bad port') } - if (request.referrerPolicy === "") { - request.referrerPolicy = request.policyContainer.referrerPolicy; + if (request.referrerPolicy === '') { + request.referrerPolicy = request.policyContainer.referrerPolicy } - if (request.referrer !== "no-referrer") { - request.referrer = determineRequestsReferrer(request); + if (request.referrer !== 'no-referrer') { + request.referrer = determineRequestsReferrer(request) } if (response === null) { response = await (async () => { - const currentURL = requestCurrentURL(request); + const currentURL = requestCurrentURL(request) if ( // - request’s current URL’s origin is same origin with request’s origin, // and request’s response tainting is "basic" - sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data" - currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" - (request.mode === "navigate" || request.mode === "websocket") + (sameOrigin(currentURL, request.url) && + request.responseTainting === 'basic') || // request’s current URL’s scheme is "data" + currentURL.protocol === 'data:' || // - request’s mode is "navigate" or "websocket" + request.mode === 'navigate' || + request.mode === 'websocket' ) { - request.responseTainting = "basic"; - return await schemeFetch(fetchParams); + request.responseTainting = 'basic' + return await schemeFetch(fetchParams) } - if (request.mode === "same-origin") { - return makeNetworkError('request mode cannot be "same-origin"'); + if (request.mode === 'same-origin') { + return makeNetworkError('request mode cannot be "same-origin"') } - if (request.mode === "no-cors") { - if (request.redirect !== "follow") { + if (request.mode === 'no-cors') { + if (request.redirect !== 'follow') { return makeNetworkError( 'redirect mode cannot be "follow" for "no-cors" request' - ); + ) } - request.responseTainting = "opaque"; - return await schemeFetch(fetchParams); + request.responseTainting = 'opaque' + return await schemeFetch(fetchParams) } if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { - return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + return makeNetworkError('URL scheme must be a HTTP(S) scheme') } - request.responseTainting = "cors"; - return await httpFetch(fetchParams); - })(); + request.responseTainting = 'cors' + return await httpFetch(fetchParams) + })() } if (recursive) { - return response; + return response } if (response.status !== 0 && !response.internalResponse) { - if (request.responseTainting === "cors") { - } - if (request.responseTainting === "basic") { - response = filterResponse(response, "basic"); - } else if (request.responseTainting === "cors") { - response = filterResponse(response, "cors"); - } else if (request.responseTainting === "opaque") { - response = filterResponse(response, "opaque"); + if (request.responseTainting === 'cors') { + } + if (request.responseTainting === 'basic') { + response = filterResponse(response, 'basic') + } else if (request.responseTainting === 'cors') { + response = filterResponse(response, 'cors') + } else if (request.responseTainting === 'opaque') { + response = filterResponse(response, 'opaque') } else { - assert(false); + assert(false) } } - let internalResponse = response.status === 0 ? response : response.internalResponse; + let internalResponse = + response.status === 0 ? response : response.internalResponse if (internalResponse.urlList.length === 0) { - internalResponse.urlList.push(...request.urlList); + internalResponse.urlList.push(...request.urlList) } if (!request.timingAllowFailed) { - response.timingAllowPassed = true; + response.timingAllowPassed = true } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { - response = internalResponse = makeNetworkError(); + if ( + response.type === 'opaque' && + internalResponse.status === 206 && + internalResponse.rangeRequested && + !request.headers.contains('range') + ) { + response = internalResponse = makeNetworkError() } - if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { - internalResponse.body = null; - fetchParams.controller.dump = true; + if ( + response.status !== 0 && + (request.method === 'HEAD' || + request.method === 'CONNECT' || + nullBodyStatus.includes(internalResponse.status)) + ) { + internalResponse.body = null + fetchParams.controller.dump = true } if (request.integrity) { - const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); - if (request.responseTainting === "opaque" || response.body == null) { - processBodyError(response.error); - return; + const processBodyError = (reason) => + fetchFinale(fetchParams, makeNetworkError(reason)) + if (request.responseTainting === 'opaque' || response.body == null) { + processBodyError(response.error) + return } const processBody = (bytes) => { if (!bytesMatch(bytes, request.integrity)) { - processBodyError("integrity mismatch"); - return; + processBodyError('integrity mismatch') + return } - response.body = safelyExtractBody(bytes)[0]; - fetchFinale(fetchParams, response); - }; - await fullyReadBody(response.body, processBody, processBodyError); + response.body = safelyExtractBody(bytes)[0] + fetchFinale(fetchParams, response) + } + await fullyReadBody(response.body, processBody, processBodyError) } else { - fetchFinale(fetchParams, response); + fetchFinale(fetchParams, response) } } function schemeFetch(fetchParams) { if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { - return Promise.resolve(makeAppropriateNetworkError(fetchParams)); + return Promise.resolve(makeAppropriateNetworkError(fetchParams)) } - const { request } = fetchParams; - const { protocol: scheme } = requestCurrentURL(request); + const { request } = fetchParams + const { protocol: scheme } = requestCurrentURL(request) switch (scheme) { - case "about:": { - return Promise.resolve(makeNetworkError("about scheme is not supported")); + case 'about:': { + return Promise.resolve( + makeNetworkError('about scheme is not supported') + ) } - case "blob:": { + case 'blob:': { if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; + resolveObjectURL = require('buffer').resolveObjectURL } - const blobURLEntry = requestCurrentURL(request); + const blobURLEntry = requestCurrentURL(request) if (blobURLEntry.search.length !== 0) { - return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); + return Promise.resolve( + makeNetworkError( + 'NetworkError when attempting to fetch resource.' + ) + ) } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) { - return Promise.resolve(makeNetworkError("invalid method")); + const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()) + if (request.method !== 'GET' || !isBlobLike(blobURLEntryObject)) { + return Promise.resolve(makeNetworkError('invalid method')) } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type = bodyWithType[1] ?? ""; + const bodyWithType = safelyExtractBody(blobURLEntryObject) + const body = bodyWithType[0] + const length = isomorphicEncode(`${body.length}`) + const type = bodyWithType[1] ?? '' const response = makeResponse({ - statusText: "OK", + statusText: 'OK', headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type }] + ['content-length', { name: 'Content-Length', value: length }], + ['content-type', { name: 'Content-Type', value: type }] ] - }); - response.body = body; - return Promise.resolve(response); - } - case "data:": { - const currentURL = requestCurrentURL(request); - const dataURLStruct = dataURLProcessor(currentURL); - if (dataURLStruct === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); - } - const mimeType = serializeAMimeType(dataURLStruct.mimeType); - return Promise.resolve(makeResponse({ - statusText: "OK", - headersList: [ - ["content-type", { name: "Content-Type", value: mimeType }] - ], - body: safelyExtractBody(dataURLStruct.body)[0] - })); + }) + response.body = body + return Promise.resolve(response) + } + case 'data:': { + const currentURL = requestCurrentURL(request) + const dataURLStruct = dataURLProcessor(currentURL) + if (dataURLStruct === 'failure') { + return Promise.resolve( + makeNetworkError('failed to fetch the data URL') + ) + } + const mimeType = serializeAMimeType(dataURLStruct.mimeType) + return Promise.resolve( + makeResponse({ + statusText: 'OK', + headersList: [ + ['content-type', { name: 'Content-Type', value: mimeType }] + ], + body: safelyExtractBody(dataURLStruct.body)[0] + }) + ) } - case "file:": { - return Promise.resolve(makeNetworkError("not implemented... yet...")); + case 'file:': { + return Promise.resolve(makeNetworkError('not implemented... yet...')) } - case "http:": - case "https:": { - return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); + case 'http:': + case 'https:': { + return httpFetch(fetchParams).catch((err) => makeNetworkError(err)) } default: { - return Promise.resolve(makeNetworkError("unknown scheme")); + return Promise.resolve(makeNetworkError('unknown scheme')) } } } function finalizeResponse(fetchParams, response) { - fetchParams.request.done = true; + fetchParams.request.done = true if (fetchParams.processResponseDone != null) { - queueMicrotask(() => fetchParams.processResponseDone(response)); + queueMicrotask(() => fetchParams.processResponseDone(response)) } } function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; + if (response.type === 'error') { + response.urlList = [fetchParams.request.urlList[0]] response.timingInfo = createOpaqueTimingInfo({ startTime: fetchParams.timingInfo.startTime - }); + }) } const processResponseEndOfBody = () => { - fetchParams.request.done = true; + fetchParams.request.done = true if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)) } - }; + } if (fetchParams.processResponse != null) { - queueMicrotask(() => fetchParams.processResponse(response)); + queueMicrotask(() => fetchParams.processResponse(response)) } if (response.body == null) { - processResponseEndOfBody(); + processResponseEndOfBody() } else { const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream({ - start() { + controller.enqueue(chunk) + } + const transformStream = new TransformStream( + { + start() {}, + transform: identityTransformAlgorithm, + flush: processResponseEndOfBody }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; + { + size() { + return 1 + } + }, + { + size() { + return 1 + } } - }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; + ) + response.body = { + stream: response.body.stream.pipeThrough(transformStream) + } } if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); + const processBody = (nullOrBytes) => + fetchParams.processResponseConsumeBody(response, nullOrBytes) + const processBodyError = (failure) => + fetchParams.processResponseConsumeBody(response, failure) if (response.body == null) { - queueMicrotask(() => processBody(null)); + queueMicrotask(() => processBody(null)) } else { - return fullyReadBody(response.body, processBody, processBodyError); + return fullyReadBody(response.body, processBody, processBodyError) } - return Promise.resolve(); + return Promise.resolve() } } async function httpFetch(fetchParams) { - const request = fetchParams.request; - let response = null; - let actualResponse = null; - const timingInfo = fetchParams.timingInfo; - if (request.serviceWorkers === "all") { + const request = fetchParams.request + let response = null + let actualResponse = null + const timingInfo = fetchParams.timingInfo + if (request.serviceWorkers === 'all') { } if (response === null) { - if (request.redirect === "follow") { - request.serviceWorkers = "none"; + if (request.redirect === 'follow') { + request.serviceWorkers = 'none' } - actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); - if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { - return makeNetworkError("cors failure"); + actualResponse = response = await httpNetworkOrCacheFetch(fetchParams) + if ( + request.responseTainting === 'cors' && + corsCheck(request, response) === 'failure' + ) { + return makeNetworkError('cors failure') } - if (TAOCheck(request, response) === "failure") { - request.timingAllowFailed = true; + if (TAOCheck(request, response) === 'failure') { + request.timingAllowFailed = true } } - if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( - request.origin, - request.client, - request.destination, - actualResponse - ) === "blocked") { - return makeNetworkError("blocked"); + if ( + (request.responseTainting === 'opaque' || response.type === 'opaque') && + crossOriginResourcePolicyCheck( + request.origin, + request.client, + request.destination, + actualResponse + ) === 'blocked' + ) { + return makeNetworkError('blocked') } if (redirectStatus.includes(actualResponse.status)) { - if (request.redirect !== "manual") { - fetchParams.controller.connection.destroy(); - } - if (request.redirect === "error") { - response = makeNetworkError("unexpected redirect"); - } else if (request.redirect === "manual") { - response = actualResponse; - } else if (request.redirect === "follow") { - response = await httpRedirectFetch(fetchParams, response); + if (request.redirect !== 'manual') { + fetchParams.controller.connection.destroy() + } + if (request.redirect === 'error') { + response = makeNetworkError('unexpected redirect') + } else if (request.redirect === 'manual') { + response = actualResponse + } else if (request.redirect === 'follow') { + response = await httpRedirectFetch(fetchParams, response) } else { - assert(false); + assert(false) } } - response.timingInfo = timingInfo; - return response; + response.timingInfo = timingInfo + return response } function httpRedirectFetch(fetchParams, response) { - const request = fetchParams.request; - const actualResponse = response.internalResponse ? response.internalResponse : response; - let locationURL; + const request = fetchParams.request + const actualResponse = response.internalResponse + ? response.internalResponse + : response + let locationURL try { locationURL = responseLocationURL( actualResponse, requestCurrentURL(request).hash - ); + ) if (locationURL == null) { - return response; + return response } } catch (err) { - return Promise.resolve(makeNetworkError(err)); + return Promise.resolve(makeNetworkError(err)) } if (!urlIsHttpHttpsScheme(locationURL)) { - return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); + return Promise.resolve( + makeNetworkError('URL scheme must be a HTTP(S) scheme') + ) } if (request.redirectCount === 20) { - return Promise.resolve(makeNetworkError("redirect count exceeded")); + return Promise.resolve(makeNetworkError('redirect count exceeded')) } - request.redirectCount += 1; - if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { - return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + request.redirectCount += 1 + if ( + request.mode === 'cors' && + (locationURL.username || locationURL.password) && + !sameOrigin(request, locationURL) + ) { + return Promise.resolve( + makeNetworkError('cross origin not allowed for request mode "cors"') + ) } - if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { - return Promise.resolve(makeNetworkError( - 'URL cannot contain credentials for request mode "cors"' - )); + if ( + request.responseTainting === 'cors' && + (locationURL.username || locationURL.password) + ) { + return Promise.resolve( + makeNetworkError( + 'URL cannot contain credentials for request mode "cors"' + ) + ) } - if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { - return Promise.resolve(makeNetworkError()); + if ( + actualResponse.status !== 303 && + request.body != null && + request.body.source == null + ) { + return Promise.resolve(makeNetworkError()) } - if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !["GET", "HEAD"].includes(request.method)) { - request.method = "GET"; - request.body = null; + if ( + ([301, 302].includes(actualResponse.status) && + request.method === 'POST') || + (actualResponse.status === 303 && + !['GET', 'HEAD'].includes(request.method)) + ) { + request.method = 'GET' + request.body = null for (const headerName of requestBodyHeader) { - request.headersList.delete(headerName); + request.headersList.delete(headerName) } } if (!sameOrigin(requestCurrentURL(request), locationURL)) { - request.headersList.delete("authorization"); - request.headersList.delete("cookie"); - request.headersList.delete("host"); + request.headersList.delete('authorization') + request.headersList.delete('cookie') + request.headersList.delete('host') } if (request.body != null) { - assert(request.body.source != null); - request.body = safelyExtractBody(request.body.source)[0]; + assert(request.body.source != null) + request.body = safelyExtractBody(request.body.source)[0] } - const timingInfo = fetchParams.timingInfo; - timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + const timingInfo = fetchParams.timingInfo + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = + coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability) if (timingInfo.redirectStartTime === 0) { - timingInfo.redirectStartTime = timingInfo.startTime; - } - request.urlList.push(locationURL); - setRequestReferrerPolicyOnRedirect(request, actualResponse); - return mainFetch(fetchParams, true); - } - async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { - const request = fetchParams.request; - let httpFetchParams = null; - let httpRequest = null; - let response = null; - const httpCache = null; - const revalidatingFlag = false; - if (request.window === "no-window" && request.redirect === "error") { - httpFetchParams = fetchParams; - httpRequest = request; + timingInfo.redirectStartTime = timingInfo.startTime + } + request.urlList.push(locationURL) + setRequestReferrerPolicyOnRedirect(request, actualResponse) + return mainFetch(fetchParams, true) + } + async function httpNetworkOrCacheFetch( + fetchParams, + isAuthenticationFetch = false, + isNewConnectionFetch = false + ) { + const request = fetchParams.request + let httpFetchParams = null + let httpRequest = null + let response = null + const httpCache = null + const revalidatingFlag = false + if (request.window === 'no-window' && request.redirect === 'error') { + httpFetchParams = fetchParams + httpRequest = request } else { - httpRequest = makeRequest(request); - httpFetchParams = { ...fetchParams }; - httpFetchParams.request = httpRequest; - } - const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic"; - const contentLength = httpRequest.body ? httpRequest.body.length : null; - let contentLengthHeaderValue = null; - if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { - contentLengthHeaderValue = "0"; + httpRequest = makeRequest(request) + httpFetchParams = { ...fetchParams } + httpFetchParams.request = httpRequest + } + const includeCredentials = + request.credentials === 'include' || + (request.credentials === 'same-origin' && + request.responseTainting === 'basic') + const contentLength = httpRequest.body ? httpRequest.body.length : null + let contentLengthHeaderValue = null + if ( + httpRequest.body == null && + ['POST', 'PUT'].includes(httpRequest.method) + ) { + contentLengthHeaderValue = '0' } if (contentLength != null) { - contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); + contentLengthHeaderValue = isomorphicEncode(`${contentLength}`) } if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); + httpRequest.headersList.append( + 'content-length', + contentLengthHeaderValue + ) } if (contentLength != null && httpRequest.keepalive) { } if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); + httpRequest.headersList.append( + 'referer', + isomorphicEncode(httpRequest.referrer.href) + ) } - appendRequestOriginHeader(httpRequest); - appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + appendRequestOriginHeader(httpRequest) + appendFetchMetadata(httpRequest) + if (!httpRequest.headersList.contains('user-agent')) { + httpRequest.headersList.append( + 'user-agent', + typeof esbuildDetection === 'undefined' ? 'undici' : 'node' + ) } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) { - httpRequest.cache = "no-store"; + if ( + httpRequest.cache === 'default' && + (httpRequest.headersList.contains('if-modified-since') || + httpRequest.headersList.contains('if-none-match') || + httpRequest.headersList.contains('if-unmodified-since') || + httpRequest.headersList.contains('if-match') || + httpRequest.headersList.contains('if-range')) + ) { + httpRequest.cache = 'no-store' } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "max-age=0"); + if ( + httpRequest.cache === 'no-cache' && + !httpRequest.preventNoCacheCacheControlHeaderModification && + !httpRequest.headersList.contains('cache-control') + ) { + httpRequest.headersList.append('cache-control', 'max-age=0') } - if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma")) { - httpRequest.headersList.append("pragma", "no-cache"); + if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') { + if (!httpRequest.headersList.contains('pragma')) { + httpRequest.headersList.append('pragma', 'no-cache') } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); + if (!httpRequest.headersList.contains('cache-control')) { + httpRequest.headersList.append('cache-control', 'no-cache') } } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); + if (httpRequest.headersList.contains('range')) { + httpRequest.headersList.append('accept-encoding', 'identity') } - if (!httpRequest.headersList.contains("accept-encoding")) { + if (!httpRequest.headersList.contains('accept-encoding')) { if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); + httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate') } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); + httpRequest.headersList.append('accept-encoding', 'gzip, deflate') } } - httpRequest.headersList.delete("host"); + httpRequest.headersList.delete('host') if (includeCredentials) { } if (httpCache == null) { - httpRequest.cache = "no-store"; + httpRequest.cache = 'no-store' } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { + if (httpRequest.mode !== 'no-store' && httpRequest.mode !== 'reload') { } if (response == null) { - if (httpRequest.mode === "only-if-cached") { - return makeNetworkError("only if cached"); + if (httpRequest.mode === 'only-if-cached') { + return makeNetworkError('only if cached') } const forwardResponse = await httpNetworkFetch( httpFetchParams, includeCredentials, isNewConnectionFetch - ); - if (!safeMethods.includes(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { + ) + if ( + !safeMethods.includes(httpRequest.method) && + forwardResponse.status >= 200 && + forwardResponse.status <= 399 + ) { } if (revalidatingFlag && forwardResponse.status === 304) { } if (response == null) { - response = forwardResponse; + response = forwardResponse } } - response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { - response.rangeRequested = true; + response.urlList = [...httpRequest.urlList] + if (httpRequest.headersList.contains('range')) { + response.rangeRequested = true } - response.requestIncludesCredentials = includeCredentials; + response.requestIncludesCredentials = includeCredentials if (response.status === 407) { - if (request.window === "no-window") { - return makeNetworkError(); + if (request.window === 'no-window') { + return makeNetworkError() } if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); + return makeAppropriateNetworkError(fetchParams) } - return makeNetworkError("proxy authentication required"); + return makeNetworkError('proxy authentication required') } if ( // response’s status is 421 @@ -29563,316 +34012,355 @@ var require_fetch2 = __commonJS({ (request.body == null || request.body.source != null) ) { if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); + return makeAppropriateNetworkError(fetchParams) } - fetchParams.controller.connection.destroy(); + fetchParams.controller.connection.destroy() response = await httpNetworkOrCacheFetch( fetchParams, isAuthenticationFetch, true - ); + ) } if (isAuthenticationFetch) { } - return response; - } - async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { - assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); + return response + } + async function httpNetworkFetch( + fetchParams, + includeCredentials = false, + forceNewConnection = false + ) { + assert( + !fetchParams.controller.connection || + fetchParams.controller.connection.destroyed + ) fetchParams.controller.connection = { abort: null, destroyed: false, destroy(err) { if (!this.destroyed) { - this.destroyed = true; - this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError")); + this.destroyed = true + this.abort?.( + err ?? + new DOMException2('The operation was aborted.', 'AbortError') + ) } } - }; - const request = fetchParams.request; - let response = null; - const timingInfo = fetchParams.timingInfo; - const httpCache = null; + } + const request = fetchParams.request + let response = null + const timingInfo = fetchParams.timingInfo + const httpCache = null if (httpCache == null) { - request.cache = "no-store"; + request.cache = 'no-store' } - const newConnection = forceNewConnection ? "yes" : "no"; - if (request.mode === "websocket") { + const newConnection = forceNewConnection ? 'yes' : 'no' + if (request.mode === 'websocket') { } else { } - let requestBody = null; + let requestBody = null if (request.body == null && fetchParams.processRequestEndOfBody) { - queueMicrotask(() => fetchParams.processRequestEndOfBody()); + queueMicrotask(() => fetchParams.processRequestEndOfBody()) } else if (request.body != null) { const processBodyChunk = async function* (bytes) { if (isCancelled(fetchParams)) { - return; + return } - yield bytes; - fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); - }; + yield bytes + fetchParams.processRequestBodyChunkLength?.(bytes.byteLength) + } const processEndOfBody = () => { if (isCancelled(fetchParams)) { - return; + return } if (fetchParams.processRequestEndOfBody) { - fetchParams.processRequestEndOfBody(); + fetchParams.processRequestEndOfBody() } - }; + } const processBodyError = (e) => { if (isCancelled(fetchParams)) { - return; + return } - if (e.name === "AbortError") { - fetchParams.controller.abort(); + if (e.name === 'AbortError') { + fetchParams.controller.abort() } else { - fetchParams.controller.terminate(e); + fetchParams.controller.terminate(e) } - }; - requestBody = async function* () { + } + requestBody = (async function* () { try { for await (const bytes of request.body.stream) { - yield* processBodyChunk(bytes); + yield* processBodyChunk(bytes) } - processEndOfBody(); + processEndOfBody() } catch (err) { - processBodyError(err); + processBodyError(err) } - }(); + })() } try { - const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); + const { body, status, statusText, headersList, socket } = + await dispatch({ body: requestBody }) if (socket) { - response = makeResponse({ status, statusText, headersList, socket }); + response = makeResponse({ status, statusText, headersList, socket }) } else { - const iterator = body[Symbol.asyncIterator](); - fetchParams.controller.next = () => iterator.next(); - response = makeResponse({ status, statusText, headersList }); + const iterator = body[Symbol.asyncIterator]() + fetchParams.controller.next = () => iterator.next() + response = makeResponse({ status, statusText, headersList }) } } catch (err) { - if (err.name === "AbortError") { - fetchParams.controller.connection.destroy(); - return makeAppropriateNetworkError(fetchParams, err); + if (err.name === 'AbortError') { + fetchParams.controller.connection.destroy() + return makeAppropriateNetworkError(fetchParams, err) } - return makeNetworkError(err); + return makeNetworkError(err) } const pullAlgorithm = () => { - fetchParams.controller.resume(); - }; + fetchParams.controller.resume() + } const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); - }; + fetchParams.controller.abort(reason) + } if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; + ReadableStream = require('stream/web').ReadableStream } const stream = new ReadableStream( { async start(controller) { - fetchParams.controller.controller = controller; + fetchParams.controller.controller = controller }, async pull(controller) { - await pullAlgorithm(controller); + await pullAlgorithm(controller) }, async cancel(reason) { - await cancelAlgorithm(reason); + await cancelAlgorithm(reason) } }, { highWaterMark: 0, size() { - return 1; + return 1 } } - ); - response.body = { stream }; - fetchParams.controller.on("terminated", onAborted); + ) + response.body = { stream } + fetchParams.controller.on('terminated', onAborted) fetchParams.controller.resume = async () => { while (true) { - let bytes; - let isFailure; + let bytes + let isFailure try { - const { done, value } = await fetchParams.controller.next(); + const { done, value } = await fetchParams.controller.next() if (isAborted(fetchParams)) { - break; + break } - bytes = done ? void 0 : value; + bytes = done ? void 0 : value } catch (err) { if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { - bytes = void 0; + bytes = void 0 } else { - bytes = err; - isFailure = true; + bytes = err + isFailure = true } } if (bytes === void 0) { - readableStreamClose(fetchParams.controller.controller); - finalizeResponse(fetchParams, response); - return; + readableStreamClose(fetchParams.controller.controller) + finalizeResponse(fetchParams, response) + return } - timingInfo.decodedBodySize += bytes?.byteLength ?? 0; + timingInfo.decodedBodySize += bytes?.byteLength ?? 0 if (isFailure) { - fetchParams.controller.terminate(bytes); - return; + fetchParams.controller.terminate(bytes) + return } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); + fetchParams.controller.controller.enqueue(new Uint8Array(bytes)) if (isErrored(stream)) { - fetchParams.controller.terminate(); - return; + fetchParams.controller.terminate() + return } if (!fetchParams.controller.controller.desiredSize) { - return; + return } } - }; + } function onAborted(reason) { if (isAborted(fetchParams)) { - response.aborted = true; + response.aborted = true if (isReadable(stream)) { fetchParams.controller.controller.error( fetchParams.controller.serializedAbortReason - ); + ) } } else { if (isReadable(stream)) { - fetchParams.controller.controller.error(new TypeError("terminated", { - cause: isErrorLike(reason) ? reason : void 0 - })); + fetchParams.controller.controller.error( + new TypeError('terminated', { + cause: isErrorLike(reason) ? reason : void 0 + }) + ) } } - fetchParams.controller.connection.destroy(); + fetchParams.controller.connection.destroy() } - return response; + return response async function dispatch({ body }) { - const url = requestCurrentURL(request); - const agent = fetchParams.controller.dispatcher; - return new Promise((resolve, reject) => agent.dispatch( - { - path: url.pathname + url.search, - origin: url.origin, - method: request.method, - body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body, - headers: request.headersList.entries, - maxRedirections: 0, - upgrade: request.mode === "websocket" ? "websocket" : void 0 - }, - { - body: null, - abort: null, - onConnect(abort) { - const { connection } = fetchParams.controller; - if (connection.destroyed) { - abort(new DOMException2("The operation was aborted.", "AbortError")); - } else { - fetchParams.controller.on("terminated", abort); - this.abort = connection.abort = abort; - } + const url = requestCurrentURL(request) + const agent = fetchParams.controller.dispatcher + return new Promise((resolve, reject) => + agent.dispatch( + { + path: url.pathname + url.search, + origin: url.origin, + method: request.method, + body: fetchParams.controller.dispatcher.isMockActive + ? request.body && request.body.source + : body, + headers: request.headersList.entries, + maxRedirections: 0, + upgrade: request.mode === 'websocket' ? 'websocket' : void 0 }, - onHeaders(status, headersList, resume, statusText) { - if (status < 200) { - return; - } - let codings = []; - let location = ""; - const headers = new Headers(); - if (Array.isArray(headersList)) { - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers.append(key, val); + { + body: null, + abort: null, + onConnect(abort) { + const { connection } = fetchParams.controller + if (connection.destroyed) { + abort( + new DOMException2( + 'The operation was aborted.', + 'AbortError' + ) + ) + } else { + fetchParams.controller.on('terminated', abort) + this.abort = connection.abort = abort } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; + }, + onHeaders(status, headersList, resume, statusText) { + if (status < 200) { + return + } + let codings = [] + let location = '' + const headers = new Headers() + if (Array.isArray(headersList)) { + for (let n = 0; n < headersList.length; n += 2) { + const key = headersList[n + 0].toString('latin1') + const val = headersList[n + 1].toString('latin1') + if (key.toLowerCase() === 'content-encoding') { + codings = val + .toLowerCase() + .split(',') + .map((x) => x.trim()) + } else if (key.toLowerCase() === 'location') { + location = val + } + headers.append(key, val) + } + } else { + const keys = Object.keys(headersList) + for (const key of keys) { + const val = headersList[key] + if (key.toLowerCase() === 'content-encoding') { + codings = val + .toLowerCase() + .split(',') + .map((x) => x.trim()) + .reverse() + } else if (key.toLowerCase() === 'location') { + location = val + } + headers.append(key, val) } - headers.append(key, val); } - } - this.body = new Readable({ read: resume }); - const decoders = []; - const willFollow = request.redirect === "follow" && location && redirectStatus.includes(status); - if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { - if (coding === "x-gzip" || coding === "gzip") { - decoders.push(zlib.createGunzip({ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - flush: zlib.constants.Z_SYNC_FLUSH, - finishFlush: zlib.constants.Z_SYNC_FLUSH - })); - } else if (coding === "deflate") { - decoders.push(zlib.createInflate()); - } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress()); - } else { - decoders.length = 0; - break; + this.body = new Readable({ read: resume }) + const decoders = [] + const willFollow = + request.redirect === 'follow' && + location && + redirectStatus.includes(status) + if ( + request.method !== 'HEAD' && + request.method !== 'CONNECT' && + !nullBodyStatus.includes(status) && + !willFollow + ) { + for (const coding of codings) { + if (coding === 'x-gzip' || coding === 'gzip') { + decoders.push( + zlib.createGunzip({ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + }) + ) + } else if (coding === 'deflate') { + decoders.push(zlib.createInflate()) + } else if (coding === 'br') { + decoders.push(zlib.createBrotliDecompress()) + } else { + decoders.length = 0 + break + } } } - } - resolve({ - status, - statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { + resolve({ + status, + statusText, + headersList: headers[kHeadersList], + body: decoders.length + ? pipeline(this.body, ...decoders, () => {}) + : this.body.on('error', () => {}) }) - }); - return true; - }, - onData(chunk) { - if (fetchParams.controller.dump) { - return; - } - const bytes = chunk; - timingInfo.encodedBodySize += bytes.byteLength; - return this.body.push(bytes); - }, - onComplete() { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - fetchParams.controller.ended = true; - this.body.push(null); - }, - onError(error) { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - this.body?.destroy(error); - fetchParams.controller.terminate(error); - reject(error); - }, - onUpgrade(status, headersList, socket) { - if (status !== 101) { - return; - } - const headers = new Headers(); - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - headers.append(key, val); + return true + }, + onData(chunk) { + if (fetchParams.controller.dump) { + return + } + const bytes = chunk + timingInfo.encodedBodySize += bytes.byteLength + return this.body.push(bytes) + }, + onComplete() { + if (this.abort) { + fetchParams.controller.off('terminated', this.abort) + } + fetchParams.controller.ended = true + this.body.push(null) + }, + onError(error) { + if (this.abort) { + fetchParams.controller.off('terminated', this.abort) + } + this.body?.destroy(error) + fetchParams.controller.terminate(error) + reject(error) + }, + onUpgrade(status, headersList, socket) { + if (status !== 101) { + return + } + const headers = new Headers() + for (let n = 0; n < headersList.length; n += 2) { + const key = headersList[n + 0].toString('latin1') + const val = headersList[n + 1].toString('latin1') + headers.append(key, val) + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList: headers[kHeadersList], + socket + }) + return true } - resolve({ - status, - statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], - socket - }); - return true; } - } - )); + ) + ) } } module2.exports = { @@ -29880,589 +34368,601 @@ var require_fetch2 = __commonJS({ Fetch, fetching, finalizeAndReportTiming - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/symbols.js var require_symbols8 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kState: Symbol("FileReader state"), - kResult: Symbol("FileReader result"), - kError: Symbol("FileReader error"), - kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), - kEvents: Symbol("FileReader events"), - kAborted: Symbol("FileReader aborted") - }; + kState: Symbol('FileReader state'), + kResult: Symbol('FileReader result'), + kError: Symbol('FileReader error'), + kLastProgressEventFired: Symbol( + 'FileReader last progress event fired timestamp' + ), + kEvents: Symbol('FileReader events'), + kAborted: Symbol('FileReader aborted') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/progressevent.js var require_progressevent2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/progressevent.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl2(); - var kState = Symbol("ProgressEvent state"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/progressevent.js'( + exports, + module2 + ) { + 'use strict' + var { webidl } = require_webidl2() + var kState = Symbol('ProgressEvent state') var ProgressEvent = class _ProgressEvent extends Event { constructor(type, eventInitDict = {}) { - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); - super(type, eventInitDict); + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}) + super(type, eventInitDict) this[kState] = { lengthComputable: eventInitDict.lengthComputable, loaded: eventInitDict.loaded, total: eventInitDict.total - }; + } } get lengthComputable() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].lengthComputable; + webidl.brandCheck(this, _ProgressEvent) + return this[kState].lengthComputable } get loaded() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].loaded; + webidl.brandCheck(this, _ProgressEvent) + return this[kState].loaded } get total() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].total; + webidl.brandCheck(this, _ProgressEvent) + return this[kState].total } - }; + } webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ { - key: "lengthComputable", + key: 'lengthComputable', converter: webidl.converters.boolean, defaultValue: false }, { - key: "loaded", - converter: webidl.converters["unsigned long long"], + key: 'loaded', + converter: webidl.converters['unsigned long long'], defaultValue: 0 }, { - key: "total", - converter: webidl.converters["unsigned long long"], + key: 'total', + converter: webidl.converters['unsigned long long'], defaultValue: 0 }, { - key: "bubbles", + key: 'bubbles', converter: webidl.converters.boolean, defaultValue: false }, { - key: "cancelable", + key: 'cancelable', converter: webidl.converters.boolean, defaultValue: false }, { - key: "composed", + key: 'composed', converter: webidl.converters.boolean, defaultValue: false } - ]); + ]) module2.exports = { ProgressEvent - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/encoding.js var require_encoding2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/encoding.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/encoding.js'( + exports, + module2 + ) { + 'use strict' function getEncoding(label) { if (!label) { - return "failure"; + return 'failure' } switch (label.trim().toLowerCase()) { - case "unicode-1-1-utf-8": - case "unicode11utf8": - case "unicode20utf8": - case "utf-8": - case "utf8": - case "x-unicode20utf8": - return "UTF-8"; - case "866": - case "cp866": - case "csibm866": - case "ibm866": - return "IBM866"; - case "csisolatin2": - case "iso-8859-2": - case "iso-ir-101": - case "iso8859-2": - case "iso88592": - case "iso_8859-2": - case "iso_8859-2:1987": - case "l2": - case "latin2": - return "ISO-8859-2"; - case "csisolatin3": - case "iso-8859-3": - case "iso-ir-109": - case "iso8859-3": - case "iso88593": - case "iso_8859-3": - case "iso_8859-3:1988": - case "l3": - case "latin3": - return "ISO-8859-3"; - case "csisolatin4": - case "iso-8859-4": - case "iso-ir-110": - case "iso8859-4": - case "iso88594": - case "iso_8859-4": - case "iso_8859-4:1988": - case "l4": - case "latin4": - return "ISO-8859-4"; - case "csisolatincyrillic": - case "cyrillic": - case "iso-8859-5": - case "iso-ir-144": - case "iso8859-5": - case "iso88595": - case "iso_8859-5": - case "iso_8859-5:1988": - return "ISO-8859-5"; - case "arabic": - case "asmo-708": - case "csiso88596e": - case "csiso88596i": - case "csisolatinarabic": - case "ecma-114": - case "iso-8859-6": - case "iso-8859-6-e": - case "iso-8859-6-i": - case "iso-ir-127": - case "iso8859-6": - case "iso88596": - case "iso_8859-6": - case "iso_8859-6:1987": - return "ISO-8859-6"; - case "csisolatingreek": - case "ecma-118": - case "elot_928": - case "greek": - case "greek8": - case "iso-8859-7": - case "iso-ir-126": - case "iso8859-7": - case "iso88597": - case "iso_8859-7": - case "iso_8859-7:1987": - case "sun_eu_greek": - return "ISO-8859-7"; - case "csiso88598e": - case "csisolatinhebrew": - case "hebrew": - case "iso-8859-8": - case "iso-8859-8-e": - case "iso-ir-138": - case "iso8859-8": - case "iso88598": - case "iso_8859-8": - case "iso_8859-8:1988": - case "visual": - return "ISO-8859-8"; - case "csiso88598i": - case "iso-8859-8-i": - case "logical": - return "ISO-8859-8-I"; - case "csisolatin6": - case "iso-8859-10": - case "iso-ir-157": - case "iso8859-10": - case "iso885910": - case "l6": - case "latin6": - return "ISO-8859-10"; - case "iso-8859-13": - case "iso8859-13": - case "iso885913": - return "ISO-8859-13"; - case "iso-8859-14": - case "iso8859-14": - case "iso885914": - return "ISO-8859-14"; - case "csisolatin9": - case "iso-8859-15": - case "iso8859-15": - case "iso885915": - case "iso_8859-15": - case "l9": - return "ISO-8859-15"; - case "iso-8859-16": - return "ISO-8859-16"; - case "cskoi8r": - case "koi": - case "koi8": - case "koi8-r": - case "koi8_r": - return "KOI8-R"; - case "koi8-ru": - case "koi8-u": - return "KOI8-U"; - case "csmacintosh": - case "mac": - case "macintosh": - case "x-mac-roman": - return "macintosh"; - case "iso-8859-11": - case "iso8859-11": - case "iso885911": - case "tis-620": - case "windows-874": - return "windows-874"; - case "cp1250": - case "windows-1250": - case "x-cp1250": - return "windows-1250"; - case "cp1251": - case "windows-1251": - case "x-cp1251": - return "windows-1251"; - case "ansi_x3.4-1968": - case "ascii": - case "cp1252": - case "cp819": - case "csisolatin1": - case "ibm819": - case "iso-8859-1": - case "iso-ir-100": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "iso_8859-1:1987": - case "l1": - case "latin1": - case "us-ascii": - case "windows-1252": - case "x-cp1252": - return "windows-1252"; - case "cp1253": - case "windows-1253": - case "x-cp1253": - return "windows-1253"; - case "cp1254": - case "csisolatin5": - case "iso-8859-9": - case "iso-ir-148": - case "iso8859-9": - case "iso88599": - case "iso_8859-9": - case "iso_8859-9:1989": - case "l5": - case "latin5": - case "windows-1254": - case "x-cp1254": - return "windows-1254"; - case "cp1255": - case "windows-1255": - case "x-cp1255": - return "windows-1255"; - case "cp1256": - case "windows-1256": - case "x-cp1256": - return "windows-1256"; - case "cp1257": - case "windows-1257": - case "x-cp1257": - return "windows-1257"; - case "cp1258": - case "windows-1258": - case "x-cp1258": - return "windows-1258"; - case "x-mac-cyrillic": - case "x-mac-ukrainian": - return "x-mac-cyrillic"; - case "chinese": - case "csgb2312": - case "csiso58gb231280": - case "gb2312": - case "gb_2312": - case "gb_2312-80": - case "gbk": - case "iso-ir-58": - case "x-gbk": - return "GBK"; - case "gb18030": - return "gb18030"; - case "big5": - case "big5-hkscs": - case "cn-big5": - case "csbig5": - case "x-x-big5": - return "Big5"; - case "cseucpkdfmtjapanese": - case "euc-jp": - case "x-euc-jp": - return "EUC-JP"; - case "csiso2022jp": - case "iso-2022-jp": - return "ISO-2022-JP"; - case "csshiftjis": - case "ms932": - case "ms_kanji": - case "shift-jis": - case "shift_jis": - case "sjis": - case "windows-31j": - case "x-sjis": - return "Shift_JIS"; - case "cseuckr": - case "csksc56011987": - case "euc-kr": - case "iso-ir-149": - case "korean": - case "ks_c_5601-1987": - case "ks_c_5601-1989": - case "ksc5601": - case "ksc_5601": - case "windows-949": - return "EUC-KR"; - case "csiso2022kr": - case "hz-gb-2312": - case "iso-2022-cn": - case "iso-2022-cn-ext": - case "iso-2022-kr": - case "replacement": - return "replacement"; - case "unicodefffe": - case "utf-16be": - return "UTF-16BE"; - case "csunicode": - case "iso-10646-ucs-2": - case "ucs-2": - case "unicode": - case "unicodefeff": - case "utf-16": - case "utf-16le": - return "UTF-16LE"; - case "x-user-defined": - return "x-user-defined"; + case 'unicode-1-1-utf-8': + case 'unicode11utf8': + case 'unicode20utf8': + case 'utf-8': + case 'utf8': + case 'x-unicode20utf8': + return 'UTF-8' + case '866': + case 'cp866': + case 'csibm866': + case 'ibm866': + return 'IBM866' + case 'csisolatin2': + case 'iso-8859-2': + case 'iso-ir-101': + case 'iso8859-2': + case 'iso88592': + case 'iso_8859-2': + case 'iso_8859-2:1987': + case 'l2': + case 'latin2': + return 'ISO-8859-2' + case 'csisolatin3': + case 'iso-8859-3': + case 'iso-ir-109': + case 'iso8859-3': + case 'iso88593': + case 'iso_8859-3': + case 'iso_8859-3:1988': + case 'l3': + case 'latin3': + return 'ISO-8859-3' + case 'csisolatin4': + case 'iso-8859-4': + case 'iso-ir-110': + case 'iso8859-4': + case 'iso88594': + case 'iso_8859-4': + case 'iso_8859-4:1988': + case 'l4': + case 'latin4': + return 'ISO-8859-4' + case 'csisolatincyrillic': + case 'cyrillic': + case 'iso-8859-5': + case 'iso-ir-144': + case 'iso8859-5': + case 'iso88595': + case 'iso_8859-5': + case 'iso_8859-5:1988': + return 'ISO-8859-5' + case 'arabic': + case 'asmo-708': + case 'csiso88596e': + case 'csiso88596i': + case 'csisolatinarabic': + case 'ecma-114': + case 'iso-8859-6': + case 'iso-8859-6-e': + case 'iso-8859-6-i': + case 'iso-ir-127': + case 'iso8859-6': + case 'iso88596': + case 'iso_8859-6': + case 'iso_8859-6:1987': + return 'ISO-8859-6' + case 'csisolatingreek': + case 'ecma-118': + case 'elot_928': + case 'greek': + case 'greek8': + case 'iso-8859-7': + case 'iso-ir-126': + case 'iso8859-7': + case 'iso88597': + case 'iso_8859-7': + case 'iso_8859-7:1987': + case 'sun_eu_greek': + return 'ISO-8859-7' + case 'csiso88598e': + case 'csisolatinhebrew': + case 'hebrew': + case 'iso-8859-8': + case 'iso-8859-8-e': + case 'iso-ir-138': + case 'iso8859-8': + case 'iso88598': + case 'iso_8859-8': + case 'iso_8859-8:1988': + case 'visual': + return 'ISO-8859-8' + case 'csiso88598i': + case 'iso-8859-8-i': + case 'logical': + return 'ISO-8859-8-I' + case 'csisolatin6': + case 'iso-8859-10': + case 'iso-ir-157': + case 'iso8859-10': + case 'iso885910': + case 'l6': + case 'latin6': + return 'ISO-8859-10' + case 'iso-8859-13': + case 'iso8859-13': + case 'iso885913': + return 'ISO-8859-13' + case 'iso-8859-14': + case 'iso8859-14': + case 'iso885914': + return 'ISO-8859-14' + case 'csisolatin9': + case 'iso-8859-15': + case 'iso8859-15': + case 'iso885915': + case 'iso_8859-15': + case 'l9': + return 'ISO-8859-15' + case 'iso-8859-16': + return 'ISO-8859-16' + case 'cskoi8r': + case 'koi': + case 'koi8': + case 'koi8-r': + case 'koi8_r': + return 'KOI8-R' + case 'koi8-ru': + case 'koi8-u': + return 'KOI8-U' + case 'csmacintosh': + case 'mac': + case 'macintosh': + case 'x-mac-roman': + return 'macintosh' + case 'iso-8859-11': + case 'iso8859-11': + case 'iso885911': + case 'tis-620': + case 'windows-874': + return 'windows-874' + case 'cp1250': + case 'windows-1250': + case 'x-cp1250': + return 'windows-1250' + case 'cp1251': + case 'windows-1251': + case 'x-cp1251': + return 'windows-1251' + case 'ansi_x3.4-1968': + case 'ascii': + case 'cp1252': + case 'cp819': + case 'csisolatin1': + case 'ibm819': + case 'iso-8859-1': + case 'iso-ir-100': + case 'iso8859-1': + case 'iso88591': + case 'iso_8859-1': + case 'iso_8859-1:1987': + case 'l1': + case 'latin1': + case 'us-ascii': + case 'windows-1252': + case 'x-cp1252': + return 'windows-1252' + case 'cp1253': + case 'windows-1253': + case 'x-cp1253': + return 'windows-1253' + case 'cp1254': + case 'csisolatin5': + case 'iso-8859-9': + case 'iso-ir-148': + case 'iso8859-9': + case 'iso88599': + case 'iso_8859-9': + case 'iso_8859-9:1989': + case 'l5': + case 'latin5': + case 'windows-1254': + case 'x-cp1254': + return 'windows-1254' + case 'cp1255': + case 'windows-1255': + case 'x-cp1255': + return 'windows-1255' + case 'cp1256': + case 'windows-1256': + case 'x-cp1256': + return 'windows-1256' + case 'cp1257': + case 'windows-1257': + case 'x-cp1257': + return 'windows-1257' + case 'cp1258': + case 'windows-1258': + case 'x-cp1258': + return 'windows-1258' + case 'x-mac-cyrillic': + case 'x-mac-ukrainian': + return 'x-mac-cyrillic' + case 'chinese': + case 'csgb2312': + case 'csiso58gb231280': + case 'gb2312': + case 'gb_2312': + case 'gb_2312-80': + case 'gbk': + case 'iso-ir-58': + case 'x-gbk': + return 'GBK' + case 'gb18030': + return 'gb18030' + case 'big5': + case 'big5-hkscs': + case 'cn-big5': + case 'csbig5': + case 'x-x-big5': + return 'Big5' + case 'cseucpkdfmtjapanese': + case 'euc-jp': + case 'x-euc-jp': + return 'EUC-JP' + case 'csiso2022jp': + case 'iso-2022-jp': + return 'ISO-2022-JP' + case 'csshiftjis': + case 'ms932': + case 'ms_kanji': + case 'shift-jis': + case 'shift_jis': + case 'sjis': + case 'windows-31j': + case 'x-sjis': + return 'Shift_JIS' + case 'cseuckr': + case 'csksc56011987': + case 'euc-kr': + case 'iso-ir-149': + case 'korean': + case 'ks_c_5601-1987': + case 'ks_c_5601-1989': + case 'ksc5601': + case 'ksc_5601': + case 'windows-949': + return 'EUC-KR' + case 'csiso2022kr': + case 'hz-gb-2312': + case 'iso-2022-cn': + case 'iso-2022-cn-ext': + case 'iso-2022-kr': + case 'replacement': + return 'replacement' + case 'unicodefffe': + case 'utf-16be': + return 'UTF-16BE' + case 'csunicode': + case 'iso-10646-ucs-2': + case 'ucs-2': + case 'unicode': + case 'unicodefeff': + case 'utf-16': + case 'utf-16le': + return 'UTF-16LE' + case 'x-user-defined': + return 'x-user-defined' default: - return "failure"; + return 'failure' } } module2.exports = { getEncoding - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/util.js var require_util11 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/util.js"(exports, module2) { - "use strict"; - var { - kState, - kError, - kResult, - kAborted, - kLastProgressEventFired - } = require_symbols8(); - var { ProgressEvent } = require_progressevent2(); - var { getEncoding } = require_encoding2(); - var { DOMException: DOMException2 } = require_constants5(); - var { serializeAMimeType, parseMIMEType } = require_dataURL2(); - var { types } = require("util"); - var { StringDecoder } = require("string_decoder"); - var { btoa } = require("buffer"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/util.js'( + exports, + module2 + ) { + 'use strict' + var { kState, kError, kResult, kAborted, kLastProgressEventFired } = + require_symbols8() + var { ProgressEvent } = require_progressevent2() + var { getEncoding } = require_encoding2() + var { DOMException: DOMException2 } = require_constants5() + var { serializeAMimeType, parseMIMEType } = require_dataURL2() + var { types } = require('util') + var { StringDecoder } = require('string_decoder') + var { btoa } = require('buffer') var staticPropertyDescriptors = { enumerable: true, writable: false, configurable: false - }; + } function readOperation(fr, blob, type, encodingName) { - if (fr[kState] === "loading") { - throw new DOMException2("Invalid state", "InvalidStateError"); - } - fr[kState] = "loading"; - fr[kResult] = null; - fr[kError] = null; - const stream = blob.stream(); - const reader = stream.getReader(); - const bytes = []; - let chunkPromise = reader.read(); - let isFirstChunk = true; - (async () => { + if (fr[kState] === 'loading') { + throw new DOMException2('Invalid state', 'InvalidStateError') + } + fr[kState] = 'loading' + fr[kResult] = null + fr[kError] = null + const stream = blob.stream() + const reader = stream.getReader() + const bytes = [] + let chunkPromise = reader.read() + let isFirstChunk = true + ;(async () => { while (!fr[kAborted]) { try { - const { done, value } = await chunkPromise; + const { done, value } = await chunkPromise if (isFirstChunk && !fr[kAborted]) { queueMicrotask(() => { - fireAProgressEvent("loadstart", fr); - }); + fireAProgressEvent('loadstart', fr) + }) } - isFirstChunk = false; + isFirstChunk = false if (!done && types.isUint8Array(value)) { - bytes.push(value); - if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) { - fr[kLastProgressEventFired] = Date.now(); + bytes.push(value) + if ( + (fr[kLastProgressEventFired] === void 0 || + Date.now() - fr[kLastProgressEventFired] >= 50) && + !fr[kAborted] + ) { + fr[kLastProgressEventFired] = Date.now() queueMicrotask(() => { - fireAProgressEvent("progress", fr); - }); + fireAProgressEvent('progress', fr) + }) } - chunkPromise = reader.read(); + chunkPromise = reader.read() } else if (done) { queueMicrotask(() => { - fr[kState] = "done"; + fr[kState] = 'done' try { - const result = packageData(bytes, type, blob.type, encodingName); + const result = packageData( + bytes, + type, + blob.type, + encodingName + ) if (fr[kAborted]) { - return; + return } - fr[kResult] = result; - fireAProgressEvent("load", fr); + fr[kResult] = result + fireAProgressEvent('load', fr) } catch (error) { - fr[kError] = error; - fireAProgressEvent("error", fr); + fr[kError] = error + fireAProgressEvent('error', fr) } - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr) } - }); - break; + }) + break } } catch (error) { if (fr[kAborted]) { - return; + return } queueMicrotask(() => { - fr[kState] = "done"; - fr[kError] = error; - fireAProgressEvent("error", fr); - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); + fr[kState] = 'done' + fr[kError] = error + fireAProgressEvent('error', fr) + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr) } - }); - break; + }) + break } } - })(); + })() } function fireAProgressEvent(e, reader) { const event = new ProgressEvent(e, { bubbles: false, cancelable: false - }); - reader.dispatchEvent(event); + }) + reader.dispatchEvent(event) } function packageData(bytes, type, mimeType, encodingName) { switch (type) { - case "DataURL": { - let dataURL = "data:"; - const parsed = parseMIMEType(mimeType || "application/octet-stream"); - if (parsed !== "failure") { - dataURL += serializeAMimeType(parsed); - } - dataURL += ";base64,"; - const decoder = new StringDecoder("latin1"); + case 'DataURL': { + let dataURL = 'data:' + const parsed = parseMIMEType(mimeType || 'application/octet-stream') + if (parsed !== 'failure') { + dataURL += serializeAMimeType(parsed) + } + dataURL += ';base64,' + const decoder = new StringDecoder('latin1') for (const chunk of bytes) { - dataURL += btoa(decoder.write(chunk)); + dataURL += btoa(decoder.write(chunk)) } - dataURL += btoa(decoder.end()); - return dataURL; + dataURL += btoa(decoder.end()) + return dataURL } - case "Text": { - let encoding = "failure"; + case 'Text': { + let encoding = 'failure' if (encodingName) { - encoding = getEncoding(encodingName); + encoding = getEncoding(encodingName) } - if (encoding === "failure" && mimeType) { - const type2 = parseMIMEType(mimeType); - if (type2 !== "failure") { - encoding = getEncoding(type2.parameters.get("charset")); + if (encoding === 'failure' && mimeType) { + const type2 = parseMIMEType(mimeType) + if (type2 !== 'failure') { + encoding = getEncoding(type2.parameters.get('charset')) } } - if (encoding === "failure") { - encoding = "UTF-8"; + if (encoding === 'failure') { + encoding = 'UTF-8' } - return decode(bytes, encoding); + return decode(bytes, encoding) } - case "ArrayBuffer": { - const sequence = combineByteSequences(bytes); - return sequence.buffer; + case 'ArrayBuffer': { + const sequence = combineByteSequences(bytes) + return sequence.buffer } - case "BinaryString": { - let binaryString = ""; - const decoder = new StringDecoder("latin1"); + case 'BinaryString': { + let binaryString = '' + const decoder = new StringDecoder('latin1') for (const chunk of bytes) { - binaryString += decoder.write(chunk); + binaryString += decoder.write(chunk) } - binaryString += decoder.end(); - return binaryString; + binaryString += decoder.end() + return binaryString } } } function decode(ioQueue, encoding) { - const bytes = combineByteSequences(ioQueue); - const BOMEncoding = BOMSniffing(bytes); - let slice = 0; + const bytes = combineByteSequences(ioQueue) + const BOMEncoding = BOMSniffing(bytes) + let slice = 0 if (BOMEncoding !== null) { - encoding = BOMEncoding; - slice = BOMEncoding === "UTF-8" ? 3 : 2; + encoding = BOMEncoding + slice = BOMEncoding === 'UTF-8' ? 3 : 2 } - const sliced = bytes.slice(slice); - return new TextDecoder(encoding).decode(sliced); + const sliced = bytes.slice(slice) + return new TextDecoder(encoding).decode(sliced) } function BOMSniffing(ioQueue) { - const [a, b, c] = ioQueue; + const [a, b, c] = ioQueue if (a === 239 && b === 187 && c === 191) { - return "UTF-8"; + return 'UTF-8' } else if (a === 254 && b === 255) { - return "UTF-16BE"; + return 'UTF-16BE' } else if (a === 255 && b === 254) { - return "UTF-16LE"; + return 'UTF-16LE' } - return null; + return null } function combineByteSequences(sequences) { const size = sequences.reduce((a, b) => { - return a + b.byteLength; - }, 0); - let offset = 0; + return a + b.byteLength + }, 0) + let offset = 0 return sequences.reduce((a, b) => { - a.set(b, offset); - offset += b.byteLength; - return a; - }, new Uint8Array(size)); + a.set(b, offset) + offset += b.byteLength + return a + }, new Uint8Array(size)) } module2.exports = { staticPropertyDescriptors, readOperation, fireAProgressEvent - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/filereader.js var require_filereader2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/filereader.js"(exports, module2) { - "use strict"; - var { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - } = require_util11(); - var { - kState, - kError, - kResult, - kEvents, - kAborted - } = require_symbols8(); - var { webidl } = require_webidl2(); - var { kEnumerableProperty } = require_util8(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/fileapi/filereader.js'( + exports, + module2 + ) { + 'use strict' + var { staticPropertyDescriptors, readOperation, fireAProgressEvent } = + require_util11() + var { kState, kError, kResult, kEvents, kAborted } = require_symbols8() + var { webidl } = require_webidl2() + var { kEnumerableProperty } = require_util8() var FileReader = class _FileReader extends EventTarget { constructor() { - super(); - this[kState] = "empty"; - this[kResult] = null; - this[kError] = null; + super() + this[kState] = 'empty' + this[kResult] = null + this[kError] = null this[kEvents] = { loadend: null, error: null, @@ -30470,27 +34970,31 @@ var require_filereader2 = __commonJS({ load: null, progress: null, loadstart: null - }; + } } /** * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer * @param {import('buffer').Blob} blob */ readAsArrayBuffer(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "ArrayBuffer"); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsArrayBuffer' + }) + blob = webidl.converters.Blob(blob, { strict: false }) + readOperation(this, blob, 'ArrayBuffer') } /** * @see https://w3c.github.io/FileAPI/#readAsBinaryString * @param {import('buffer').Blob} blob */ readAsBinaryString(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "BinaryString"); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsBinaryString' + }) + blob = webidl.converters.Blob(blob, { strict: false }) + readOperation(this, blob, 'BinaryString') } /** * @see https://w3c.github.io/FileAPI/#readAsDataText @@ -30498,170 +35002,174 @@ var require_filereader2 = __commonJS({ * @param {string?} encoding */ readAsText(blob, encoding = void 0) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); - blob = webidl.converters.Blob(blob, { strict: false }); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsText' + }) + blob = webidl.converters.Blob(blob, { strict: false }) if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); + encoding = webidl.converters.DOMString(encoding) } - readOperation(this, blob, "Text", encoding); + readOperation(this, blob, 'Text', encoding) } /** * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL * @param {import('buffer').Blob} blob */ readAsDataURL(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "DataURL"); + webidl.brandCheck(this, _FileReader) + webidl.argumentLengthCheck(arguments, 1, { + header: 'FileReader.readAsDataURL' + }) + blob = webidl.converters.Blob(blob, { strict: false }) + readOperation(this, blob, 'DataURL') } /** * @see https://w3c.github.io/FileAPI/#dfn-abort */ abort() { - if (this[kState] === "empty" || this[kState] === "done") { - this[kResult] = null; - return; + if (this[kState] === 'empty' || this[kState] === 'done') { + this[kResult] = null + return } - if (this[kState] === "loading") { - this[kState] = "done"; - this[kResult] = null; + if (this[kState] === 'loading') { + this[kState] = 'done' + this[kResult] = null } - this[kAborted] = true; - fireAProgressEvent("abort", this); - if (this[kState] !== "loading") { - fireAProgressEvent("loadend", this); + this[kAborted] = true + fireAProgressEvent('abort', this) + if (this[kState] !== 'loading') { + fireAProgressEvent('loadend', this) } } /** * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate */ get readyState() { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) switch (this[kState]) { - case "empty": - return this.EMPTY; - case "loading": - return this.LOADING; - case "done": - return this.DONE; + case 'empty': + return this.EMPTY + case 'loading': + return this.LOADING + case 'done': + return this.DONE } } /** * @see https://w3c.github.io/FileAPI/#dom-filereader-result */ get result() { - webidl.brandCheck(this, _FileReader); - return this[kResult]; + webidl.brandCheck(this, _FileReader) + return this[kResult] } /** * @see https://w3c.github.io/FileAPI/#dom-filereader-error */ get error() { - webidl.brandCheck(this, _FileReader); - return this[kError]; + webidl.brandCheck(this, _FileReader) + return this[kError] } get onloadend() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].loadend; + webidl.brandCheck(this, _FileReader) + return this[kEvents].loadend } set onloadend(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].loadend) { - this.removeEventListener("loadend", this[kEvents].loadend); + this.removeEventListener('loadend', this[kEvents].loadend) } - if (typeof fn === "function") { - this[kEvents].loadend = fn; - this.addEventListener("loadend", fn); + if (typeof fn === 'function') { + this[kEvents].loadend = fn + this.addEventListener('loadend', fn) } else { - this[kEvents].loadend = null; + this[kEvents].loadend = null } } get onerror() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].error; + webidl.brandCheck(this, _FileReader) + return this[kEvents].error } set onerror(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].error) { - this.removeEventListener("error", this[kEvents].error); + this.removeEventListener('error', this[kEvents].error) } - if (typeof fn === "function") { - this[kEvents].error = fn; - this.addEventListener("error", fn); + if (typeof fn === 'function') { + this[kEvents].error = fn + this.addEventListener('error', fn) } else { - this[kEvents].error = null; + this[kEvents].error = null } } get onloadstart() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].loadstart; + webidl.brandCheck(this, _FileReader) + return this[kEvents].loadstart } set onloadstart(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].loadstart) { - this.removeEventListener("loadstart", this[kEvents].loadstart); + this.removeEventListener('loadstart', this[kEvents].loadstart) } - if (typeof fn === "function") { - this[kEvents].loadstart = fn; - this.addEventListener("loadstart", fn); + if (typeof fn === 'function') { + this[kEvents].loadstart = fn + this.addEventListener('loadstart', fn) } else { - this[kEvents].loadstart = null; + this[kEvents].loadstart = null } } get onprogress() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].progress; + webidl.brandCheck(this, _FileReader) + return this[kEvents].progress } set onprogress(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].progress) { - this.removeEventListener("progress", this[kEvents].progress); + this.removeEventListener('progress', this[kEvents].progress) } - if (typeof fn === "function") { - this[kEvents].progress = fn; - this.addEventListener("progress", fn); + if (typeof fn === 'function') { + this[kEvents].progress = fn + this.addEventListener('progress', fn) } else { - this[kEvents].progress = null; + this[kEvents].progress = null } } get onload() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].load; + webidl.brandCheck(this, _FileReader) + return this[kEvents].load } set onload(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].load) { - this.removeEventListener("load", this[kEvents].load); + this.removeEventListener('load', this[kEvents].load) } - if (typeof fn === "function") { - this[kEvents].load = fn; - this.addEventListener("load", fn); + if (typeof fn === 'function') { + this[kEvents].load = fn + this.addEventListener('load', fn) } else { - this[kEvents].load = null; + this[kEvents].load = null } } get onabort() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].abort; + webidl.brandCheck(this, _FileReader) + return this[kEvents].abort } set onabort(fn) { - webidl.brandCheck(this, _FileReader); + webidl.brandCheck(this, _FileReader) if (this[kEvents].abort) { - this.removeEventListener("abort", this[kEvents].abort); + this.removeEventListener('abort', this[kEvents].abort) } - if (typeof fn === "function") { - this[kEvents].abort = fn; - this.addEventListener("abort", fn); + if (typeof fn === 'function') { + this[kEvents].abort = fn + this.addEventListener('abort', fn) } else { - this[kEvents].abort = null; + this[kEvents].abort = null } } - }; - FileReader.EMPTY = FileReader.prototype.EMPTY = 0; - FileReader.LOADING = FileReader.prototype.LOADING = 1; - FileReader.DONE = FileReader.prototype.DONE = 2; + } + FileReader.EMPTY = FileReader.prototype.EMPTY = 0 + FileReader.LOADING = FileReader.prototype.LOADING = 1 + FileReader.DONE = FileReader.prototype.DONE = 2 Object.defineProperties(FileReader.prototype, { EMPTY: staticPropertyDescriptors, LOADING: staticPropertyDescriptors, @@ -30681,368 +35189,405 @@ var require_filereader2 = __commonJS({ onerror: kEnumerableProperty, onloadend: kEnumerableProperty, [Symbol.toStringTag]: { - value: "FileReader", + value: 'FileReader', writable: false, enumerable: false, configurable: true } - }); + }) Object.defineProperties(FileReader, { EMPTY: staticPropertyDescriptors, LOADING: staticPropertyDescriptors, DONE: staticPropertyDescriptors - }); + }) module2.exports = { FileReader - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/symbols.js var require_symbols9 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kConstruct: Symbol("constructable") - }; + kConstruct: Symbol('constructable') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/util.js var require_util12 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL2(); - var { isValidHeaderName } = require_util9(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/util.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { URLSerializer } = require_dataURL2() + var { isValidHeaderName } = require_util9() function urlEquals(A, B, excludeFragment = false) { - const serializedA = URLSerializer(A, excludeFragment); - const serializedB = URLSerializer(B, excludeFragment); - return serializedA === serializedB; + const serializedA = URLSerializer(A, excludeFragment) + const serializedB = URLSerializer(B, excludeFragment) + return serializedA === serializedB } function fieldValues(header) { - assert(header !== null); - const values = []; - for (let value of header.split(",")) { - value = value.trim(); + assert(header !== null) + const values = [] + for (let value of header.split(',')) { + value = value.trim() if (!value.length) { - continue; + continue } else if (!isValidHeaderName(value)) { - continue; + continue } - values.push(value); + values.push(value) } - return values; + return values } module2.exports = { urlEquals, fieldValues - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/cache.js var require_cache2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/cache.js"(exports, module2) { - "use strict"; - var { kConstruct } = require_symbols9(); - var { urlEquals, fieldValues: getFieldValues } = require_util12(); - var { kEnumerableProperty, isDisturbed } = require_util8(); - var { kHeadersList } = require_symbols6(); - var { webidl } = require_webidl2(); - var { Response, cloneResponse } = require_response2(); - var { Request } = require_request4(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); - var { fetching } = require_fetch2(); - var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util9(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global4(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/cache.js'( + exports, + module2 + ) { + 'use strict' + var { kConstruct } = require_symbols9() + var { urlEquals, fieldValues: getFieldValues } = require_util12() + var { kEnumerableProperty, isDisturbed } = require_util8() + var { kHeadersList } = require_symbols6() + var { webidl } = require_webidl2() + var { Response, cloneResponse } = require_response2() + var { Request } = require_request4() + var { kState, kHeaders, kGuard, kRealm } = require_symbols7() + var { fetching } = require_fetch2() + var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = + require_util9() + var assert = require('assert') + var { getGlobalDispatcher } = require_global4() var Cache = class _Cache { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list * @type {requestResponseList} */ - #relevantRequestResponseList; + #relevantRequestResponseList constructor() { if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); + webidl.illegalConstructor() } - this.#relevantRequestResponseList = arguments[1]; + this.#relevantRequestResponseList = arguments[1] } async match(request, options = {}) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - const p = await this.matchAll(request, options); + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.match' }) + request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + const p = await this.matchAll(request, options) if (p.length === 0) { - return; + return } - return p[0]; + return p[0] } async matchAll(request = void 0, options = {}) { - webidl.brandCheck(this, _Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; + webidl.brandCheck(this, _Cache) + if (request !== void 0) request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + let r = null if (request !== void 0) { if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; + r = request[kState] + if (r.method !== 'GET' && !options.ignoreMethod) { + return [] } - } else if (typeof request === "string") { - r = new Request(request)[kState]; + } else if (typeof request === 'string') { + r = new Request(request)[kState] } } - const responses = []; + const responses = [] if (request === void 0) { for (const requestResponse of this.#relevantRequestResponseList) { - responses.push(requestResponse[1]); + responses.push(requestResponse[1]) } } else { - const requestResponses = this.#queryCache(r, options); + const requestResponses = this.#queryCache(r, options) for (const requestResponse of requestResponses) { - responses.push(requestResponse[1]); + responses.push(requestResponse[1]) } } - const responseList = []; + const responseList = [] for (const response of responses) { - const responseObject = new Response(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); + const responseObject = new Response(response.body?.source ?? null) + const body = responseObject[kState].body + responseObject[kState] = response + responseObject[kState].body = body + responseObject[kHeaders][kHeadersList] = response.headersList + responseObject[kHeaders][kGuard] = 'immutable' + responseList.push(responseObject) } - return Object.freeze(responseList); + return Object.freeze(responseList) } async add(request) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request = webidl.converters.RequestInfo(request); - const requests = [request]; - const responseArrayPromise = this.addAll(requests); - return await responseArrayPromise; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.add' }) + request = webidl.converters.RequestInfo(request) + const requests = [request] + const responseArrayPromise = this.addAll(requests) + return await responseArrayPromise } async addAll(requests) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence"](requests); - const responsePromises = []; - const requestList = []; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.addAll' }) + requests = webidl.converters['sequence'](requests) + const responsePromises = [] + const requestList = [] for (const request of requests) { - if (typeof request === "string") { - continue; + if (typeof request === 'string') { + continue } - const r = request[kState]; - if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") { + const r = request[kState] + if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') { throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme when method is not GET." - }); + header: 'Cache.addAll', + message: 'Expected http/s scheme when method is not GET.' + }) } } - const fetchControllers = []; + const fetchControllers = [] for (const request of requests) { - const r = new Request(request)[kState]; + const r = new Request(request)[kState] if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme." - }); - } - r.initiator = "fetch"; - r.destination = "subresource"; - requestList.push(r); - const responsePromise = createDeferredPromise(); - fetchControllers.push(fetching({ - request: r, - dispatcher: getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "Received an invalid status code or the request failed." - })); - } else if (response.headersList.contains("vary")) { - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "invalid vary field value" - })); - for (const controller of fetchControllers) { - controller.abort(); + header: 'Cache.addAll', + message: 'Expected http/s scheme.' + }) + } + r.initiator = 'fetch' + r.destination = 'subresource' + requestList.push(r) + const responsePromise = createDeferredPromise() + fetchControllers.push( + fetching({ + request: r, + dispatcher: getGlobalDispatcher(), + processResponse(response) { + if ( + response.type === 'error' || + response.status === 206 || + response.status < 200 || + response.status > 299 + ) { + responsePromise.reject( + webidl.errors.exception({ + header: 'Cache.addAll', + message: + 'Received an invalid status code or the request failed.' + }) + ) + } else if (response.headersList.contains('vary')) { + const fieldValues = getFieldValues( + response.headersList.get('vary') + ) + for (const fieldValue of fieldValues) { + if (fieldValue === '*') { + responsePromise.reject( + webidl.errors.exception({ + header: 'Cache.addAll', + message: 'invalid vary field value' + }) + ) + for (const controller of fetchControllers) { + controller.abort() + } + return } - return; } } + }, + processResponseEndOfBody(response) { + if (response.aborted) { + responsePromise.reject( + new DOMException('aborted', 'AbortError') + ) + return + } + responsePromise.resolve(response) } - }, - processResponseEndOfBody(response) { - if (response.aborted) { - responsePromise.reject(new DOMException("aborted", "AbortError")); - return; - } - responsePromise.resolve(response); - } - })); - responsePromises.push(responsePromise.promise); + }) + ) + responsePromises.push(responsePromise.promise) } - const p = Promise.all(responsePromises); - const responses = await p; - const operations = []; - let index = 0; + const p = Promise.all(responsePromises) + const responses = await p + const operations = [] + let index = 0 for (const response of responses) { const operation = { - type: "put", + type: 'put', // 7.3.2 request: requestList[index], // 7.3.3 response // 7.3.4 - }; - operations.push(operation); - index++; + } + operations.push(operation) + index++ } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; + const cacheJobPromise = createDeferredPromise() + let errorData = null try { - this.#batchCacheOperations(operations); + this.#batchCacheOperations(operations) } catch (e) { - errorData = e; + errorData = e } queueMicrotask(() => { if (errorData === null) { - cacheJobPromise.resolve(void 0); + cacheJobPromise.resolve(void 0) } else { - cacheJobPromise.reject(errorData); + cacheJobPromise.reject(errorData) } - }); - return cacheJobPromise.promise; + }) + return cacheJobPromise.promise } async put(request, response) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request = webidl.converters.RequestInfo(request); - response = webidl.converters.Response(response); - let innerRequest = null; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 2, { header: 'Cache.put' }) + request = webidl.converters.RequestInfo(request) + response = webidl.converters.Response(response) + let innerRequest = null if (request instanceof Request) { - innerRequest = request[kState]; + innerRequest = request[kState] } else { - innerRequest = new Request(request)[kState]; + innerRequest = new Request(request)[kState] } - if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { + if ( + !urlIsHttpHttpsScheme(innerRequest.url) || + innerRequest.method !== 'GET' + ) { throw webidl.errors.exception({ - header: "Cache.put", - message: "Expected an http/s scheme when method is not GET" - }); + header: 'Cache.put', + message: 'Expected an http/s scheme when method is not GET' + }) } - const innerResponse = response[kState]; + const innerResponse = response[kState] if (innerResponse.status === 206) { throw webidl.errors.exception({ - header: "Cache.put", - message: "Got 206 status" - }); + header: 'Cache.put', + message: 'Got 206 status' + }) } - if (innerResponse.headersList.contains("vary")) { - const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); + if (innerResponse.headersList.contains('vary')) { + const fieldValues = getFieldValues( + innerResponse.headersList.get('vary') + ) for (const fieldValue of fieldValues) { - if (fieldValue === "*") { + if (fieldValue === '*') { throw webidl.errors.exception({ - header: "Cache.put", - message: "Got * vary field value" - }); + header: 'Cache.put', + message: 'Got * vary field value' + }) } } } - if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { + if ( + innerResponse.body && + (isDisturbed(innerResponse.body.stream) || + innerResponse.body.stream.locked) + ) { throw webidl.errors.exception({ - header: "Cache.put", - message: "Response body is locked or disturbed" - }); + header: 'Cache.put', + message: 'Response body is locked or disturbed' + }) } - const clonedResponse = cloneResponse(innerResponse); - const bodyReadPromise = createDeferredPromise(); + const clonedResponse = cloneResponse(innerResponse) + const bodyReadPromise = createDeferredPromise() if (innerResponse.body != null) { - const stream = innerResponse.body.stream; - const reader = stream.getReader(); - readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); + const stream = innerResponse.body.stream + const reader = stream.getReader() + readAllBytes(reader).then( + bodyReadPromise.resolve, + bodyReadPromise.reject + ) } else { - bodyReadPromise.resolve(void 0); + bodyReadPromise.resolve(void 0) } - const operations = []; + const operations = [] const operation = { - type: "put", + type: 'put', // 14. request: innerRequest, // 15. response: clonedResponse // 16. - }; - operations.push(operation); - const bytes = await bodyReadPromise.promise; + } + operations.push(operation) + const bytes = await bodyReadPromise.promise if (clonedResponse.body != null) { - clonedResponse.body.source = bytes; + clonedResponse.body.source = bytes } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; + const cacheJobPromise = createDeferredPromise() + let errorData = null try { - this.#batchCacheOperations(operations); + this.#batchCacheOperations(operations) } catch (e) { - errorData = e; + errorData = e } queueMicrotask(() => { if (errorData === null) { - cacheJobPromise.resolve(); + cacheJobPromise.resolve() } else { - cacheJobPromise.reject(errorData); + cacheJobPromise.reject(errorData) } - }); - return cacheJobPromise.promise; + }) + return cacheJobPromise.promise } async delete(request, options = {}) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; + webidl.brandCheck(this, _Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.delete' }) + request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + let r = null if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return false; + r = request[kState] + if (r.method !== 'GET' && !options.ignoreMethod) { + return false } } else { - assert(typeof request === "string"); - r = new Request(request)[kState]; + assert(typeof request === 'string') + r = new Request(request)[kState] } - const operations = []; + const operations = [] const operation = { - type: "delete", + type: 'delete', request: r, options - }; - operations.push(operation); - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - let requestResponses; + } + operations.push(operation) + const cacheJobPromise = createDeferredPromise() + let errorData = null + let requestResponses try { - requestResponses = this.#batchCacheOperations(operations); + requestResponses = this.#batchCacheOperations(operations) } catch (e) { - errorData = e; + errorData = e } queueMicrotask(() => { if (errorData === null) { - cacheJobPromise.resolve(!!requestResponses?.length); + cacheJobPromise.resolve(!!requestResponses?.length) } else { - cacheJobPromise.reject(errorData); + cacheJobPromise.reject(errorData) } - }); - return cacheJobPromise.promise; + }) + return cacheJobPromise.promise } /** * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys @@ -31051,46 +35596,45 @@ var require_cache2 = __commonJS({ * @returns {readonly Request[]} */ async keys(request = void 0, options = {}) { - webidl.brandCheck(this, _Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; + webidl.brandCheck(this, _Cache) + if (request !== void 0) request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + let r = null if (request !== void 0) { if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; + r = request[kState] + if (r.method !== 'GET' && !options.ignoreMethod) { + return [] } - } else if (typeof request === "string") { - r = new Request(request)[kState]; + } else if (typeof request === 'string') { + r = new Request(request)[kState] } } - const promise = createDeferredPromise(); - const requests = []; + const promise = createDeferredPromise() + const requests = [] if (request === void 0) { for (const requestResponse of this.#relevantRequestResponseList) { - requests.push(requestResponse[0]); + requests.push(requestResponse[0]) } } else { - const requestResponses = this.#queryCache(r, options); + const requestResponses = this.#queryCache(r, options) for (const requestResponse of requestResponses) { - requests.push(requestResponse[0]); + requests.push(requestResponse[0]) } } queueMicrotask(() => { - const requestList = []; + const requestList = [] for (const request2 of requests) { - const requestObject = new Request("https://a"); - requestObject[kState] = request2; - requestObject[kHeaders][kHeadersList] = request2.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request2.client; - requestList.push(requestObject); - } - promise.resolve(Object.freeze(requestList)); - }); - return promise.promise; + const requestObject = new Request('https://a') + requestObject[kState] = request2 + requestObject[kHeaders][kHeadersList] = request2.headersList + requestObject[kHeaders][kGuard] = 'immutable' + requestObject[kRealm] = request2.client + requestList.push(requestObject) + } + promise.resolve(Object.freeze(requestList)) + }) + return promise.promise } /** * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm @@ -31098,80 +35642,87 @@ var require_cache2 = __commonJS({ * @returns {requestResponseList} */ #batchCacheOperations(operations) { - const cache = this.#relevantRequestResponseList; - const backupCache = [...cache]; - const addedItems = []; - const resultList = []; + const cache = this.#relevantRequestResponseList + const backupCache = [...cache] + const addedItems = [] + const resultList = [] try { for (const operation of operations) { - if (operation.type !== "delete" && operation.type !== "put") { + if (operation.type !== 'delete' && operation.type !== 'put') { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", + header: 'Cache.#batchCacheOperations', message: 'operation type does not match "delete" or "put"' - }); + }) } - if (operation.type === "delete" && operation.response != null) { + if (operation.type === 'delete' && operation.response != null) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "delete operation should not have an associated response" - }); + header: 'Cache.#batchCacheOperations', + message: + 'delete operation should not have an associated response' + }) } - if (this.#queryCache(operation.request, operation.options, addedItems).length) { - throw new DOMException("???", "InvalidStateError"); + if ( + this.#queryCache(operation.request, operation.options, addedItems) + .length + ) { + throw new DOMException('???', 'InvalidStateError') } - let requestResponses; - if (operation.type === "delete") { - requestResponses = this.#queryCache(operation.request, operation.options); + let requestResponses + if (operation.type === 'delete') { + requestResponses = this.#queryCache( + operation.request, + operation.options + ) if (requestResponses.length === 0) { - return []; + return [] } for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); + const idx = cache.indexOf(requestResponse) + assert(idx !== -1) + cache.splice(idx, 1) } - } else if (operation.type === "put") { + } else if (operation.type === 'put') { if (operation.response == null) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "put operation should have an associated response" - }); + header: 'Cache.#batchCacheOperations', + message: 'put operation should have an associated response' + }) } - const r = operation.request; + const r = operation.request if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "expected http or https scheme" - }); + header: 'Cache.#batchCacheOperations', + message: 'expected http or https scheme' + }) } - if (r.method !== "GET") { + if (r.method !== 'GET') { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "not get method" - }); + header: 'Cache.#batchCacheOperations', + message: 'not get method' + }) } if (operation.options != null) { throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "options must not be defined" - }); + header: 'Cache.#batchCacheOperations', + message: 'options must not be defined' + }) } - requestResponses = this.#queryCache(operation.request); + requestResponses = this.#queryCache(operation.request) for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); + const idx = cache.indexOf(requestResponse) + assert(idx !== -1) + cache.splice(idx, 1) } - cache.push([operation.request, operation.response]); - addedItems.push([operation.request, operation.response]); + cache.push([operation.request, operation.response]) + addedItems.push([operation.request, operation.response]) } - resultList.push([operation.request, operation.response]); + resultList.push([operation.request, operation.response]) } - return resultList; + return resultList } catch (e) { - this.#relevantRequestResponseList.length = 0; - this.#relevantRequestResponseList = backupCache; - throw e; + this.#relevantRequestResponseList.length = 0 + this.#relevantRequestResponseList = backupCache + throw e } } /** @@ -31182,15 +35733,22 @@ var require_cache2 = __commonJS({ * @returns {requestResponseList} */ #queryCache(requestQuery, options, targetStorage) { - const resultList = []; - const storage = targetStorage ?? this.#relevantRequestResponseList; + const resultList = [] + const storage = targetStorage ?? this.#relevantRequestResponseList for (const requestResponse of storage) { - const [cachedRequest, cachedResponse] = requestResponse; - if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { - resultList.push(requestResponse); + const [cachedRequest, cachedResponse] = requestResponse + if ( + this.#requestMatchesCachedItem( + requestQuery, + cachedRequest, + cachedResponse, + options + ) + ) { + resultList.push(requestResponse) } } - return resultList; + return resultList } /** * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm @@ -31200,36 +35758,45 @@ var require_cache2 = __commonJS({ * @param {import('../../types/cache').CacheQueryOptions | undefined} options * @returns {boolean} */ - #requestMatchesCachedItem(requestQuery, request, response = null, options) { - const queryURL = new URL(requestQuery.url); - const cachedURL = new URL(request.url); + #requestMatchesCachedItem( + requestQuery, + request, + response = null, + options + ) { + const queryURL = new URL(requestQuery.url) + const cachedURL = new URL(request.url) if (options?.ignoreSearch) { - cachedURL.search = ""; - queryURL.search = ""; + cachedURL.search = '' + queryURL.search = '' } if (!urlEquals(queryURL, cachedURL, true)) { - return false; + return false } - if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { - return true; + if ( + response == null || + options?.ignoreVary || + !response.headersList.contains('vary') + ) { + return true } - const fieldValues = getFieldValues(response.headersList.get("vary")); + const fieldValues = getFieldValues(response.headersList.get('vary')) for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - return false; + if (fieldValue === '*') { + return false } - const requestValue = request.headersList.get(fieldValue); - const queryValue = requestQuery.headersList.get(fieldValue); + const requestValue = request.headersList.get(fieldValue) + const queryValue = requestQuery.headersList.get(fieldValue) if (requestValue !== queryValue) { - return false; + return false } } - return true; + return true } - }; + } Object.defineProperties(Cache.prototype, { [Symbol.toStringTag]: { - value: "Cache", + value: 'Cache', configurable: true }, match: kEnumerableProperty, @@ -31239,78 +35806,85 @@ var require_cache2 = __commonJS({ put: kEnumerableProperty, delete: kEnumerableProperty, keys: kEnumerableProperty - }); + }) var cacheQueryOptionConverters = [ { - key: "ignoreSearch", + key: 'ignoreSearch', converter: webidl.converters.boolean, defaultValue: false }, { - key: "ignoreMethod", + key: 'ignoreMethod', converter: webidl.converters.boolean, defaultValue: false }, { - key: "ignoreVary", + key: 'ignoreVary', converter: webidl.converters.boolean, defaultValue: false } - ]; - webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); + ] + webidl.converters.CacheQueryOptions = webidl.dictionaryConverter( + cacheQueryOptionConverters + ) webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ ...cacheQueryOptionConverters, { - key: "cacheName", + key: 'cacheName', converter: webidl.converters.DOMString } - ]); - webidl.converters.Response = webidl.interfaceConverter(Response); - webidl.converters["sequence"] = webidl.sequenceConverter( + ]) + webidl.converters.Response = webidl.interfaceConverter(Response) + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.RequestInfo - ); + ) module2.exports = { Cache - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/cachestorage.js var require_cachestorage2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/cachestorage.js"(exports, module2) { - "use strict"; - var { kConstruct } = require_symbols9(); - var { Cache } = require_cache2(); - var { webidl } = require_webidl2(); - var { kEnumerableProperty } = require_util8(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cache/cachestorage.js'( + exports, + module2 + ) { + 'use strict' + var { kConstruct } = require_symbols9() + var { Cache } = require_cache2() + var { webidl } = require_webidl2() + var { kEnumerableProperty } = require_util8() var CacheStorage = class _CacheStorage { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map * @type {Map} */ async has(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.has(cacheName); + webidl.brandCheck(this, _CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.has' }) + cacheName = webidl.converters.DOMString(cacheName) + return this.#caches.has(cacheName) } /** * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open @@ -31332,16 +35906,18 @@ var require_cachestorage2 = __commonJS({ * @returns {Promise} */ async open(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); + webidl.brandCheck(this, _CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { + header: 'CacheStorage.open' + }) + cacheName = webidl.converters.DOMString(cacheName) if (this.#caches.has(cacheName)) { - const cache2 = this.#caches.get(cacheName); - return new Cache(kConstruct, cache2); + const cache2 = this.#caches.get(cacheName) + return new Cache(kConstruct, cache2) } - const cache = []; - this.#caches.set(cacheName, cache); - return new Cache(kConstruct, cache); + const cache = [] + this.#caches.set(cacheName, cache) + return new Cache(kConstruct, cache) } /** * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete @@ -31349,24 +35925,26 @@ var require_cachestorage2 = __commonJS({ * @returns {Promise} */ async delete(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.delete(cacheName); + webidl.brandCheck(this, _CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { + header: 'CacheStorage.delete' + }) + cacheName = webidl.converters.DOMString(cacheName) + return this.#caches.delete(cacheName) } /** * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys * @returns {string[]} */ async keys() { - webidl.brandCheck(this, _CacheStorage); - const keys = this.#caches.keys(); - return [...keys]; + webidl.brandCheck(this, _CacheStorage) + const keys = this.#caches.keys() + return [...keys] } - }; + } Object.defineProperties(CacheStorage.prototype, { [Symbol.toStringTag]: { - value: "CacheStorage", + value: 'CacheStorage', configurable: true }, match: kEnumerableProperty, @@ -31374,469 +35952,517 @@ var require_cachestorage2 = __commonJS({ open: kEnumerableProperty, delete: kEnumerableProperty, keys: kEnumerableProperty - }); + }) module2.exports = { CacheStorage - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/constants.js var require_constants7 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/constants.js"(exports, module2) { - "use strict"; - var maxAttributeValueSize = 1024; - var maxNameValuePairSize = 4096; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/constants.js'( + exports, + module2 + ) { + 'use strict' + var maxAttributeValueSize = 1024 + var maxNameValuePairSize = 4096 module2.exports = { maxAttributeValueSize, maxNameValuePairSize - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/util.js var require_util13 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/util.js"(exports, module2) { - "use strict"; - var assert = require("assert"); - var { kHeadersList } = require_symbols6(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/util.js'( + exports, + module2 + ) { + 'use strict' + var assert = require('assert') + var { kHeadersList } = require_symbols6() function isCTLExcludingHtab(value) { if (value.length === 0) { - return false; + return false } for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; + const code = char.charCodeAt(0) + if ( + code >= 0 || + code <= 8 || + code >= 10 || + code <= 31 || + code === 127 + ) { + return false } } } function validateCookieName(name) { for (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { - throw new Error("Invalid cookie name"); + const code = char.charCodeAt(0) + if ( + code <= 32 || + code > 127 || + char === '(' || + char === ')' || + char === '>' || + char === '<' || + char === '@' || + char === ',' || + char === ';' || + char === ':' || + char === '\\' || + char === '"' || + char === '/' || + char === '[' || + char === ']' || + char === '?' || + char === '=' || + char === '{' || + char === '}' + ) { + throw new Error('Invalid cookie name') } } } function validateCookieValue(value) { for (const char of value) { - const code = char.charCodeAt(0); - if (code < 33 || // exclude CTLs (0-31) - code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); + const code = char.charCodeAt(0) + if ( + code < 33 || // exclude CTLs (0-31) + code === 34 || + code === 44 || + code === 59 || + code === 92 || + code > 126 + ) { + throw new Error('Invalid header value') } } } function validateCookiePath(path) { for (const char of path) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { - throw new Error("Invalid cookie path"); + const code = char.charCodeAt(0) + if (code < 33 || char === ';') { + throw new Error('Invalid cookie path') } } } function validateCookieDomain(domain) { - if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { - throw new Error("Invalid cookie domain"); + if ( + domain.startsWith('-') || + domain.endsWith('.') || + domain.endsWith('-') + ) { + throw new Error('Invalid cookie domain') } } function toIMFDate(date) { - if (typeof date === "number") { - date = new Date(date); - } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; + if (typeof date === 'number') { + date = new Date(date) + } + const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec' + ] + const dayName = days[date.getUTCDay()] + const day = date.getUTCDate().toString().padStart(2, '0') + const month = months[date.getUTCMonth()] + const year = date.getUTCFullYear() + const hour = date.getUTCHours().toString().padStart(2, '0') + const minute = date.getUTCMinutes().toString().padStart(2, '0') + const second = date.getUTCSeconds().toString().padStart(2, '0') + return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT` } function validateCookieMaxAge(maxAge) { if (maxAge < 0) { - throw new Error("Invalid cookie max-age"); + throw new Error('Invalid cookie max-age') } } function stringify2(cookie) { if (cookie.name.length === 0) { - return null; + return null } - validateCookieName(cookie.name); - validateCookieValue(cookie.value); - const out = [`${cookie.name}=${cookie.value}`]; - if (cookie.name.startsWith("__Secure-")) { - cookie.secure = true; + validateCookieName(cookie.name) + validateCookieValue(cookie.value) + const out = [`${cookie.name}=${cookie.value}`] + if (cookie.name.startsWith('__Secure-')) { + cookie.secure = true } - if (cookie.name.startsWith("__Host-")) { - cookie.secure = true; - cookie.domain = null; - cookie.path = "/"; + if (cookie.name.startsWith('__Host-')) { + cookie.secure = true + cookie.domain = null + cookie.path = '/' } if (cookie.secure) { - out.push("Secure"); + out.push('Secure') } if (cookie.httpOnly) { - out.push("HttpOnly"); + out.push('HttpOnly') } - if (typeof cookie.maxAge === "number") { - validateCookieMaxAge(cookie.maxAge); - out.push(`Max-Age=${cookie.maxAge}`); + if (typeof cookie.maxAge === 'number') { + validateCookieMaxAge(cookie.maxAge) + out.push(`Max-Age=${cookie.maxAge}`) } if (cookie.domain) { - validateCookieDomain(cookie.domain); - out.push(`Domain=${cookie.domain}`); + validateCookieDomain(cookie.domain) + out.push(`Domain=${cookie.domain}`) } if (cookie.path) { - validateCookiePath(cookie.path); - out.push(`Path=${cookie.path}`); + validateCookiePath(cookie.path) + out.push(`Path=${cookie.path}`) } - if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { - out.push(`Expires=${toIMFDate(cookie.expires)}`); + if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') { + out.push(`Expires=${toIMFDate(cookie.expires)}`) } if (cookie.sameSite) { - out.push(`SameSite=${cookie.sameSite}`); + out.push(`SameSite=${cookie.sameSite}`) } for (const part of cookie.unparsed) { - if (!part.includes("=")) { - throw new Error("Invalid unparsed"); + if (!part.includes('=')) { + throw new Error('Invalid unparsed') } - const [key, ...value] = part.split("="); - out.push(`${key.trim()}=${value.join("=")}`); + const [key, ...value] = part.split('=') + out.push(`${key.trim()}=${value.join('=')}`) } - return out.join("; "); + return out.join('; ') } - var kHeadersListNode; + var kHeadersListNode function getHeadersList(headers) { if (headers[kHeadersList]) { - return headers[kHeadersList]; + return headers[kHeadersList] } if (!kHeadersListNode) { kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === "headers list" - ); - assert(kHeadersListNode, "Headers cannot be parsed"); + (symbol) => symbol.description === 'headers list' + ) + assert(kHeadersListNode, 'Headers cannot be parsed') } - const headersList = headers[kHeadersListNode]; - assert(headersList); - return headersList; + const headersList = headers[kHeadersListNode] + assert(headersList) + return headersList } module2.exports = { isCTLExcludingHtab, stringify: stringify2, getHeadersList - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/parse.js var require_parse2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/parse.js"(exports, module2) { - "use strict"; - var { maxNameValuePairSize, maxAttributeValueSize } = require_constants7(); - var { isCTLExcludingHtab } = require_util13(); - var { collectASequenceOfCodePointsFast } = require_dataURL2(); - var assert = require("assert"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/parse.js'( + exports, + module2 + ) { + 'use strict' + var { maxNameValuePairSize, maxAttributeValueSize } = require_constants7() + var { isCTLExcludingHtab } = require_util13() + var { collectASequenceOfCodePointsFast } = require_dataURL2() + var assert = require('assert') function parseSetCookie(header) { if (isCTLExcludingHtab(header)) { - return null; - } - let nameValuePair = ""; - let unparsedAttributes = ""; - let name = ""; - let value = ""; - if (header.includes(";")) { - const position = { position: 0 }; - nameValuePair = collectASequenceOfCodePointsFast(";", header, position); - unparsedAttributes = header.slice(position.position); + return null + } + let nameValuePair = '' + let unparsedAttributes = '' + let name = '' + let value = '' + if (header.includes(';')) { + const position = { position: 0 } + nameValuePair = collectASequenceOfCodePointsFast(';', header, position) + unparsedAttributes = header.slice(position.position) } else { - nameValuePair = header; + nameValuePair = header } - if (!nameValuePair.includes("=")) { - value = nameValuePair; + if (!nameValuePair.includes('=')) { + value = nameValuePair } else { - const position = { position: 0 }; - name = collectASequenceOfCodePointsFast( - "=", - nameValuePair, - position - ); - value = nameValuePair.slice(position.position + 1); + const position = { position: 0 } + name = collectASequenceOfCodePointsFast('=', nameValuePair, position) + value = nameValuePair.slice(position.position + 1) } - name = name.trim(); - value = value.trim(); + name = name.trim() + value = value.trim() if (name.length + value.length > maxNameValuePairSize) { - return null; + return null } return { name, value, ...parseUnparsedAttributes(unparsedAttributes) - }; + } } - function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { + function parseUnparsedAttributes( + unparsedAttributes, + cookieAttributeList = {} + ) { if (unparsedAttributes.length === 0) { - return cookieAttributeList; - } - assert(unparsedAttributes[0] === ";"); - unparsedAttributes = unparsedAttributes.slice(1); - let cookieAv = ""; - if (unparsedAttributes.includes(";")) { - cookieAv = collectASequenceOfCodePointsFast( - ";", - unparsedAttributes, - { position: 0 } - ); - unparsedAttributes = unparsedAttributes.slice(cookieAv.length); + return cookieAttributeList + } + assert(unparsedAttributes[0] === ';') + unparsedAttributes = unparsedAttributes.slice(1) + let cookieAv = '' + if (unparsedAttributes.includes(';')) { + cookieAv = collectASequenceOfCodePointsFast(';', unparsedAttributes, { + position: 0 + }) + unparsedAttributes = unparsedAttributes.slice(cookieAv.length) } else { - cookieAv = unparsedAttributes; - unparsedAttributes = ""; + cookieAv = unparsedAttributes + unparsedAttributes = '' } - let attributeName = ""; - let attributeValue = ""; - if (cookieAv.includes("=")) { - const position = { position: 0 }; + let attributeName = '' + let attributeValue = '' + if (cookieAv.includes('=')) { + const position = { position: 0 } attributeName = collectASequenceOfCodePointsFast( - "=", + '=', cookieAv, position - ); - attributeValue = cookieAv.slice(position.position + 1); + ) + attributeValue = cookieAv.slice(position.position + 1) } else { - attributeName = cookieAv; + attributeName = cookieAv } - attributeName = attributeName.trim(); - attributeValue = attributeValue.trim(); + attributeName = attributeName.trim() + attributeValue = attributeValue.trim() if (attributeValue.length > maxAttributeValueSize) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const attributeNameLowercase = attributeName.toLowerCase(); - if (attributeNameLowercase === "expires") { - const expiryTime = new Date(attributeValue); - cookieAttributeList.expires = expiryTime; - } else if (attributeNameLowercase === "max-age") { - const charCode = attributeValue.charCodeAt(0); - if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList) + } + const attributeNameLowercase = attributeName.toLowerCase() + if (attributeNameLowercase === 'expires') { + const expiryTime = new Date(attributeValue) + cookieAttributeList.expires = expiryTime + } else if (attributeNameLowercase === 'max-age') { + const charCode = attributeValue.charCodeAt(0) + if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') { + return parseUnparsedAttributes( + unparsedAttributes, + cookieAttributeList + ) } if (!/^\d+$/.test(attributeValue)) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const deltaSeconds = Number(attributeValue); - cookieAttributeList.maxAge = deltaSeconds; - } else if (attributeNameLowercase === "domain") { - let cookieDomain = attributeValue; - if (cookieDomain[0] === ".") { - cookieDomain = cookieDomain.slice(1); - } - cookieDomain = cookieDomain.toLowerCase(); - cookieAttributeList.domain = cookieDomain; - } else if (attributeNameLowercase === "path") { - let cookiePath = ""; - if (attributeValue.length === 0 || attributeValue[0] !== "/") { - cookiePath = "/"; + return parseUnparsedAttributes( + unparsedAttributes, + cookieAttributeList + ) + } + const deltaSeconds = Number(attributeValue) + cookieAttributeList.maxAge = deltaSeconds + } else if (attributeNameLowercase === 'domain') { + let cookieDomain = attributeValue + if (cookieDomain[0] === '.') { + cookieDomain = cookieDomain.slice(1) + } + cookieDomain = cookieDomain.toLowerCase() + cookieAttributeList.domain = cookieDomain + } else if (attributeNameLowercase === 'path') { + let cookiePath = '' + if (attributeValue.length === 0 || attributeValue[0] !== '/') { + cookiePath = '/' } else { - cookiePath = attributeValue; - } - cookieAttributeList.path = cookiePath; - } else if (attributeNameLowercase === "secure") { - cookieAttributeList.secure = true; - } else if (attributeNameLowercase === "httponly") { - cookieAttributeList.httpOnly = true; - } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; - const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; - } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; - } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; - } - cookieAttributeList.sameSite = enforcement; + cookiePath = attributeValue + } + cookieAttributeList.path = cookiePath + } else if (attributeNameLowercase === 'secure') { + cookieAttributeList.secure = true + } else if (attributeNameLowercase === 'httponly') { + cookieAttributeList.httpOnly = true + } else if (attributeNameLowercase === 'samesite') { + let enforcement = 'Default' + const attributeValueLowercase = attributeValue.toLowerCase() + if (attributeValueLowercase.includes('none')) { + enforcement = 'None' + } + if (attributeValueLowercase.includes('strict')) { + enforcement = 'Strict' + } + if (attributeValueLowercase.includes('lax')) { + enforcement = 'Lax' + } + cookieAttributeList.sameSite = enforcement } else { - cookieAttributeList.unparsed ??= []; - cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); + cookieAttributeList.unparsed ??= [] + cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`) } - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList) } module2.exports = { parseSetCookie, parseUnparsedAttributes - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/index.js var require_cookies2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/index.js"(exports, module2) { - "use strict"; - var { parseSetCookie } = require_parse2(); - var { stringify: stringify2, getHeadersList } = require_util13(); - var { webidl } = require_webidl2(); - var { Headers } = require_headers2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/cookies/index.js'( + exports, + module2 + ) { + 'use strict' + var { parseSetCookie } = require_parse2() + var { stringify: stringify2, getHeadersList } = require_util13() + var { webidl } = require_webidl2() + var { Headers } = require_headers2() function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookie = headers.get("cookie"); - const out = {}; + webidl.argumentLengthCheck(arguments, 1, { header: 'getCookies' }) + webidl.brandCheck(headers, Headers, { strict: false }) + const cookie = headers.get('cookie') + const out = {} if (!cookie) { - return out; + return out } - for (const piece of cookie.split(";")) { - const [name, ...value] = piece.split("="); - out[name.trim()] = value.join("="); + for (const piece of cookie.split(';')) { + const [name, ...value] = piece.split('=') + out[name.trim()] = value.join('=') } - return out; + return out } function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - name = webidl.converters.DOMString(name); - attributes = webidl.converters.DeleteCookieAttributes(attributes); + webidl.argumentLengthCheck(arguments, 2, { header: 'deleteCookie' }) + webidl.brandCheck(headers, Headers, { strict: false }) + name = webidl.converters.DOMString(name) + attributes = webidl.converters.DeleteCookieAttributes(attributes) setCookie(headers, { name, - value: "", + value: '', expires: /* @__PURE__ */ new Date(0), ...attributes - }); + }) } function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookies = getHeadersList(headers).cookies; + webidl.argumentLengthCheck(arguments, 1, { header: 'getSetCookies' }) + webidl.brandCheck(headers, Headers, { strict: false }) + const cookies = getHeadersList(headers).cookies if (!cookies) { - return []; + return [] } - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); + return cookies.map((pair) => + parseSetCookie(Array.isArray(pair) ? pair[1] : pair) + ) } function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - cookie = webidl.converters.Cookie(cookie); - const str = stringify2(cookie); + webidl.argumentLengthCheck(arguments, 2, { header: 'setCookie' }) + webidl.brandCheck(headers, Headers, { strict: false }) + cookie = webidl.converters.Cookie(cookie) + const str = stringify2(cookie) if (str) { - headers.append("Set-Cookie", stringify2(cookie)); + headers.append('Set-Cookie', stringify2(cookie)) } } webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", + key: 'path', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", + key: 'domain', defaultValue: null } - ]); + ]) webidl.converters.Cookie = webidl.dictionaryConverter([ { converter: webidl.converters.DOMString, - key: "name" + key: 'name' }, { converter: webidl.converters.DOMString, - key: "value" + key: 'value' }, { converter: webidl.nullableConverter((value) => { - if (typeof value === "number") { - return webidl.converters["unsigned long long"](value); + if (typeof value === 'number') { + return webidl.converters['unsigned long long'](value) } - return new Date(value); + return new Date(value) }), - key: "expires", + key: 'expires', defaultValue: null }, { - converter: webidl.nullableConverter(webidl.converters["long long"]), - key: "maxAge", + converter: webidl.nullableConverter(webidl.converters['long long']), + key: 'maxAge', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", + key: 'domain', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", + key: 'path', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.boolean), - key: "secure", + key: 'secure', defaultValue: null }, { converter: webidl.nullableConverter(webidl.converters.boolean), - key: "httpOnly", + key: 'httpOnly', defaultValue: null }, { converter: webidl.converters.USVString, - key: "sameSite", - allowedValues: ["Strict", "Lax", "None"] + key: 'sameSite', + allowedValues: ['Strict', 'Lax', 'None'] }, { converter: webidl.sequenceConverter(webidl.converters.DOMString), - key: "unparsed", + key: 'unparsed', defaultValue: [] } - ]); + ]) module2.exports = { getCookies, deleteCookie, getSetCookies, setCookie - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/constants.js var require_constants8 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/constants.js"(exports, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/constants.js'( + exports, + module2 + ) { + 'use strict' + var uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11' var staticPropertyDescriptors = { enumerable: true, writable: false, configurable: false - }; + } var states = { CONNECTING: 0, OPEN: 1, CLOSING: 2, CLOSED: 3 - }; + } var opcodes = { CONTINUATION: 0, TEXT: 1, @@ -31844,15 +36470,15 @@ var require_constants8 = __commonJS({ CLOSE: 8, PING: 9, PONG: 10 - }; - var maxUnsigned16Bit = 2 ** 16 - 1; + } + var maxUnsigned16Bit = 2 ** 16 - 1 var parserStates = { INFO: 0, PAYLOADLENGTH_16: 2, PAYLOADLENGTH_64: 3, READ_DATA: 4 - }; - var emptyBuffer = Buffer.allocUnsafe(0); + } + var emptyBuffer = Buffer.allocUnsafe(0) module2.exports = { uid, staticPropertyDescriptors, @@ -31861,69 +36487,88 @@ var require_constants8 = __commonJS({ maxUnsigned16Bit, parserStates, emptyBuffer - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/symbols.js var require_symbols10 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/symbols.js"(exports, module2) { - "use strict"; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/symbols.js'( + exports, + module2 + ) { + 'use strict' module2.exports = { - kWebSocketURL: Symbol("url"), - kReadyState: Symbol("ready state"), - kController: Symbol("controller"), - kResponse: Symbol("response"), - kBinaryType: Symbol("binary type"), - kSentClose: Symbol("sent close"), - kReceivedClose: Symbol("received close"), - kByteParser: Symbol("byte parser") - }; + kWebSocketURL: Symbol('url'), + kReadyState: Symbol('ready state'), + kController: Symbol('controller'), + kResponse: Symbol('response'), + kBinaryType: Symbol('binary type'), + kSentClose: Symbol('sent close'), + kReceivedClose: Symbol('received close'), + kByteParser: Symbol('byte parser') + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/events.js var require_events2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/events.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl2(); - var { kEnumerableProperty } = require_util8(); - var { MessagePort } = require("worker_threads"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/events.js'( + exports, + module2 + ) { + 'use strict' + var { webidl } = require_webidl2() + var { kEnumerableProperty } = require_util8() + var { MessagePort } = require('worker_threads') var MessageEvent = class _MessageEvent extends Event { - #eventInit; + #eventInit constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; + webidl.argumentLengthCheck(arguments, 1, { + header: 'MessageEvent constructor' + }) + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.MessageEventInit(eventInitDict) + super(type, eventInitDict) + this.#eventInit = eventInitDict } get data() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.data; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.data } get origin() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.origin; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.origin } get lastEventId() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.lastEventId; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.lastEventId } get source() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.source; + webidl.brandCheck(this, _MessageEvent) + return this.#eventInit.source } get ports() { - webidl.brandCheck(this, _MessageEvent); + webidl.brandCheck(this, _MessageEvent) if (!Object.isFrozen(this.#eventInit.ports)) { - Object.freeze(this.#eventInit.ports); - } - return this.#eventInit.ports; - } - initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { - webidl.brandCheck(this, _MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + Object.freeze(this.#eventInit.ports) + } + return this.#eventInit.ports + } + initMessageEvent( + type, + bubbles = false, + cancelable = false, + data = null, + origin = '', + lastEventId = '', + source = null, + ports = [] + ) { + webidl.brandCheck(this, _MessageEvent) + webidl.argumentLengthCheck(arguments, 1, { + header: 'MessageEvent.initMessageEvent' + }) return new _MessageEvent(type, { bubbles, cancelable, @@ -31932,64 +36577,68 @@ var require_events2 = __commonJS({ lastEventId, source, ports - }); + }) } - }; + } var CloseEvent = class _CloseEvent extends Event { - #eventInit; + #eventInit constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.CloseEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; + webidl.argumentLengthCheck(arguments, 1, { + header: 'CloseEvent constructor' + }) + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.CloseEventInit(eventInitDict) + super(type, eventInitDict) + this.#eventInit = eventInitDict } get wasClean() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.wasClean; + webidl.brandCheck(this, _CloseEvent) + return this.#eventInit.wasClean } get code() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.code; + webidl.brandCheck(this, _CloseEvent) + return this.#eventInit.code } get reason() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.reason; + webidl.brandCheck(this, _CloseEvent) + return this.#eventInit.reason } - }; + } var ErrorEvent = class _ErrorEvent extends Event { - #eventInit; + #eventInit constructor(type, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); - super(type, eventInitDict); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); - this.#eventInit = eventInitDict; + webidl.argumentLengthCheck(arguments, 1, { + header: 'ErrorEvent constructor' + }) + super(type, eventInitDict) + type = webidl.converters.DOMString(type) + eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}) + this.#eventInit = eventInitDict } get message() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.message; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.message } get filename() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.filename; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.filename } get lineno() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.lineno; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.lineno } get colno() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.colno; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.colno } get error() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.error; + webidl.brandCheck(this, _ErrorEvent) + return this.#eventInit.error } - }; + } Object.defineProperties(MessageEvent.prototype, { [Symbol.toStringTag]: { - value: "MessageEvent", + value: 'MessageEvent', configurable: true }, data: kEnumerableProperty, @@ -31998,19 +36647,19 @@ var require_events2 = __commonJS({ source: kEnumerableProperty, ports: kEnumerableProperty, initMessageEvent: kEnumerableProperty - }); + }) Object.defineProperties(CloseEvent.prototype, { [Symbol.toStringTag]: { - value: "CloseEvent", + value: 'CloseEvent', configurable: true }, reason: kEnumerableProperty, code: kEnumerableProperty, wasClean: kEnumerableProperty - }); + }) Object.defineProperties(ErrorEvent.prototype, { [Symbol.toStringTag]: { - value: "ErrorEvent", + value: 'ErrorEvent', configurable: true }, message: kEnumerableProperty, @@ -32018,188 +36667,215 @@ var require_events2 = __commonJS({ lineno: kEnumerableProperty, colno: kEnumerableProperty, error: kEnumerableProperty - }); - webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); - webidl.converters["sequence"] = webidl.sequenceConverter( + }) + webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort) + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.MessagePort - ); + ) var eventInit = [ { - key: "bubbles", + key: 'bubbles', converter: webidl.converters.boolean, defaultValue: false }, { - key: "cancelable", + key: 'cancelable', converter: webidl.converters.boolean, defaultValue: false }, { - key: "composed", + key: 'composed', converter: webidl.converters.boolean, defaultValue: false } - ]; + ] webidl.converters.MessageEventInit = webidl.dictionaryConverter([ ...eventInit, { - key: "data", + key: 'data', converter: webidl.converters.any, defaultValue: null }, { - key: "origin", + key: 'origin', converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: '' }, { - key: "lastEventId", + key: 'lastEventId', converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: '' }, { - key: "source", + key: 'source', // Node doesn't implement WindowProxy or ServiceWorker, so the only // valid value for source is a MessagePort. converter: webidl.nullableConverter(webidl.converters.MessagePort), defaultValue: null }, { - key: "ports", - converter: webidl.converters["sequence"], + key: 'ports', + converter: webidl.converters['sequence'], get defaultValue() { - return []; + return [] } } - ]); + ]) webidl.converters.CloseEventInit = webidl.dictionaryConverter([ ...eventInit, { - key: "wasClean", + key: 'wasClean', converter: webidl.converters.boolean, defaultValue: false }, { - key: "code", - converter: webidl.converters["unsigned short"], + key: 'code', + converter: webidl.converters['unsigned short'], defaultValue: 0 }, { - key: "reason", + key: 'reason', converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: '' } - ]); + ]) webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ ...eventInit, { - key: "message", + key: 'message', converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: '' }, { - key: "filename", + key: 'filename', converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: '' }, { - key: "lineno", - converter: webidl.converters["unsigned long"], + key: 'lineno', + converter: webidl.converters['unsigned long'], defaultValue: 0 }, { - key: "colno", - converter: webidl.converters["unsigned long"], + key: 'colno', + converter: webidl.converters['unsigned long'], defaultValue: 0 }, { - key: "error", + key: 'error', converter: webidl.converters.any } - ]); + ]) module2.exports = { MessageEvent, CloseEvent, ErrorEvent - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/util.js var require_util14 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/util.js"(exports, module2) { - "use strict"; - var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10(); - var { states, opcodes } = require_constants8(); - var { MessageEvent, ErrorEvent } = require_events2(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/util.js'( + exports, + module2 + ) { + 'use strict' + var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = + require_symbols10() + var { states, opcodes } = require_constants8() + var { MessageEvent, ErrorEvent } = require_events2() function isEstablished(ws) { - return ws[kReadyState] === states.OPEN; + return ws[kReadyState] === states.OPEN } function isClosing(ws) { - return ws[kReadyState] === states.CLOSING; + return ws[kReadyState] === states.CLOSING } function isClosed(ws) { - return ws[kReadyState] === states.CLOSED; + return ws[kReadyState] === states.CLOSED } function fireEvent(e, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e, eventInitDict); - target.dispatchEvent(event); + const event = new eventConstructor(e, eventInitDict) + target.dispatchEvent(event) } function websocketMessageReceived(ws, type, data) { if (ws[kReadyState] !== states.OPEN) { - return; + return } - let dataForEvent; + let dataForEvent if (type === opcodes.TEXT) { try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); + dataForEvent = new TextDecoder('utf-8', { fatal: true }).decode(data) } catch { - failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); - return; + failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.') + return } } else if (type === opcodes.BINARY) { - if (ws[kBinaryType] === "blob") { - dataForEvent = new Blob([data]); + if (ws[kBinaryType] === 'blob') { + dataForEvent = new Blob([data]) } else { - dataForEvent = new Uint8Array(data).buffer; + dataForEvent = new Uint8Array(data).buffer } } - fireEvent("message", ws, MessageEvent, { + fireEvent('message', ws, MessageEvent, { origin: ws[kWebSocketURL].origin, data: dataForEvent - }); + }) } function isValidSubprotocol(protocol) { if (protocol.length === 0) { - return false; + return false } for (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP - code === 9) { - return false; - } - } - return true; + const code = char.charCodeAt(0) + if ( + code < 33 || + code > 126 || + char === '(' || + char === ')' || + char === '<' || + char === '>' || + char === '@' || + char === ',' || + char === ';' || + char === ':' || + char === '\\' || + char === '"' || + char === '/' || + char === '[' || + char === ']' || + char === '?' || + char === '=' || + char === '{' || + char === '}' || + code === 32 || // SP + code === 9 + ) { + return false + } + } + return true } function isValidStatusCode(code) { if (code >= 1e3 && code < 1015) { - return code !== 1004 && // reserved - code !== 1005 && // "MUST NOT be set as a status code" - code !== 1006; + return ( + code !== 1004 && // reserved + code !== 1005 && // "MUST NOT be set as a status code" + code !== 1006 + ) } - return code >= 3e3 && code <= 4999; + return code >= 3e3 && code <= 4999 } function failWebsocketConnection(ws, reason) { - const { [kController]: controller, [kResponse]: response } = ws; - controller.abort(); + const { [kController]: controller, [kResponse]: response } = ws + controller.abort() if (response?.socket && !response.socket.destroyed) { - response.socket.destroy(); + response.socket.destroy() } if (reason) { - fireEvent("error", ws, ErrorEvent, { + fireEvent('error', ws, ErrorEvent, { error: new Error(reason) - }); + }) } } module2.exports = { @@ -32211,246 +36887,298 @@ var require_util14 = __commonJS({ isValidStatusCode, failWebsocketConnection, websocketMessageReceived - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/connection.js var require_connection2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/connection.js"(exports, module2) { - "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants8(); - var { - kReadyState, - kSentClose, - kByteParser, - kReceivedClose - } = require_symbols10(); - var { fireEvent, failWebsocketConnection } = require_util14(); - var { CloseEvent } = require_events2(); - var { makeRequest } = require_request4(); - var { fetching } = require_fetch2(); - var { Headers } = require_headers2(); - var { getGlobalDispatcher } = require_global4(); - var { kHeadersList } = require_symbols6(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); - var crypto4; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/connection.js'( + exports, + module2 + ) { + 'use strict' + var diagnosticsChannel = require('diagnostics_channel') + var { uid, states } = require_constants8() + var { kReadyState, kSentClose, kByteParser, kReceivedClose } = + require_symbols10() + var { fireEvent, failWebsocketConnection } = require_util14() + var { CloseEvent } = require_events2() + var { makeRequest } = require_request4() + var { fetching } = require_fetch2() + var { Headers } = require_headers2() + var { getGlobalDispatcher } = require_global4() + var { kHeadersList } = require_symbols6() + var channels = {} + channels.open = diagnosticsChannel.channel('undici:websocket:open') + channels.close = diagnosticsChannel.channel('undici:websocket:close') + channels.socketError = diagnosticsChannel.channel( + 'undici:websocket:socket_error' + ) + var crypto4 try { - crypto4 = require("crypto"); - } catch { - } - function establishWebSocketConnection(url, protocols, ws, onEstablish, options) { - const requestURL = url; - requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; + crypto4 = require('crypto') + } catch {} + function establishWebSocketConnection( + url, + protocols, + ws, + onEstablish, + options + ) { + const requestURL = url + requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:' const request = makeRequest({ urlList: [requestURL], - serviceWorkers: "none", - referrer: "no-referrer", - mode: "websocket", - credentials: "include", - cache: "no-store", - redirect: "error" - }); + serviceWorkers: 'none', + referrer: 'no-referrer', + mode: 'websocket', + credentials: 'include', + cache: 'no-store', + redirect: 'error' + }) if (options.headers) { - const headersList = new Headers(options.headers)[kHeadersList]; - request.headersList = headersList; + const headersList = new Headers(options.headers)[kHeadersList] + request.headersList = headersList } - const keyValue = crypto4.randomBytes(16).toString("base64"); - request.headersList.append("sec-websocket-key", keyValue); - request.headersList.append("sec-websocket-version", "13"); + const keyValue = crypto4.randomBytes(16).toString('base64') + request.headersList.append('sec-websocket-key', keyValue) + request.headersList.append('sec-websocket-version', '13') for (const protocol of protocols) { - request.headersList.append("sec-websocket-protocol", protocol); + request.headersList.append('sec-websocket-protocol', protocol) } - const permessageDeflate = ""; + const permessageDeflate = '' const controller = fetching({ request, useParallelQueue: true, dispatcher: options.dispatcher ?? getGlobalDispatcher(), processResponse(response) { - if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(ws, "Received network error or non-101 status code."); - return; + if (response.type === 'error' || response.status !== 101) { + failWebsocketConnection( + ws, + 'Received network error or non-101 status code.' + ) + return } - if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Server did not respond with sent protocols."); - return; + if ( + protocols.length !== 0 && + !response.headersList.get('Sec-WebSocket-Protocol') + ) { + failWebsocketConnection( + ws, + 'Server did not respond with sent protocols.' + ) + return } - if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { - failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); - return; + if ( + response.headersList.get('Upgrade')?.toLowerCase() !== 'websocket' + ) { + failWebsocketConnection( + ws, + 'Server did not set Upgrade header to "websocket".' + ) + return } - if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { - failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); - return; + if ( + response.headersList.get('Connection')?.toLowerCase() !== 'upgrade' + ) { + failWebsocketConnection( + ws, + 'Server did not set Connection header to "upgrade".' + ) + return } - const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); - const digest = crypto4.createHash("sha1").update(keyValue + uid).digest("base64"); + const secWSAccept = response.headersList.get('Sec-WebSocket-Accept') + const digest = crypto4 + .createHash('sha1') + .update(keyValue + uid) + .digest('base64') if (secWSAccept !== digest) { - failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); - return; + failWebsocketConnection( + ws, + 'Incorrect hash received in Sec-WebSocket-Accept header.' + ) + return } - const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); + const secExtension = response.headersList.get( + 'Sec-WebSocket-Extensions' + ) if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); - return; + failWebsocketConnection( + ws, + 'Received different permessage-deflate than the one set.' + ) + return } - const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); - if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); - return; + const secProtocol = response.headersList.get('Sec-WebSocket-Protocol') + if ( + secProtocol !== null && + secProtocol !== request.headersList.get('Sec-WebSocket-Protocol') + ) { + failWebsocketConnection( + ws, + 'Protocol was not set in the opening handshake.' + ) + return } - response.socket.on("data", onSocketData); - response.socket.on("close", onSocketClose); - response.socket.on("error", onSocketError); + response.socket.on('data', onSocketData) + response.socket.on('close', onSocketClose) + response.socket.on('error', onSocketError) if (channels.open.hasSubscribers) { channels.open.publish({ address: response.socket.address(), protocol: secProtocol, extensions: secExtension - }); + }) } - onEstablish(response); + onEstablish(response) } - }); - return controller; + }) + return controller } function onSocketData(chunk) { if (!this.ws[kByteParser].write(chunk)) { - this.pause(); + this.pause() } } function onSocketClose() { - const { ws } = this; - const wasClean = ws[kSentClose] && ws[kReceivedClose]; - let code = 1005; - let reason = ""; - const result = ws[kByteParser].closingInfo; + const { ws } = this + const wasClean = ws[kSentClose] && ws[kReceivedClose] + let code = 1005 + let reason = '' + const result = ws[kByteParser].closingInfo if (result) { - code = result.code ?? 1005; - reason = result.reason; + code = result.code ?? 1005 + reason = result.reason } else if (!ws[kSentClose]) { - code = 1006; + code = 1006 } - ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, CloseEvent, { + ws[kReadyState] = states.CLOSED + fireEvent('close', ws, CloseEvent, { wasClean, code, reason - }); + }) if (channels.close.hasSubscribers) { channels.close.publish({ websocket: ws, code, reason - }); + }) } } function onSocketError(error) { - const { ws } = this; - ws[kReadyState] = states.CLOSING; + const { ws } = this + ws[kReadyState] = states.CLOSING if (channels.socketError.hasSubscribers) { - channels.socketError.publish(error); + channels.socketError.publish(error) } - this.destroy(); + this.destroy() } module2.exports = { establishWebSocketConnection - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/frame.js var require_frame2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/frame.js"(exports, module2) { - "use strict"; - var { maxUnsigned16Bit } = require_constants8(); - var crypto4; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/frame.js'( + exports, + module2 + ) { + 'use strict' + var { maxUnsigned16Bit } = require_constants8() + var crypto4 try { - crypto4 = require("crypto"); - } catch { - } + crypto4 = require('crypto') + } catch {} var WebsocketFrameSend = class { /** * @param {Buffer|undefined} data */ constructor(data) { - this.frameData = data; - this.maskKey = crypto4.randomBytes(4); + this.frameData = data + this.maskKey = crypto4.randomBytes(4) } createFrame(opcode) { - const bodyLength = this.frameData?.byteLength ?? 0; - let payloadLength = bodyLength; - let offset = 6; + const bodyLength = this.frameData?.byteLength ?? 0 + let payloadLength = bodyLength + let offset = 6 if (bodyLength > maxUnsigned16Bit) { - offset += 8; - payloadLength = 127; + offset += 8 + payloadLength = 127 } else if (bodyLength > 125) { - offset += 2; - payloadLength = 126; - } - const buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; + offset += 2 + payloadLength = 126 + } + const buffer = Buffer.allocUnsafe(bodyLength + offset) + buffer[0] = buffer[1] = 0 + buffer[0] |= 128 + buffer[0] = (buffer[0] & 240) + opcode + buffer[offset - 4] = this.maskKey[0] + buffer[offset - 3] = this.maskKey[1] + buffer[offset - 2] = this.maskKey[2] + buffer[offset - 1] = this.maskKey[3] + buffer[1] = payloadLength if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); + buffer.writeUInt16BE(bodyLength, 2) } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); + buffer[2] = buffer[3] = 0 + buffer.writeUIntBE(bodyLength, 4, 6) } - buffer[1] |= 128; + buffer[1] |= 128 for (let i = 0; i < bodyLength; i++) { - buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]; + buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4] } - return buffer; + return buffer } - }; + } module2.exports = { WebsocketFrameSend - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/receiver.js var require_receiver2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/receiver.js"(exports, module2) { - "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants8(); - var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util14(); - var { WebsocketFrameSend } = require_frame2(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/receiver.js'( + exports, + module2 + ) { + 'use strict' + var { Writable } = require('stream') + var diagnosticsChannel = require('diagnostics_channel') + var { parserStates, opcodes, states, emptyBuffer } = require_constants8() + var { kReadyState, kSentClose, kResponse, kReceivedClose } = + require_symbols10() + var { + isValidStatusCode, + failWebsocketConnection, + websocketMessageReceived + } = require_util14() + var { WebsocketFrameSend } = require_frame2() + var channels = {} + channels.ping = diagnosticsChannel.channel('undici:websocket:ping') + channels.pong = diagnosticsChannel.channel('undici:websocket:pong') var ByteParser = class extends Writable { - #buffers = []; - #byteOffset = 0; - #state = parserStates.INFO; - #info = {}; - #fragments = []; + #buffers = [] + #byteOffset = 0 + #state = parserStates.INFO + #info = {} + #fragments = [] constructor(ws) { - super(); - this.ws = ws; + super() + this.ws = ws } /** * @param {Buffer} chunk * @param {() => void} callback */ _write(chunk, _, callback) { - this.#buffers.push(chunk); - this.#byteOffset += chunk.length; - this.run(callback); + this.#buffers.push(chunk) + this.#byteOffset += chunk.length + this.run(callback) } /** * Runs whenever a new chunk is received. @@ -32461,128 +37189,160 @@ var require_receiver2 = __commonJS({ while (true) { if (this.#state === parserStates.INFO) { if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { - failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); - return; - } - const payloadLength = buffer[1] & 127; + return callback() + } + const buffer = this.consume(2) + this.#info.fin = (buffer[0] & 128) !== 0 + this.#info.opcode = buffer[0] & 15 + this.#info.originalOpcode ??= this.#info.opcode + this.#info.fragmented = + !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION + if ( + this.#info.fragmented && + this.#info.opcode !== opcodes.BINARY && + this.#info.opcode !== opcodes.TEXT + ) { + failWebsocketConnection( + this.ws, + 'Invalid frame type was fragmented.' + ) + return + } + const payloadLength = buffer[1] & 127 if (payloadLength <= 125) { - this.#info.payloadLength = payloadLength; - this.#state = parserStates.READ_DATA; + this.#info.payloadLength = payloadLength + this.#state = parserStates.READ_DATA } else if (payloadLength === 126) { - this.#state = parserStates.PAYLOADLENGTH_16; + this.#state = parserStates.PAYLOADLENGTH_16 } else if (payloadLength === 127) { - this.#state = parserStates.PAYLOADLENGTH_64; + this.#state = parserStates.PAYLOADLENGTH_64 } if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; + failWebsocketConnection( + this.ws, + 'Fragmented frame exceeded 125 bytes.' + ) + return + } else if ( + (this.#info.opcode === opcodes.PING || + this.#info.opcode === opcodes.PONG || + this.#info.opcode === opcodes.CLOSE) && + payloadLength > 125 + ) { + failWebsocketConnection( + this.ws, + 'Payload length for control frame exceeded 125 bytes.' + ) + return } else if (this.#info.opcode === opcodes.CLOSE) { if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; + failWebsocketConnection( + this.ws, + 'Received close frame with a 1-byte body.' + ) + return } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); + const body = this.consume(payloadLength) + this.#info.closeInfo = this.parseCloseBody(false, body) if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); + const body2 = Buffer.allocUnsafe(2) + body2.writeUInt16BE(this.#info.closeInfo.code, 0) + const closeFrame = new WebsocketFrameSend(body2) this.ws[kResponse].socket.write( closeFrame.createFrame(opcodes.CLOSE), (err) => { if (!err) { - this.ws[kSentClose] = true; + this.ws[kSentClose] = true } } - ); + ) } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; + this.ws[kReadyState] = states.CLOSING + this.ws[kReceivedClose] = true + this.end() + return } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); + const body = this.consume(payloadLength) if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + const frame = new WebsocketFrameSend(body) + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)) if (channels.ping.hasSubscribers) { channels.ping.publish({ payload: body - }); + }) } } - this.#state = parserStates.INFO; + this.#state = parserStates.INFO if (this.#byteOffset > 0) { - continue; + continue } else { - callback(); - return; + callback() + return } } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); + const body = this.consume(payloadLength) if (channels.pong.hasSubscribers) { channels.pong.publish({ payload: body - }); + }) } if (this.#byteOffset > 0) { - continue; + continue } else { - callback(); - return; + callback() + return } } } else if (this.#state === parserStates.PAYLOADLENGTH_16) { if (this.#byteOffset < 2) { - return callback(); + return callback() } - const buffer = this.consume(2); - this.#info.payloadLength = buffer.readUInt16BE(0); - this.#state = parserStates.READ_DATA; + const buffer = this.consume(2) + this.#info.payloadLength = buffer.readUInt16BE(0) + this.#state = parserStates.READ_DATA } else if (this.#state === parserStates.PAYLOADLENGTH_64) { if (this.#byteOffset < 8) { - return callback(); + return callback() } - const buffer = this.consume(8); - const upper = buffer.readUInt32BE(0); + const buffer = this.consume(8) + const upper = buffer.readUInt32BE(0) if (upper > 2 ** 31 - 1) { - failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); - return; + failWebsocketConnection( + this.ws, + 'Received payload length > 2^31 bytes.' + ) + return } - const lower = buffer.readUInt32BE(4); - this.#info.payloadLength = (upper << 8) + lower; - this.#state = parserStates.READ_DATA; + const lower = buffer.readUInt32BE(4) + this.#info.payloadLength = (upper << 8) + lower + this.#state = parserStates.READ_DATA } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { - return callback(); + return callback() } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; + const body = this.consume(this.#info.payloadLength) + this.#fragments.push(body) + if ( + !this.#info.fragmented || + (this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) + ) { + const fullMessage = Buffer.concat(this.#fragments) + websocketMessageReceived( + this.ws, + this.#info.originalOpcode, + fullMessage + ) + this.#info = {} + this.#fragments.length = 0 } - this.#state = parserStates.INFO; + this.#state = parserStates.INFO } } if (this.#byteOffset > 0) { - continue; + continue } else { - callback(); - break; + callback() + break } } } @@ -32593,78 +37353,82 @@ var require_receiver2 = __commonJS({ */ consume(n) { if (n > this.#byteOffset) { - return null; + return null } else if (n === 0) { - return emptyBuffer; + return emptyBuffer } if (this.#buffers[0].length === n) { - this.#byteOffset -= this.#buffers[0].length; - return this.#buffers.shift(); + this.#byteOffset -= this.#buffers[0].length + return this.#buffers.shift() } - const buffer = Buffer.allocUnsafe(n); - let offset = 0; + const buffer = Buffer.allocUnsafe(n) + let offset = 0 while (offset !== n) { - const next = this.#buffers[0]; - const { length } = next; + const next = this.#buffers[0] + const { length } = next if (length + offset === n) { - buffer.set(this.#buffers.shift(), offset); - break; + buffer.set(this.#buffers.shift(), offset) + break } else if (length + offset > n) { - buffer.set(next.subarray(0, n - offset), offset); - this.#buffers[0] = next.subarray(n - offset); - break; + buffer.set(next.subarray(0, n - offset), offset) + this.#buffers[0] = next.subarray(n - offset) + break } else { - buffer.set(this.#buffers.shift(), offset); - offset += next.length; + buffer.set(this.#buffers.shift(), offset) + offset += next.length } } - this.#byteOffset -= n; - return buffer; + this.#byteOffset -= n + return buffer } parseCloseBody(onlyCode, data) { - let code; + let code if (data.length >= 2) { - code = data.readUInt16BE(0); + code = data.readUInt16BE(0) } if (onlyCode) { if (!isValidStatusCode(code)) { - return null; + return null } - return { code }; + return { code } } - let reason = data.subarray(2); + let reason = data.subarray(2) if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { - reason = reason.subarray(3); + reason = reason.subarray(3) } if (code !== void 0 && !isValidStatusCode(code)) { - return null; + return null } try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); + reason = new TextDecoder('utf-8', { fatal: true }).decode(reason) } catch { - return null; + return null } - return { code, reason }; + return { code, reason } } get closingInfo() { - return this.#info.closeInfo; + return this.#info.closeInfo } - }; + } module2.exports = { ByteParser - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/websocket.js var require_websocket2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/websocket.js"(exports, module2) { - "use strict"; - var { webidl } = require_webidl2(); - var { DOMException: DOMException2 } = require_constants5(); - var { URLSerializer } = require_dataURL2(); - var { getGlobalOrigin } = require_global3(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants8(); + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/lib/websocket/websocket.js'( + exports, + module2 + ) { + 'use strict' + var { webidl } = require_webidl2() + var { DOMException: DOMException2 } = require_constants5() + var { URLSerializer } = require_dataURL2() + var { getGlobalOrigin } = require_global3() + var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = + require_constants8() var { kWebSocketURL, kReadyState, @@ -32673,81 +37437,107 @@ var require_websocket2 = __commonJS({ kResponse, kSentClose, kByteParser - } = require_symbols10(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util14(); - var { establishWebSocketConnection } = require_connection2(); - var { WebsocketFrameSend } = require_frame2(); - var { ByteParser } = require_receiver2(); - var { kEnumerableProperty, isBlobLike } = require_util8(); - var { getGlobalDispatcher } = require_global4(); - var { types } = require("util"); - var experimentalWarned = false; + } = require_symbols10() + var { + isEstablished, + isClosing, + isValidSubprotocol, + failWebsocketConnection, + fireEvent + } = require_util14() + var { establishWebSocketConnection } = require_connection2() + var { WebsocketFrameSend } = require_frame2() + var { ByteParser } = require_receiver2() + var { kEnumerableProperty, isBlobLike } = require_util8() + var { getGlobalDispatcher } = require_global4() + var { types } = require('util') + var experimentalWarned = false var WebSocket = class _WebSocket extends EventTarget { #events = { open: null, error: null, close: null, message: null - }; - #bufferedAmount = 0; - #protocol = ""; - #extensions = ""; + } + #bufferedAmount = 0 + #protocol = '' + #extensions = '' /** * @param {string} url * @param {string|string[]} protocols */ constructor(url, protocols = []) { - super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); + super() + webidl.argumentLengthCheck(arguments, 1, { + header: 'WebSocket constructor' + }) if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols); - url = webidl.converters.USVString(url); - protocols = options.protocols; - const baseURL = getGlobalOrigin(); - let urlRecord; + experimentalWarned = true + process.emitWarning( + 'WebSockets are experimental, expect them to change at any time.', + { + code: 'UNDICI-WS' + } + ) + } + const options = + webidl.converters[ + 'DOMString or sequence or WebSocketInit' + ](protocols) + url = webidl.converters.USVString(url) + protocols = options.protocols + const baseURL = getGlobalOrigin() + let urlRecord try { - urlRecord = new URL(url, baseURL); + urlRecord = new URL(url, baseURL) } catch (e) { - throw new DOMException2(e, "SyntaxError"); + throw new DOMException2(e, 'SyntaxError') } - if (urlRecord.protocol === "http:") { - urlRecord.protocol = "ws:"; - } else if (urlRecord.protocol === "https:") { - urlRecord.protocol = "wss:"; + if (urlRecord.protocol === 'http:') { + urlRecord.protocol = 'ws:' + } else if (urlRecord.protocol === 'https:') { + urlRecord.protocol = 'wss:' } - if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { + if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') { throw new DOMException2( `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, - "SyntaxError" - ); + 'SyntaxError' + ) } - if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException2("Got fragment", "SyntaxError"); + if (urlRecord.hash || urlRecord.href.endsWith('#')) { + throw new DOMException2('Got fragment', 'SyntaxError') } - if (typeof protocols === "string") { - protocols = [protocols]; + if (typeof protocols === 'string') { + protocols = [protocols] } - if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + if ( + protocols.length !== + new Set(protocols.map((p) => p.toLowerCase())).size + ) { + throw new DOMException2( + 'Invalid Sec-WebSocket-Protocol value', + 'SyntaxError' + ) } - if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + if ( + protocols.length > 0 && + !protocols.every((p) => isValidSubprotocol(p)) + ) { + throw new DOMException2( + 'Invalid Sec-WebSocket-Protocol value', + 'SyntaxError' + ) } - this[kWebSocketURL] = new URL(urlRecord.href); + this[kWebSocketURL] = new URL(urlRecord.href) this[kController] = establishWebSocketConnection( urlRecord, protocols, this, (response) => this.#onConnectionEstablished(response), options - ); - this[kReadyState] = _WebSocket.CONNECTING; - this[kBinaryType] = "blob"; + ) + this[kReadyState] = _WebSocket.CONNECTING + this[kBinaryType] = 'blob' } /** * @see https://websockets.spec.whatwg.org/#dom-websocket-close @@ -32755,53 +37545,59 @@ var require_websocket2 = __commonJS({ * @param {string|undefined} reason */ close(code = void 0, reason = void 0) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (code !== void 0) { - code = webidl.converters["unsigned short"](code, { clamp: true }); + code = webidl.converters['unsigned short'](code, { clamp: true }) } if (reason !== void 0) { - reason = webidl.converters.USVString(reason); + reason = webidl.converters.USVString(reason) } if (code !== void 0) { if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException2("invalid code", "InvalidAccessError"); + throw new DOMException2('invalid code', 'InvalidAccessError') } } - let reasonByteLength = 0; + let reasonByteLength = 0 if (reason !== void 0) { - reasonByteLength = Buffer.byteLength(reason); + reasonByteLength = Buffer.byteLength(reason) if (reasonByteLength > 123) { throw new DOMException2( `Reason must be less than 123 bytes; received ${reasonByteLength}`, - "SyntaxError" - ); + 'SyntaxError' + ) } } - if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) { + if ( + this[kReadyState] === _WebSocket.CLOSING || + this[kReadyState] === _WebSocket.CLOSED + ) { } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = _WebSocket.CLOSING; + failWebsocketConnection( + this, + 'Connection was closed before it was established.' + ) + this[kReadyState] = _WebSocket.CLOSING } else if (!isClosing(this)) { - const frame = new WebsocketFrameSend(); + const frame = new WebsocketFrameSend() if (code !== void 0 && reason === void 0) { - frame.frameData = Buffer.allocUnsafe(2); - frame.frameData.writeUInt16BE(code, 0); + frame.frameData = Buffer.allocUnsafe(2) + frame.frameData.writeUInt16BE(code, 0) } else if (code !== void 0 && reason !== void 0) { - frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); - frame.frameData.writeUInt16BE(code, 0); - frame.frameData.write(reason, 2, "utf-8"); + frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength) + frame.frameData.writeUInt16BE(code, 0) + frame.frameData.write(reason, 2, 'utf-8') } else { - frame.frameData = emptyBuffer; + frame.frameData = emptyBuffer } - const socket = this[kResponse].socket; + const socket = this[kResponse].socket socket.write(frame.createFrame(opcodes.CLOSE), (err) => { if (!err) { - this[kSentClose] = true; + this[kSentClose] = true } - }); - this[kReadyState] = states.CLOSING; + }) + this[kReadyState] = states.CLOSING } else { - this[kReadyState] = _WebSocket.CLOSING; + this[kReadyState] = _WebSocket.CLOSING } } /** @@ -32809,176 +37605,176 @@ var require_websocket2 = __commonJS({ * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data */ send(data) { - webidl.brandCheck(this, _WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); + webidl.brandCheck(this, _WebSocket) + webidl.argumentLengthCheck(arguments, 1, { header: 'WebSocket.send' }) + data = webidl.converters.WebSocketSendData(data) if (this[kReadyState] === _WebSocket.CONNECTING) { - throw new DOMException2("Sent before connected.", "InvalidStateError"); + throw new DOMException2('Sent before connected.', 'InvalidStateError') } if (!isEstablished(this) || isClosing(this)) { - return; - } - const socket = this[kResponse].socket; - if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; + return + } + const socket = this[kResponse].socket + if (typeof data === 'string') { + const value = Buffer.from(data) + const frame = new WebsocketFrameSend(value) + const buffer = frame.createFrame(opcodes.TEXT) + this.#bufferedAmount += value.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + this.#bufferedAmount -= value.byteLength + }) } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; + const value = Buffer.from(data) + const frame = new WebsocketFrameSend(value) + const buffer = frame.createFrame(opcodes.BINARY) + this.#bufferedAmount += value.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + this.#bufferedAmount -= value.byteLength + }) } else if (ArrayBuffer.isView(data)) { - const ab = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab.byteLength; + const ab = Buffer.from(data, data.byteOffset, data.byteLength) + const frame = new WebsocketFrameSend(ab) + const buffer = frame.createFrame(opcodes.BINARY) + this.#bufferedAmount += ab.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= ab.byteLength; - }); + this.#bufferedAmount -= ab.byteLength + }) } else if (isBlobLike(data)) { - const frame = new WebsocketFrameSend(); + const frame = new WebsocketFrameSend() data.arrayBuffer().then((ab) => { - const value = Buffer.from(ab); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; + const value = Buffer.from(ab) + frame.frameData = value + const buffer = frame.createFrame(opcodes.BINARY) + this.#bufferedAmount += value.byteLength socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); + this.#bufferedAmount -= value.byteLength + }) + }) } } get readyState() { - webidl.brandCheck(this, _WebSocket); - return this[kReadyState]; + webidl.brandCheck(this, _WebSocket) + return this[kReadyState] } get bufferedAmount() { - webidl.brandCheck(this, _WebSocket); - return this.#bufferedAmount; + webidl.brandCheck(this, _WebSocket) + return this.#bufferedAmount } get url() { - webidl.brandCheck(this, _WebSocket); - return URLSerializer(this[kWebSocketURL]); + webidl.brandCheck(this, _WebSocket) + return URLSerializer(this[kWebSocketURL]) } get extensions() { - webidl.brandCheck(this, _WebSocket); - return this.#extensions; + webidl.brandCheck(this, _WebSocket) + return this.#extensions } get protocol() { - webidl.brandCheck(this, _WebSocket); - return this.#protocol; + webidl.brandCheck(this, _WebSocket) + return this.#protocol } get onopen() { - webidl.brandCheck(this, _WebSocket); - return this.#events.open; + webidl.brandCheck(this, _WebSocket) + return this.#events.open } set onopen(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.open) { - this.removeEventListener("open", this.#events.open); + this.removeEventListener('open', this.#events.open) } - if (typeof fn === "function") { - this.#events.open = fn; - this.addEventListener("open", fn); + if (typeof fn === 'function') { + this.#events.open = fn + this.addEventListener('open', fn) } else { - this.#events.open = null; + this.#events.open = null } } get onerror() { - webidl.brandCheck(this, _WebSocket); - return this.#events.error; + webidl.brandCheck(this, _WebSocket) + return this.#events.error } set onerror(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.error) { - this.removeEventListener("error", this.#events.error); + this.removeEventListener('error', this.#events.error) } - if (typeof fn === "function") { - this.#events.error = fn; - this.addEventListener("error", fn); + if (typeof fn === 'function') { + this.#events.error = fn + this.addEventListener('error', fn) } else { - this.#events.error = null; + this.#events.error = null } } get onclose() { - webidl.brandCheck(this, _WebSocket); - return this.#events.close; + webidl.brandCheck(this, _WebSocket) + return this.#events.close } set onclose(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.close) { - this.removeEventListener("close", this.#events.close); + this.removeEventListener('close', this.#events.close) } - if (typeof fn === "function") { - this.#events.close = fn; - this.addEventListener("close", fn); + if (typeof fn === 'function') { + this.#events.close = fn + this.addEventListener('close', fn) } else { - this.#events.close = null; + this.#events.close = null } } get onmessage() { - webidl.brandCheck(this, _WebSocket); - return this.#events.message; + webidl.brandCheck(this, _WebSocket) + return this.#events.message } set onmessage(fn) { - webidl.brandCheck(this, _WebSocket); + webidl.brandCheck(this, _WebSocket) if (this.#events.message) { - this.removeEventListener("message", this.#events.message); + this.removeEventListener('message', this.#events.message) } - if (typeof fn === "function") { - this.#events.message = fn; - this.addEventListener("message", fn); + if (typeof fn === 'function') { + this.#events.message = fn + this.addEventListener('message', fn) } else { - this.#events.message = null; + this.#events.message = null } } get binaryType() { - webidl.brandCheck(this, _WebSocket); - return this[kBinaryType]; + webidl.brandCheck(this, _WebSocket) + return this[kBinaryType] } set binaryType(type) { - webidl.brandCheck(this, _WebSocket); - if (type !== "blob" && type !== "arraybuffer") { - this[kBinaryType] = "blob"; + webidl.brandCheck(this, _WebSocket) + if (type !== 'blob' && type !== 'arraybuffer') { + this[kBinaryType] = 'blob' } else { - this[kBinaryType] = type; + this[kBinaryType] = type } } /** * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol */ #onConnectionEstablished(response) { - this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); - response.socket.ws = this; - this[kByteParser] = parser; - this[kReadyState] = states.OPEN; - const extensions = response.headersList.get("sec-websocket-extensions"); + this[kResponse] = response + const parser = new ByteParser(this) + parser.on('drain', function onParserDrain() { + this.ws[kResponse].socket.resume() + }) + response.socket.ws = this + this[kByteParser] = parser + this[kReadyState] = states.OPEN + const extensions = response.headersList.get('sec-websocket-extensions') if (extensions !== null) { - this.#extensions = extensions; + this.#extensions = extensions } - const protocol = response.headersList.get("sec-websocket-protocol"); + const protocol = response.headersList.get('sec-websocket-protocol') if (protocol !== null) { - this.#protocol = protocol; + this.#protocol = protocol } - fireEvent("open", this); + fireEvent('open', this) } - }; - WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; - WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; - WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; - WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; + } + WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING + WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN + WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING + WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED Object.defineProperties(WebSocket.prototype, { CONNECTING: staticPropertyDescriptors, OPEN: staticPropertyDescriptors, @@ -32997,1067 +37793,1243 @@ var require_websocket2 = __commonJS({ extensions: kEnumerableProperty, protocol: kEnumerableProperty, [Symbol.toStringTag]: { - value: "WebSocket", + value: 'WebSocket', writable: false, enumerable: false, configurable: true } - }); + }) Object.defineProperties(WebSocket, { CONNECTING: staticPropertyDescriptors, OPEN: staticPropertyDescriptors, CLOSING: staticPropertyDescriptors, CLOSED: staticPropertyDescriptors - }); - webidl.converters["sequence"] = webidl.sequenceConverter( + }) + webidl.converters['sequence'] = webidl.sequenceConverter( webidl.converters.DOMString - ); - webidl.converters["DOMString or sequence"] = function(V) { - if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) { - return webidl.converters["sequence"](V); + ) + webidl.converters['DOMString or sequence'] = function (V) { + if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) { + return webidl.converters['sequence'](V) } - return webidl.converters.DOMString(V); - }; + return webidl.converters.DOMString(V) + } webidl.converters.WebSocketInit = webidl.dictionaryConverter([ { - key: "protocols", - converter: webidl.converters["DOMString or sequence"], + key: 'protocols', + converter: webidl.converters['DOMString or sequence'], get defaultValue() { - return []; + return [] } }, { - key: "dispatcher", + key: 'dispatcher', converter: (V) => V, get defaultValue() { - return getGlobalDispatcher(); + return getGlobalDispatcher() } }, { - key: "headers", + key: 'headers', converter: webidl.nullableConverter(webidl.converters.HeadersInit) } - ]); - webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) { - if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) { - return webidl.converters.WebSocketInit(V); + ]) + webidl.converters['DOMString or sequence or WebSocketInit'] = + function (V) { + if (webidl.util.Type(V) === 'Object' && !(Symbol.iterator in V)) { + return webidl.converters.WebSocketInit(V) + } + return { + protocols: webidl.converters['DOMString or sequence'](V) + } } - return { protocols: webidl.converters["DOMString or sequence"](V) }; - }; - webidl.converters.WebSocketSendData = function(V) { - if (webidl.util.Type(V) === "Object") { + webidl.converters.WebSocketSendData = function (V) { + if (webidl.util.Type(V) === 'Object') { if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, { strict: false }) } if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V); + return webidl.converters.BufferSource(V) } } - return webidl.converters.USVString(V); - }; + return webidl.converters.USVString(V) + } module2.exports = { WebSocket - }; + } } -}); +}) // ../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/index.js var require_undici2 = __commonJS({ - "../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/index.js"(exports, module2) { - "use strict"; - var Client = require_client2(); - var Dispatcher = require_dispatcher2(); - var errors = require_errors2(); - var Pool = require_pool2(); - var BalancedPool = require_balanced_pool2(); - var Agent = require_agent2(); - var util = require_util8(); - var { InvalidArgumentError } = errors; - var api = require_api2(); - var buildConnector = require_connect2(); - var MockClient = require_mock_client2(); - var MockAgent = require_mock_agent2(); - var MockPool = require_mock_pool2(); - var mockErrors = require_mock_errors2(); - var ProxyAgent = require_proxy_agent2(); - var { getGlobalDispatcher, setGlobalDispatcher } = require_global4(); - var DecoratorHandler = require_DecoratorHandler2(); - var RedirectHandler = require_RedirectHandler2(); - var createRedirectInterceptor = require_redirectInterceptor2(); - var hasCrypto; + '../../node_modules/.pnpm/undici@5.26.5/node_modules/undici/index.js'( + exports, + module2 + ) { + 'use strict' + var Client = require_client2() + var Dispatcher = require_dispatcher2() + var errors = require_errors2() + var Pool = require_pool2() + var BalancedPool = require_balanced_pool2() + var Agent = require_agent2() + var util = require_util8() + var { InvalidArgumentError } = errors + var api = require_api2() + var buildConnector = require_connect2() + var MockClient = require_mock_client2() + var MockAgent = require_mock_agent2() + var MockPool = require_mock_pool2() + var mockErrors = require_mock_errors2() + var ProxyAgent = require_proxy_agent2() + var { getGlobalDispatcher, setGlobalDispatcher } = require_global4() + var DecoratorHandler = require_DecoratorHandler2() + var RedirectHandler = require_RedirectHandler2() + var createRedirectInterceptor = require_redirectInterceptor2() + var hasCrypto try { - require("crypto"); - hasCrypto = true; + require('crypto') + hasCrypto = true } catch { - hasCrypto = false; - } - Object.assign(Dispatcher.prototype, api); - module2.exports.Dispatcher = Dispatcher; - module2.exports.Client = Client; - module2.exports.Pool = Pool; - module2.exports.BalancedPool = BalancedPool; - module2.exports.Agent = Agent; - module2.exports.ProxyAgent = ProxyAgent; - module2.exports.DecoratorHandler = DecoratorHandler; - module2.exports.RedirectHandler = RedirectHandler; - module2.exports.createRedirectInterceptor = createRedirectInterceptor; - module2.exports.buildConnector = buildConnector; - module2.exports.errors = errors; + hasCrypto = false + } + Object.assign(Dispatcher.prototype, api) + module2.exports.Dispatcher = Dispatcher + module2.exports.Client = Client + module2.exports.Pool = Pool + module2.exports.BalancedPool = BalancedPool + module2.exports.Agent = Agent + module2.exports.ProxyAgent = ProxyAgent + module2.exports.DecoratorHandler = DecoratorHandler + module2.exports.RedirectHandler = RedirectHandler + module2.exports.createRedirectInterceptor = createRedirectInterceptor + module2.exports.buildConnector = buildConnector + module2.exports.errors = errors function makeDispatcher(fn) { return (url, opts, handler) => { - if (typeof opts === "function") { - handler = opts; - opts = null; + if (typeof opts === 'function') { + handler = opts + opts = null } - if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) { - throw new InvalidArgumentError("invalid url"); + if ( + !url || + (typeof url !== 'string' && + typeof url !== 'object' && + !(url instanceof URL)) + ) { + throw new InvalidArgumentError('invalid url') } - if (opts != null && typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (opts != null && typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts') } if (opts && opts.path != null) { - if (typeof opts.path !== "string") { - throw new InvalidArgumentError("invalid opts.path"); + if (typeof opts.path !== 'string') { + throw new InvalidArgumentError('invalid opts.path') } - let path = opts.path; - if (!opts.path.startsWith("/")) { - path = `/${path}`; + let path = opts.path + if (!opts.path.startsWith('/')) { + path = `/${path}` } - url = new URL(util.parseOrigin(url).origin + path); + url = new URL(util.parseOrigin(url).origin + path) } else { if (!opts) { - opts = typeof url === "object" ? url : {}; + opts = typeof url === 'object' ? url : {} } - url = util.parseURL(url); + url = util.parseURL(url) } - const { agent, dispatcher = getGlobalDispatcher() } = opts; + const { agent, dispatcher = getGlobalDispatcher() } = opts if (agent) { - throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); + throw new InvalidArgumentError( + 'unsupported opts.agent. Did you mean opts.client?' + ) } - return fn.call(dispatcher, { - ...opts, - origin: url.origin, - path: url.search ? `${url.pathname}${url.search}` : url.pathname, - method: opts.method || (opts.body ? "PUT" : "GET") - }, handler); - }; - } - module2.exports.setGlobalDispatcher = setGlobalDispatcher; - module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) { - let fetchImpl = null; + return fn.call( + dispatcher, + { + ...opts, + origin: url.origin, + path: url.search ? `${url.pathname}${url.search}` : url.pathname, + method: opts.method || (opts.body ? 'PUT' : 'GET') + }, + handler + ) + } + } + module2.exports.setGlobalDispatcher = setGlobalDispatcher + module2.exports.getGlobalDispatcher = getGlobalDispatcher + if (util.nodeMajor > 16 || (util.nodeMajor === 16 && util.nodeMinor >= 8)) { + let fetchImpl = null module2.exports.fetch = async function fetch(resource) { if (!fetchImpl) { - fetchImpl = require_fetch2().fetch; + fetchImpl = require_fetch2().fetch } try { - return await fetchImpl(...arguments); + return await fetchImpl(...arguments) } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; - } - }; - module2.exports.Headers = require_headers2().Headers; - module2.exports.Response = require_response2().Response; - module2.exports.Request = require_request4().Request; - module2.exports.FormData = require_formdata2().FormData; - module2.exports.File = require_file2().File; - module2.exports.FileReader = require_filereader2().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global3(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage2(); - const { kConstruct } = require_symbols9(); - module2.exports.caches = new CacheStorage(kConstruct); + if (typeof err === 'object') { + Error.captureStackTrace(err, this) + } + throw err + } + } + module2.exports.Headers = require_headers2().Headers + module2.exports.Response = require_response2().Response + module2.exports.Request = require_request4().Request + module2.exports.FormData = require_formdata2().FormData + module2.exports.File = require_file2().File + module2.exports.FileReader = require_filereader2().FileReader + const { setGlobalOrigin, getGlobalOrigin } = require_global3() + module2.exports.setGlobalOrigin = setGlobalOrigin + module2.exports.getGlobalOrigin = getGlobalOrigin + const { CacheStorage } = require_cachestorage2() + const { kConstruct } = require_symbols9() + module2.exports.caches = new CacheStorage(kConstruct) } if (util.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL2(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; + const { deleteCookie, getCookies, getSetCookies, setCookie } = + require_cookies2() + module2.exports.deleteCookie = deleteCookie + module2.exports.getCookies = getCookies + module2.exports.getSetCookies = getSetCookies + module2.exports.setCookie = setCookie + const { parseMIMEType, serializeAMimeType } = require_dataURL2() + module2.exports.parseMIMEType = parseMIMEType + module2.exports.serializeAMimeType = serializeAMimeType } if (util.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket2(); - module2.exports.WebSocket = WebSocket; - } - module2.exports.request = makeDispatcher(api.request); - module2.exports.stream = makeDispatcher(api.stream); - module2.exports.pipeline = makeDispatcher(api.pipeline); - module2.exports.connect = makeDispatcher(api.connect); - module2.exports.upgrade = makeDispatcher(api.upgrade); - module2.exports.MockClient = MockClient; - module2.exports.MockPool = MockPool; - module2.exports.MockAgent = MockAgent; - module2.exports.mockErrors = mockErrors; + const { WebSocket } = require_websocket2() + module2.exports.WebSocket = WebSocket + } + module2.exports.request = makeDispatcher(api.request) + module2.exports.stream = makeDispatcher(api.stream) + module2.exports.pipeline = makeDispatcher(api.pipeline) + module2.exports.connect = makeDispatcher(api.connect) + module2.exports.upgrade = makeDispatcher(api.upgrade) + module2.exports.MockClient = MockClient + module2.exports.MockPool = MockPool + module2.exports.MockAgent = MockAgent + module2.exports.mockErrors = mockErrors } -}); +}) // ../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/internal/utils.js var require_utils4 = __commonJS({ - "../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/internal/utils.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + '../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/internal/utils.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + var desc = Object.getOwnPropertyDescriptor(m, k) + if ( + !desc || + ('get' in desc + ? !m.__esModule + : desc.writable || desc.configurable) + ) { + desc = { + enumerable: true, + get: function () { + return m[k] + } + } + } + Object.defineProperty(o, k2, desc) } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + var __awaiter = + (exports && exports.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value) + }) + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)) + } catch (e) { + reject(e) + } } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getApiBaseUrl = exports.getProxyFetch = exports.getProxyAgentDispatcher = exports.getProxyAgent = exports.getAuthString = void 0; - var httpClient = __importStar(require_lib()); - var undici_1 = require_undici2(); + function rejected(value) { + try { + step(generator['throw'](value)) + } catch (e) { + reject(e) + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected) + } + step((generator = generator.apply(thisArg, _arguments || [])).next()) + }) + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.getApiBaseUrl = + exports.getProxyFetch = + exports.getProxyAgentDispatcher = + exports.getProxyAgent = + exports.getAuthString = + void 0 + var httpClient = __importStar(require_lib()) + var undici_1 = require_undici2() function getAuthString(token, options) { if (!token && !options.auth) { - throw new Error("Parameter token or opts.auth is required"); + throw new Error('Parameter token or opts.auth is required') } else if (token && options.auth) { - throw new Error("Parameters token and opts.auth may not both be specified"); + throw new Error( + 'Parameters token and opts.auth may not both be specified' + ) } - return typeof options.auth === "string" ? options.auth : `token ${token}`; + return typeof options.auth === 'string' ? options.auth : `token ${token}` } - exports.getAuthString = getAuthString; + exports.getAuthString = getAuthString function getProxyAgent(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgent(destinationUrl); + const hc = new httpClient.HttpClient() + return hc.getAgent(destinationUrl) } - exports.getProxyAgent = getProxyAgent; + exports.getProxyAgent = getProxyAgent function getProxyAgentDispatcher(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgentDispatcher(destinationUrl); + const hc = new httpClient.HttpClient() + return hc.getAgentDispatcher(destinationUrl) } - exports.getProxyAgentDispatcher = getProxyAgentDispatcher; + exports.getProxyAgentDispatcher = getProxyAgentDispatcher function getProxyFetch(destinationUrl) { - const httpDispatcher = getProxyAgentDispatcher(destinationUrl); - const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { - return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); - }); - return proxyFetch; + const httpDispatcher = getProxyAgentDispatcher(destinationUrl) + const proxyFetch = (url, opts) => + __awaiter(this, void 0, void 0, function* () { + return (0, undici_1.fetch)( + url, + Object.assign(Object.assign({}, opts), { + dispatcher: httpDispatcher + }) + ) + }) + return proxyFetch } - exports.getProxyFetch = getProxyFetch; + exports.getProxyFetch = getProxyFetch function getApiBaseUrl() { - return process.env["GITHUB_API_URL"] || "https://api.github.com"; + return process.env['GITHUB_API_URL'] || 'https://api.github.com' } - exports.getApiBaseUrl = getApiBaseUrl; + exports.getApiBaseUrl = getApiBaseUrl } -}); +}) // ../../node_modules/.pnpm/universal-user-agent@6.0.1/node_modules/universal-user-agent/dist-node/index.js var require_dist_node = __commonJS({ - "../../node_modules/.pnpm/universal-user-agent@6.0.1/node_modules/universal-user-agent/dist-node/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); + '../../node_modules/.pnpm/universal-user-agent@6.0.1/node_modules/universal-user-agent/dist-node/index.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) function getUserAgent() { - if (typeof navigator === "object" && "userAgent" in navigator) { - return navigator.userAgent; + if (typeof navigator === 'object' && 'userAgent' in navigator) { + return navigator.userAgent } - if (typeof process === "object" && process.version !== void 0) { - return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + if (typeof process === 'object' && process.version !== void 0) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${ + process.arch + })` } - return ""; + return '' } - exports.getUserAgent = getUserAgent; + exports.getUserAgent = getUserAgent } -}); +}) // ../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/register.js var require_register = __commonJS({ - "../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/register.js"(exports, module2) { - module2.exports = register; + '../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/register.js'( + exports, + module2 + ) { + module2.exports = register function register(state, name, method, options) { - if (typeof method !== "function") { - throw new Error("method for before hook must be a function"); + if (typeof method !== 'function') { + throw new Error('method for before hook must be a function') } if (!options) { - options = {}; + options = {} } if (Array.isArray(name)) { - return name.reverse().reduce(function(callback, name2) { - return register.bind(null, state, name2, callback, options); - }, method)(); + return name.reverse().reduce(function (callback, name2) { + return register.bind(null, state, name2, callback, options) + }, method)() } - return Promise.resolve().then(function() { + return Promise.resolve().then(function () { if (!state.registry[name]) { - return method(options); + return method(options) } - return state.registry[name].reduce(function(method2, registered) { - return registered.hook.bind(null, method2, options); - }, method)(); - }); + return state.registry[name].reduce(function (method2, registered) { + return registered.hook.bind(null, method2, options) + }, method)() + }) } } -}); +}) // ../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/add.js var require_add = __commonJS({ - "../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/add.js"(exports, module2) { - module2.exports = addHook; + '../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/add.js'( + exports, + module2 + ) { + module2.exports = addHook function addHook(state, kind, name, hook) { - var orig = hook; + var orig = hook if (!state.registry[name]) { - state.registry[name] = []; - } - if (kind === "before") { - hook = function(method, options) { - return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); - }; - } - if (kind === "after") { - hook = function(method, options) { - var result; - return Promise.resolve().then(method.bind(null, options)).then(function(result_) { - result = result_; - return orig(result, options); - }).then(function() { - return result; - }); - }; - } - if (kind === "error") { - hook = function(method, options) { - return Promise.resolve().then(method.bind(null, options)).catch(function(error) { - return orig(error, options); - }); - }; + state.registry[name] = [] + } + if (kind === 'before') { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)) + } + } + if (kind === 'after') { + hook = function (method, options) { + var result + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_ + return orig(result, options) + }) + .then(function () { + return result + }) + } + } + if (kind === 'error') { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options) + }) + } } state.registry[name].push({ hook, orig - }); + }) } } -}); +}) // ../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/remove.js var require_remove = __commonJS({ - "../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/remove.js"(exports, module2) { - module2.exports = removeHook; + '../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/remove.js'( + exports, + module2 + ) { + module2.exports = removeHook function removeHook(state, name, method) { if (!state.registry[name]) { - return; + return } - var index = state.registry[name].map(function(registered) { - return registered.orig; - }).indexOf(method); + var index = state.registry[name] + .map(function (registered) { + return registered.orig + }) + .indexOf(method) if (index === -1) { - return; + return } - state.registry[name].splice(index, 1); + state.registry[name].splice(index, 1) } } -}); +}) // ../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/index.js var require_before_after_hook = __commonJS({ - "../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/index.js"(exports, module2) { - var register = require_register(); - var addHook = require_add(); - var removeHook = require_remove(); - var bind = Function.bind; - var bindable = bind.bind(bind); + '../../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/index.js'( + exports, + module2 + ) { + var register = require_register() + var addHook = require_add() + var removeHook = require_remove() + var bind = Function.bind + var bindable = bind.bind(bind) function bindApi(hook, state, name) { var removeHookRef = bindable(removeHook, null).apply( null, name ? [state, name] : [state] - ); - hook.api = { remove: removeHookRef }; - hook.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach(function(kind) { - var args = name ? [state, kind, name] : [state, kind]; - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); - }); + ) + hook.api = { remove: removeHookRef } + hook.remove = removeHookRef + ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind] + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) + }) } function HookSingular() { - var singularHookName = "h"; + var singularHookName = 'h' var singularHookState = { registry: {} - }; - var singularHook = register.bind(null, singularHookState, singularHookName); - bindApi(singularHook, singularHookState, singularHookName); - return singularHook; + } + var singularHook = register.bind( + null, + singularHookState, + singularHookName + ) + bindApi(singularHook, singularHookState, singularHookName) + return singularHook } function HookCollection() { var state = { registry: {} - }; - var hook = register.bind(null, state); - bindApi(hook, state); - return hook; + } + var hook = register.bind(null, state) + bindApi(hook, state) + return hook } - var collectionHookDeprecationMessageDisplayed = false; + var collectionHookDeprecationMessageDisplayed = false function Hook() { if (!collectionHookDeprecationMessageDisplayed) { console.warn( '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' - ); - collectionHookDeprecationMessageDisplayed = true; + ) + collectionHookDeprecationMessageDisplayed = true } - return HookCollection(); + return HookCollection() } - Hook.Singular = HookSingular.bind(); - Hook.Collection = HookCollection.bind(); - module2.exports = Hook; - module2.exports.Hook = Hook; - module2.exports.Singular = Hook.Singular; - module2.exports.Collection = Hook.Collection; + Hook.Singular = HookSingular.bind() + Hook.Collection = HookCollection.bind() + module2.exports = Hook + module2.exports.Hook = Hook + module2.exports.Singular = Hook.Singular + module2.exports.Collection = Hook.Collection } -}); +}) // ../../node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.js var require_is_plain_object = __commonJS({ - "../../node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); + '../../node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) function isObject(o) { - return Object.prototype.toString.call(o) === "[object Object]"; + return Object.prototype.toString.call(o) === '[object Object]' } function isPlainObject(o) { - var ctor, prot; - if (isObject(o) === false) - return false; - ctor = o.constructor; - if (ctor === void 0) - return true; - prot = ctor.prototype; - if (isObject(prot) === false) - return false; - if (prot.hasOwnProperty("isPrototypeOf") === false) { - return false; - } - return true; - } - exports.isPlainObject = isPlainObject; + var ctor, prot + if (isObject(o) === false) return false + ctor = o.constructor + if (ctor === void 0) return true + prot = ctor.prototype + if (isObject(prot) === false) return false + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false + } + return true + } + exports.isPlainObject = isPlainObject } -}); +}) // ../../node_modules/.pnpm/@octokit+endpoint@9.0.2/node_modules/@octokit/endpoint/dist-node/index.js var require_dist_node2 = __commonJS({ - "../../node_modules/.pnpm/@octokit+endpoint@9.0.2/node_modules/@octokit/endpoint/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+endpoint@9.0.2/node_modules/@octokit/endpoint/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { endpoint: () => endpoint - }); - module2.exports = __toCommonJS2(dist_src_exports); - var import_universal_user_agent = require_dist_node(); - var VERSION = "9.0.2"; - var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; + }) + module2.exports = __toCommonJS2(dist_src_exports) + var import_universal_user_agent = require_dist_node() + var VERSION = '9.0.2' + var userAgent = `octokit-endpoint.js/${VERSION} ${(0, + import_universal_user_agent.getUserAgent)()}` var DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", + method: 'GET', + baseUrl: 'https://api.github.com', headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent + accept: 'application/vnd.github.v3+json', + 'user-agent': userAgent }, mediaType: { - format: "" + format: '' } - }; + } function lowercaseKeys(object) { if (!object) { - return {}; + return {} } return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); + newObj[key.toLowerCase()] = object[key] + return newObj + }, {}) } - var import_is_plain_object = require_is_plain_object(); + var import_is_plain_object = require_is_plain_object() function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); + const result = Object.assign({}, defaults) Object.keys(options).forEach((key) => { if ((0, import_is_plain_object.isPlainObject)(options[key])) { - if (!(key in defaults)) - Object.assign(result, { [key]: options[key] }); - else - result[key] = mergeDeep(defaults[key], options[key]); + if (!(key in defaults)) Object.assign(result, { [key]: options[key] }) + else result[key] = mergeDeep(defaults[key], options[key]) } else { - Object.assign(result, { [key]: options[key] }); + Object.assign(result, { [key]: options[key] }) } - }); - return result; + }) + return result } function removeUndefinedProperties(obj) { for (const key in obj) { if (obj[key] === void 0) { - delete obj[key]; + delete obj[key] } } - return obj; + return obj } function merge2(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { method, url } : { url: method }, options); + if (typeof route === 'string') { + let [method, url] = route.split(' ') + options = Object.assign( + url ? { method, url } : { url: method }, + options + ) } else { - options = Object.assign({}, route); + options = Object.assign({}, route) } - options.headers = lowercaseKeys(options.headers); - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); - if (options.url === "/graphql") { + options.headers = lowercaseKeys(options.headers) + removeUndefinedProperties(options) + removeUndefinedProperties(options.headers) + const mergedOptions = mergeDeep(defaults || {}, options) + if (options.url === '/graphql') { if (defaults && defaults.mediaType.previews?.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( - (preview) => !mergedOptions.mediaType.previews.includes(preview) - ).concat(mergedOptions.mediaType.previews); + mergedOptions.mediaType.previews = defaults.mediaType.previews + .filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ) + .concat(mergedOptions.mediaType.previews) } - mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + mergedOptions.mediaType.previews = ( + mergedOptions.mediaType.previews || [] + ).map((preview) => preview.replace(/-preview/, '')) } - return mergedOptions; + return mergedOptions } function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); + const separator = /\?/.test(url) ? '&' : '?' + const names = Object.keys(parameters) if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); + return url + } + return ( + url + + separator + + names + .map((name) => { + if (name === 'q') { + return ( + 'q=' + parameters.q.split('+').map(encodeURIComponent).join('+') + ) + } + return `${name}=${encodeURIComponent(parameters[name])}` + }) + .join('&') + ) } - var urlVariableRegex = /\{[^}]+\}/g; + var urlVariableRegex = /\{[^}]+\}/g function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); + return variableName.replace(/^\W+|\W+$/g, '').split(/,/) } function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); + const matches = url.match(urlVariableRegex) if (!matches) { - return []; + return [] } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []) } function omit(object, keysToOmit) { - return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); + return Object.keys(object) + .filter((option) => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key] + return obj + }, {}) } function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); + return str + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, '[').replace(/%5D/g, ']') + } + return part + }) + .join('') } function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase() + }) } function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + value = + operator === '+' || operator === '#' + ? encodeReserved(value) + : encodeUnreserved(value) if (key) { - return encodeUnreserved(key) + "=" + value; + return encodeUnreserved(key) + '=' + value } else { - return value; + return value } } function isDefined(value) { - return value !== void 0 && value !== null; + return value !== void 0 && value !== null } function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; + return operator === ';' || operator === '&' || operator === '?' } function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); + var value = context[key], + result = [] + if (isDefined(value) && value !== '') { + if ( + typeof value === 'string' || + typeof value === 'number' || + typeof value === 'boolean' + ) { + value = value.toString() + if (modifier && modifier !== '*') { + value = value.substring(0, parseInt(modifier, 10)) } result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); + encodeValue(operator, value, isKeyOperator(operator) ? key : '') + ) } else { - if (modifier === "*") { + if (modifier === '*') { if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { + value.filter(isDefined).forEach(function (value2) { result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); + encodeValue( + operator, + value2, + isKeyOperator(operator) ? key : '' + ) + ) + }) } else { - Object.keys(value).forEach(function(k) { + Object.keys(value).forEach(function (k) { if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); + result.push(encodeValue(operator, value[k], k)) } - }); + }) } } else { - const tmp = []; + const tmp = [] if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); + value.filter(isDefined).forEach(function (value2) { + tmp.push(encodeValue(operator, value2)) + }) } else { - Object.keys(value).forEach(function(k) { + Object.keys(value).forEach(function (k) { if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); + tmp.push(encodeUnreserved(k)) + tmp.push(encodeValue(operator, value[k].toString())) } - }); + }) } if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + result.push(encodeUnreserved(key) + '=' + tmp.join(',')) } else if (tmp.length !== 0) { - result.push(tmp.join(",")); + result.push(tmp.join(',')) } } } } else { - if (operator === ";") { + if (operator === ';') { if (isDefined(value)) { - result.push(encodeUnreserved(key)); + result.push(encodeUnreserved(key)) } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); + } else if (value === '' && (operator === '&' || operator === '?')) { + result.push(encodeUnreserved(key) + '=') + } else if (value === '') { + result.push('') } } - return result; + return result } function parseUrl(template) { return { expand: expand.bind(null, template) - }; + } } function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; + var operators = ['+', '#', '.', '/', ';', '?', '&'] template = template.replace( /\{([^\{\}]+)\}|([^\{\}]+)/g, - function(_, expression, literal) { + function (_, expression, literal) { if (expression) { - let operator = ""; - const values = []; + let operator = '' + const values = [] if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - expression.split(/,/g).forEach(function(variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - if (operator && operator !== "+") { - var separator = ","; - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; + operator = expression.charAt(0) + expression = expression.substr(1) + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable) + values.push( + getValues(context, operator, tmp[1], tmp[2] || tmp[3]) + ) + }) + if (operator && operator !== '+') { + var separator = ',' + if (operator === '?') { + separator = '&' + } else if (operator !== '#') { + separator = operator } - return (values.length !== 0 ? operator : "") + values.join(separator); + return ( + (values.length !== 0 ? operator : '') + values.join(separator) + ) } else { - return values.join(","); + return values.join(',') } } else { - return encodeReserved(literal); + return encodeReserved(literal) } } - ); - if (template === "/") { - return template; + ) + if (template === '/') { + return template } else { - return template.replace(/\/$/, ""); + return template.replace(/\/$/, '') } } function parse2(options) { - let method = options.method.toUpperCase(); - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; + let method = options.method.toUpperCase() + let url = (options.url || '/').replace(/:([a-z]\w+)/g, '{$1}') + let headers = Object.assign({}, options.headers) + let body let parameters = omit(options, [ - "method", - "baseUrl", - "url", - "headers", - "request", - "mediaType" - ]); - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); + 'method', + 'baseUrl', + 'url', + 'headers', + 'request', + 'mediaType' + ]) + const urlVariableNames = extractUrlVariableNames(url) + url = parseUrl(url).expand(parameters) if (!/^http/.test(url)) { - url = options.baseUrl + url; + url = options.baseUrl + url } - const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + const omittedParameters = Object.keys(options) + .filter((option) => urlVariableNames.includes(option)) + .concat('baseUrl') + const remainingParameters = omit(parameters, omittedParameters) + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept) if (!isBinaryRequest) { if (options.mediaType.format) { - headers.accept = headers.accept.split(/,/).map( - (format2) => format2.replace( - /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, - `application/vnd$1$2.${options.mediaType.format}` + headers.accept = headers.accept + .split(/,/) + .map((format2) => + format2.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) ) - ).join(","); + .join(',') } - if (url.endsWith("/graphql")) { + if (url.endsWith('/graphql')) { if (options.mediaType.previews?.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { - const format2 = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format2}`; - }).join(","); - } - } - } - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); + const previewsFromAcceptHeader = + headers.accept.match(/[\w-]+(?=-preview)/g) || [] + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map((preview) => { + const format2 = options.mediaType.format + ? `.${options.mediaType.format}` + : '+json' + return `application/vnd.github.${preview}-preview${format2}` + }) + .join(',') + } + } + } + if (['GET', 'HEAD'].includes(method)) { + url = addQueryParameters(url, remainingParameters) } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; + if ('data' in remainingParameters) { + body = remainingParameters.data } else { if (Object.keys(remainingParameters).length) { - body = remainingParameters; + body = remainingParameters } } } - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; + if (!headers['content-type'] && typeof body !== 'undefined') { + headers['content-type'] = 'application/json; charset=utf-8' } - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; + if (['PATCH', 'PUT'].includes(method) && typeof body === 'undefined') { + body = '' } return Object.assign( { method, url, headers }, - typeof body !== "undefined" ? { body } : null, + typeof body !== 'undefined' ? { body } : null, options.request ? { request: options.request } : null - ); + ) } function endpointWithDefaults(defaults, route, options) { - return parse2(merge2(defaults, route, options)); + return parse2(merge2(defaults, route, options)) } function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS2 = merge2(oldDefaults, newDefaults); - const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + const DEFAULTS2 = merge2(oldDefaults, newDefaults) + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2) return Object.assign(endpoint2, { DEFAULTS: DEFAULTS2, defaults: withDefaults.bind(null, DEFAULTS2), merge: merge2.bind(null, DEFAULTS2), parse: parse2 - }); + }) } - var endpoint = withDefaults(null, DEFAULTS); + var endpoint = withDefaults(null, DEFAULTS) } -}); +}) // ../../node_modules/.pnpm/deprecation@2.3.1/node_modules/deprecation/dist-node/index.js var require_dist_node3 = __commonJS({ - "../../node_modules/.pnpm/deprecation@2.3.1/node_modules/deprecation/dist-node/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); + '../../node_modules/.pnpm/deprecation@2.3.1/node_modules/deprecation/dist-node/index.js'( + exports + ) { + 'use strict' + Object.defineProperty(exports, '__esModule', { value: true }) var Deprecation = class extends Error { constructor(message) { - super(message); + super(message) if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); + Error.captureStackTrace(this, this.constructor) } - this.name = "Deprecation"; + this.name = 'Deprecation' } - }; - exports.Deprecation = Deprecation; + } + exports.Deprecation = Deprecation } -}); +}) // ../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js var require_wrappy = __commonJS({ - "../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module2) { - module2.exports = wrappy; + '../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js'( + exports, + module2 + ) { + module2.exports = wrappy function wrappy(fn, cb) { - if (fn && cb) - return wrappy(fn)(cb); - if (typeof fn !== "function") - throw new TypeError("need wrapper function"); - Object.keys(fn).forEach(function(k) { - wrapper[k] = fn[k]; - }); - return wrapper; + if (fn && cb) return wrappy(fn)(cb) + if (typeof fn !== 'function') throw new TypeError('need wrapper function') + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + return wrapper function wrapper() { - var args = new Array(arguments.length); + var args = new Array(arguments.length) for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; + args[i] = arguments[i] } - var ret = fn.apply(this, args); - var cb2 = args[args.length - 1]; - if (typeof ret === "function" && ret !== cb2) { - Object.keys(cb2).forEach(function(k) { - ret[k] = cb2[k]; - }); + var ret = fn.apply(this, args) + var cb2 = args[args.length - 1] + if (typeof ret === 'function' && ret !== cb2) { + Object.keys(cb2).forEach(function (k) { + ret[k] = cb2[k] + }) } - return ret; + return ret } } } -}); +}) // ../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js var require_once = __commonJS({ - "../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module2) { - var wrappy = require_wrappy(); - module2.exports = wrappy(once); - module2.exports.strict = wrappy(onceStrict); - once.proto = once(function() { - Object.defineProperty(Function.prototype, "once", { - value: function() { - return once(this); + '../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js'( + exports, + module2 + ) { + var wrappy = require_wrappy() + module2.exports = wrappy(once) + module2.exports.strict = wrappy(onceStrict) + once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) }, configurable: true - }); - Object.defineProperty(Function.prototype, "onceStrict", { - value: function() { - return onceStrict(this); + }) + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) }, configurable: true - }); - }); + }) + }) function once(fn) { - var f = function() { - if (f.called) - return f.value; - f.called = true; - return f.value = fn.apply(this, arguments); - }; - f.called = false; - return f; + var f = function () { + if (f.called) return f.value + f.called = true + return (f.value = fn.apply(this, arguments)) + } + f.called = false + return f } function onceStrict(fn) { - var f = function() { - if (f.called) - throw new Error(f.onceError); - f.called = true; - return f.value = fn.apply(this, arguments); - }; - var name = fn.name || "Function wrapped with `once`"; - f.onceError = name + " shouldn't be called more than once"; - f.called = false; - return f; + var f = function () { + if (f.called) throw new Error(f.onceError) + f.called = true + return (f.value = fn.apply(this, arguments)) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f } } -}); +}) // ../../node_modules/.pnpm/@octokit+request-error@5.0.1/node_modules/@octokit/request-error/dist-node/index.js var require_dist_node4 = __commonJS({ - "../../node_modules/.pnpm/@octokit+request-error@5.0.1/node_modules/@octokit/request-error/dist-node/index.js"(exports, module2) { - "use strict"; - var __create2 = Object.create; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __getProtoOf2 = Object.getPrototypeOf; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+request-error@5.0.1/node_modules/@octokit/request-error/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __create2 = Object.create + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __getProtoOf2 = Object.getPrototypeOf + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) + } + return to + } + var __toESM2 = (mod, isNodeMode, target) => ( + (target = mod != null ? __create2(__getProtoOf2(mod)) : {}), + __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule + ? __defProp2(target, 'default', { value: mod, enumerable: true }) + : target, + mod + ) + ) + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { RequestError: () => RequestError - }); - module2.exports = __toCommonJS2(dist_src_exports); - var import_deprecation = require_dist_node3(); - var import_once = __toESM2(require_once()); - var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); - var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); + }) + module2.exports = __toCommonJS2(dist_src_exports) + var import_deprecation = require_dist_node3() + var import_once = __toESM2(require_once()) + var logOnceCode = (0, import_once.default)((deprecation) => + console.warn(deprecation) + ) + var logOnceHeaders = (0, import_once.default)((deprecation) => + console.warn(deprecation) + ) var RequestError = class extends Error { constructor(message, statusCode, options) { - super(message); + super(message) if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); + Error.captureStackTrace(this, this.constructor) } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; + this.name = 'HttpError' + this.status = statusCode + let headers + if ('headers' in options && typeof options.headers !== 'undefined') { + headers = options.headers } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; + if ('response' in options) { + this.response = options.response + headers = options.response.headers } - const requestCopy = Object.assign({}, options.request); + const requestCopy = Object.assign({}, options.request) if (options.request.headers.authorization) { requestCopy.headers = Object.assign({}, options.request.headers, { authorization: options.request.headers.authorization.replace( / .*$/, - " [REDACTED]" + ' [REDACTED]' ) - }); + }) } - requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - Object.defineProperty(this, "code", { + requestCopy.url = requestCopy.url + .replace(/\bclient_secret=\w+/g, 'client_secret=[REDACTED]') + .replace(/\baccess_token=\w+/g, 'access_token=[REDACTED]') + this.request = requestCopy + Object.defineProperty(this, 'code', { get() { logOnceCode( new import_deprecation.Deprecation( - "[@octokit/request-error] `error.code` is deprecated, use `error.status`." + '[@octokit/request-error] `error.code` is deprecated, use `error.status`.' ) - ); - return statusCode; + ) + return statusCode } - }); - Object.defineProperty(this, "headers", { + }) + Object.defineProperty(this, 'headers', { get() { logOnceHeaders( new import_deprecation.Deprecation( - "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`." + '[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.' ) - ); - return headers || {}; + ) + return headers || {} } - }); + }) } - }; + } } -}); +}) // ../../node_modules/.pnpm/@octokit+request@8.1.4/node_modules/@octokit/request/dist-node/index.js var require_dist_node5 = __commonJS({ - "../../node_modules/.pnpm/@octokit+request@8.1.4/node_modules/@octokit/request/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+request@8.1.4/node_modules/@octokit/request/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { request: () => request - }); - module2.exports = __toCommonJS2(dist_src_exports); - var import_endpoint = require_dist_node2(); - var import_universal_user_agent = require_dist_node(); - var VERSION = "8.1.4"; - var import_is_plain_object = require_is_plain_object(); - var import_request_error = require_dist_node4(); + }) + module2.exports = __toCommonJS2(dist_src_exports) + var import_endpoint = require_dist_node2() + var import_universal_user_agent = require_dist_node() + var VERSION = '8.1.4' + var import_is_plain_object = require_is_plain_object() + var import_request_error = require_dist_node4() function getBufferResponse(response) { - return response.arrayBuffer(); + return response.arrayBuffer() } function fetchWrapper(requestOptions) { - var _a, _b, _c; - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; - if ((0, import_is_plain_object.isPlainObject)(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - let { fetch } = globalThis; + var _a, _b, _c + const log = + requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console + const parseSuccessResponseBody = + ((_a = requestOptions.request) == null + ? void 0 + : _a.parseSuccessResponseBody) !== false + if ( + (0, import_is_plain_object.isPlainObject)(requestOptions.body) || + Array.isArray(requestOptions.body) + ) { + requestOptions.body = JSON.stringify(requestOptions.body) + } + let headers = {} + let status + let url + let { fetch } = globalThis if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { - fetch = requestOptions.request.fetch; + fetch = requestOptions.request.fetch } if (!fetch) { throw new Error( - "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" - ); + 'fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing' + ) } return fetch(requestOptions.url, { method: requestOptions.method, @@ -34066,408 +39038,469 @@ var require_dist_node5 = __commonJS({ signal: (_c = requestOptions.request) == null ? void 0 : _c.signal, // duplex must be set if request.body is ReadableStream or Async Iterables. // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. - ...requestOptions.body && { duplex: "half" } - }).then(async (response) => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn( - `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` - ); - } - if (status === 204 || status === 205) { - return; - } - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new import_request_error.RequestError(response.statusText, status, { - response: { - url, + ...(requestOptions.body && { duplex: 'half' }) + }) + .then(async (response) => { + url = response.url + status = response.status + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1] + } + if ('deprecation' in headers) { + const matches = + headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/) + const deprecationLink = matches && matches.pop() + log.warn( + `[@octokit/request] "${requestOptions.method} ${ + requestOptions.url + }" is deprecated. It is scheduled to be removed on ${ + headers.sunset + }${deprecationLink ? `. See ${deprecationLink}` : ''}` + ) + } + if (status === 204 || status === 205) { + return + } + if (requestOptions.method === 'HEAD') { + if (status < 400) { + return + } + throw new import_request_error.RequestError( + response.statusText, status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { - response: { - url, + { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + } + ) + } + if (status === 304) { + throw new import_request_error.RequestError( + 'Not modified', status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new import_request_error.RequestError(toErrorMessage(data), status, { - response: { - url, + { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + } + ) + } + if (status >= 400) { + const data = await getResponseData(response) + const error = new import_request_error.RequestError( + toErrorMessage(data), status, - headers, - data - }, + { + response: { + url, + status, + headers, + data + }, + request: requestOptions + } + ) + throw error + } + return parseSuccessResponseBody + ? await getResponseData(response) + : response.body + }) + .then((data) => { + return { + status, + url, + headers, + data + } + }) + .catch((error) => { + if (error instanceof import_request_error.RequestError) throw error + else if (error.name === 'AbortError') throw error + let message = error.message + if (error.name === 'TypeError' && 'cause' in error) { + if (error.cause instanceof Error) { + message = error.cause.message + } else if (typeof error.cause === 'string') { + message = error.cause + } + } + throw new import_request_error.RequestError(message, 500, { request: requestOptions - }); - throw error; - } - return parseSuccessResponseBody ? await getResponseData(response) : response.body; - }).then((data) => { - return { - status, - url, - headers, - data - }; - }).catch((error) => { - if (error instanceof import_request_error.RequestError) - throw error; - else if (error.name === "AbortError") - throw error; - let message = error.message; - if (error.name === "TypeError" && "cause" in error) { - if (error.cause instanceof Error) { - message = error.cause.message; - } else if (typeof error.cause === "string") { - message = error.cause; - } - } - throw new import_request_error.RequestError(message, 500, { - request: requestOptions - }); - }); + }) + }) } async function getResponseData(response) { - const contentType = response.headers.get("content-type"); + const contentType = response.headers.get('content-type') if (/application\/json/.test(contentType)) { - return response.json(); + return response.json() } if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); + return response.text() } - return getBufferResponse(response); + return getBufferResponse(response) } function toErrorMessage(data) { - if (typeof data === "string") - return data; - if ("message" in data) { + if (typeof data === 'string') return data + if ('message' in data) { if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + return `${data.message}: ${data.errors + .map(JSON.stringify) + .join(', ')}` } - return data.message; + return data.message } - return `Unknown error: ${JSON.stringify(data)}`; + return `Unknown error: ${JSON.stringify(data)}` } function withDefaults(oldEndpoint, newDefaults) { - const endpoint2 = oldEndpoint.defaults(newDefaults); - const newApi = function(route, parameters) { - const endpointOptions = endpoint2.merge(route, parameters); + const endpoint2 = oldEndpoint.defaults(newDefaults) + const newApi = function (route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters) if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint2.parse(endpointOptions)); + return fetchWrapper(endpoint2.parse(endpointOptions)) } const request2 = (route2, parameters2) => { return fetchWrapper( endpoint2.parse(endpoint2.merge(route2, parameters2)) - ); - }; + ) + } Object.assign(request2, { endpoint: endpoint2, defaults: withDefaults.bind(null, endpoint2) - }); - return endpointOptions.request.hook(request2, endpointOptions); - }; + }) + return endpointOptions.request.hook(request2, endpointOptions) + } return Object.assign(newApi, { endpoint: endpoint2, defaults: withDefaults.bind(null, endpoint2) - }); + }) } var request = withDefaults(import_endpoint.endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + 'user-agent': `octokit-request.js/${VERSION} ${(0, + import_universal_user_agent.getUserAgent)()}` } - }); + }) } -}); +}) // ../../node_modules/.pnpm/@octokit+graphql@7.0.2/node_modules/@octokit/graphql/dist-node/index.js var require_dist_node6 = __commonJS({ - "../../node_modules/.pnpm/@octokit+graphql@7.0.2/node_modules/@octokit/graphql/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+graphql@7.0.2/node_modules/@octokit/graphql/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { GraphqlResponseError: () => GraphqlResponseError, graphql: () => graphql2, withCustomRequest: () => withCustomRequest - }); - module2.exports = __toCommonJS2(dist_src_exports); - var import_request3 = require_dist_node5(); - var import_universal_user_agent = require_dist_node(); - var VERSION = "7.0.2"; - var import_request2 = require_dist_node5(); - var import_request = require_dist_node5(); + }) + module2.exports = __toCommonJS2(dist_src_exports) + var import_request3 = require_dist_node5() + var import_universal_user_agent = require_dist_node() + var VERSION = '7.0.2' + var import_request2 = require_dist_node5() + var import_request = require_dist_node5() function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors: -` + data.errors.map((e) => ` - ${e.message}`).join("\n"); + return ( + `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join('\n') + ) } var GraphqlResponseError = class extends Error { constructor(request2, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request2; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; - this.errors = response.errors; - this.data = response.data; + super(_buildMessageForResponseErrors(response)) + this.request = request2 + this.headers = headers + this.response = response + this.name = 'GraphqlResponseError' + this.errors = response.errors + this.data = response.data if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); + Error.captureStackTrace(this, this.constructor) } } - }; + } var NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType" - ]; - var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; - var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; + 'method', + 'baseUrl', + 'url', + 'headers', + 'request', + 'query', + 'mediaType' + ] + var FORBIDDEN_VARIABLE_OPTIONS = ['query', 'method', 'url'] + var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/ function graphql(request2, query, options) { if (options) { - if (typeof query === "string" && "query" in options) { + if (typeof query === 'string' && 'query' in options) { return Promise.reject( - new Error(`[@octokit/graphql] "query" cannot be used as variable name`) - ); + new Error( + `[@octokit/graphql] "query" cannot be used as variable name` + ) + ) } for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) - continue; + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue return Promise.reject( new Error( `[@octokit/graphql] "${key}" cannot be used as variable name` ) - ); + ) } } - const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; - const requestOptions = Object.keys( - parsedOptions - ).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; - } - if (!result.variables) { - result.variables = {}; - } - result.variables[key] = parsedOptions[key]; - return result; - }, {}); - const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + const parsedOptions = + typeof query === 'string' ? Object.assign({ query }, options) : query + const requestOptions = Object.keys(parsedOptions).reduce( + (result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key] + return result + } + if (!result.variables) { + result.variables = {} + } + result.variables[key] = parsedOptions[key] + return result + }, + {} + ) + const baseUrl = + parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + requestOptions.url = baseUrl.replace( + GHES_V3_SUFFIX_REGEX, + '/api/graphql' + ) } return request2(requestOptions).then((response) => { if (response.data.errors) { - const headers = {}; + const headers = {} for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; + headers[key] = response.headers[key] } - throw new GraphqlResponseError( - requestOptions, - headers, - response.data - ); + throw new GraphqlResponseError(requestOptions, headers, response.data) } - return response.data.data; - }); + return response.data.data + }) } function withDefaults(request2, newDefaults) { - const newRequest = request2.defaults(newDefaults); + const newRequest = request2.defaults(newDefaults) const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; + return graphql(newRequest, query, options) + } return Object.assign(newApi, { defaults: withDefaults.bind(null, newRequest), endpoint: newRequest.endpoint - }); + }) } var graphql2 = withDefaults(import_request3.request, { headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + 'user-agent': `octokit-graphql.js/${VERSION} ${(0, + import_universal_user_agent.getUserAgent)()}` }, - method: "POST", - url: "/graphql" - }); + method: 'POST', + url: '/graphql' + }) function withCustomRequest(customRequest) { return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); + method: 'POST', + url: '/graphql' + }) } } -}); +}) // ../../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-node/index.js var require_dist_node7 = __commonJS({ - "../../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { createTokenAuth: () => createTokenAuth - }); - module2.exports = __toCommonJS2(dist_src_exports); - var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; - var REGEX_IS_INSTALLATION = /^ghs_/; - var REGEX_IS_USER_TO_SERVER = /^ghu_/; + }) + module2.exports = __toCommonJS2(dist_src_exports) + var REGEX_IS_INSTALLATION_LEGACY = /^v1\./ + var REGEX_IS_INSTALLATION = /^ghs_/ + var REGEX_IS_USER_TO_SERVER = /^ghu_/ async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + const isApp = token.split(/\./).length === 3 + const isInstallation = + REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token) + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token) + const tokenType = isApp + ? 'app' + : isInstallation + ? 'installation' + : isUserToServer + ? 'user-to-server' + : 'oauth' return { - type: "token", + type: 'token', token, tokenType - }; + } } function withAuthorizationPrefix(token) { if (token.split(/\./).length === 3) { - return `bearer ${token}`; + return `bearer ${token}` } - return `token ${token}`; + return `token ${token}` } async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge( - route, - parameters - ); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); + const endpoint = request.endpoint.merge(route, parameters) + endpoint.headers.authorization = withAuthorizationPrefix(token) + return request(endpoint) } var createTokenAuth = function createTokenAuth2(token) { if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + throw new Error( + '[@octokit/auth-token] No token passed to createTokenAuth' + ) } - if (typeof token !== "string") { + if (typeof token !== 'string') { throw new Error( - "[@octokit/auth-token] Token passed to createTokenAuth is not a string" - ); + '[@octokit/auth-token] Token passed to createTokenAuth is not a string' + ) } - token = token.replace(/^(token|bearer) +/i, ""); + token = token.replace(/^(token|bearer) +/i, '') return Object.assign(auth.bind(null, token), { hook: hook.bind(null, token) - }); - }; + }) + } } -}); +}) // ../../node_modules/.pnpm/@octokit+core@5.0.1/node_modules/@octokit/core/dist-node/index.js var require_dist_node8 = __commonJS({ - "../../node_modules/.pnpm/@octokit+core@5.0.1/node_modules/@octokit/core/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+core@5.0.1/node_modules/@octokit/core/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { Octokit: () => Octokit - }); - module2.exports = __toCommonJS2(dist_src_exports); - var import_universal_user_agent = require_dist_node(); - var import_before_after_hook = require_before_after_hook(); - var import_request = require_dist_node5(); - var import_graphql = require_dist_node6(); - var import_auth_token = require_dist_node7(); - var VERSION = "5.0.1"; + }) + module2.exports = __toCommonJS2(dist_src_exports) + var import_universal_user_agent = require_dist_node() + var import_before_after_hook = require_before_after_hook() + var import_request = require_dist_node5() + var import_graphql = require_dist_node6() + var import_auth_token = require_dist_node7() + var VERSION = '5.0.1' var Octokit = class { static { - this.VERSION = VERSION; + this.VERSION = VERSION } static defaults(defaults) { const OctokitWithDefaults = class extends this { constructor(...args) { - const options = args[0] || {}; - if (typeof defaults === "function") { - super(defaults(options)); - return; + const options = args[0] || {} + if (typeof defaults === 'function') { + super(defaults(options)) + return } super( Object.assign( {}, defaults, options, - options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null + options.userAgent && defaults.userAgent + ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } + : null ) - ); + ) } - }; - return OctokitWithDefaults; + } + return OctokitWithDefaults } static { - this.plugins = []; + this.plugins = [] } /** * Attach a plugin (or many) to your Octokit instance. @@ -34476,69 +39509,72 @@ var require_dist_node8 = __commonJS({ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) */ static plugin(...newPlugins) { - const currentPlugins = this.plugins; + const currentPlugins = this.plugins const NewOctokit = class extends this { static { this.plugins = currentPlugins.concat( newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) - ); + ) } - }; - return NewOctokit; + } + return NewOctokit } constructor(options = {}) { - const hook = new import_before_after_hook.Collection(); + const hook = new import_before_after_hook.Collection() const requestDefaults = { baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request") + hook: hook.bind(null, 'request') }), mediaType: { previews: [], - format: "" + format: '' } - }; - requestDefaults.headers["user-agent"] = [ + } + requestDefaults.headers['user-agent'] = [ options.userAgent, - `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` - ].filter(Boolean).join(" "); + `octokit-core.js/${VERSION} ${(0, + import_universal_user_agent.getUserAgent)()}` + ] + .filter(Boolean) + .join(' ') if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; + requestDefaults.baseUrl = options.baseUrl } if (options.previews) { - requestDefaults.mediaType.previews = options.previews; + requestDefaults.mediaType.previews = options.previews } if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; + requestDefaults.headers['time-zone'] = options.timeZone } - this.request = import_request.request.defaults(requestDefaults); - this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); + this.request = import_request.request.defaults(requestDefaults) + this.graphql = (0, import_graphql.withCustomRequest)( + this.request + ).defaults(requestDefaults) this.log = Object.assign( { - debug: () => { - }, - info: () => { - }, + debug: () => {}, + info: () => {}, warn: console.warn.bind(console), error: console.error.bind(console) }, options.log - ); - this.hook = hook; + ) + this.hook = hook if (!options.authStrategy) { if (!options.auth) { this.auth = async () => ({ - type: "unauthenticated" - }); + type: 'unauthenticated' + }) } else { - const auth = (0, import_auth_token.createTokenAuth)(options.auth); - hook.wrap("request", auth.hook); - this.auth = auth; + const auth = (0, import_auth_token.createTokenAuth)(options.auth) + hook.wrap('request', auth.hook) + this.auth = auth } } else { - const { authStrategy, ...otherOptions } = options; + const { authStrategy, ...otherOptions } = options const auth = authStrategy( Object.assign( { @@ -34554,2003 +39590,2161 @@ var require_dist_node8 = __commonJS({ }, options.auth ) - ); - hook.wrap("request", auth.hook); - this.auth = auth; + ) + hook.wrap('request', auth.hook) + this.auth = auth } - const classConstructor = this.constructor; + const classConstructor = this.constructor classConstructor.plugins.forEach((plugin) => { - Object.assign(this, plugin(this, options)); - }); + Object.assign(this, plugin(this, options)) + }) } - }; + } } -}); +}) // ../../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@10.1.2_@octokit+core@5.0.1/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js var require_dist_node9 = __commonJS({ - "../../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@10.1.2_@octokit+core@5.0.1/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@10.1.2_@octokit+core@5.0.1/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { legacyRestEndpointMethods: () => legacyRestEndpointMethods, restEndpointMethods: () => restEndpointMethods - }); - module2.exports = __toCommonJS2(dist_src_exports); - var VERSION = "10.1.2"; + }) + module2.exports = __toCommonJS2(dist_src_exports) + var VERSION = '10.1.2' var Endpoints = { actions: { addCustomLabelsToSelfHostedRunnerForOrg: [ - "POST /orgs/{org}/actions/runners/{runner_id}/labels" + 'POST /orgs/{org}/actions/runners/{runner_id}/labels' ], addCustomLabelsToSelfHostedRunnerForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + 'POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels' ], addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + 'PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}' ], addSelectedRepoToOrgVariable: [ - "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + 'PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}' ], approveWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve' ], cancelWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel' ], createEnvironmentVariable: [ - "POST /repositories/{repository_id}/environments/{environment_name}/variables" + 'POST /repositories/{repository_id}/environments/{environment_name}/variables' ], createOrUpdateEnvironmentSecret: [ - "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + 'PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' + ], + createOrUpdateOrgSecret: [ + 'PUT /orgs/{org}/actions/secrets/{secret_name}' ], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + 'PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}' ], - createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createOrgVariable: ['POST /orgs/{org}/actions/variables'], createRegistrationTokenForOrg: [ - "POST /orgs/{org}/actions/runners/registration-token" + 'POST /orgs/{org}/actions/runners/registration-token' ], createRegistrationTokenForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/registration-token" + 'POST /repos/{owner}/{repo}/actions/runners/registration-token' + ], + createRemoveTokenForOrg: [ + 'POST /orgs/{org}/actions/runners/remove-token' ], - createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], createRemoveTokenForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/remove-token" + 'POST /repos/{owner}/{repo}/actions/runners/remove-token' ], - createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createRepoVariable: ['POST /repos/{owner}/{repo}/actions/variables'], createWorkflowDispatch: [ - "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + 'POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches' ], deleteActionsCacheById: [ - "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + 'DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}' ], deleteActionsCacheByKey: [ - "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + 'DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}' ], deleteArtifact: [ - "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + 'DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}' ], deleteEnvironmentSecret: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + 'DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' ], deleteEnvironmentVariable: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + 'DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}' ], - deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], - deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteOrgSecret: ['DELETE /orgs/{org}/actions/secrets/{secret_name}'], + deleteOrgVariable: ['DELETE /orgs/{org}/actions/variables/{name}'], deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + 'DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}' ], deleteRepoVariable: [ - "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + 'DELETE /repos/{owner}/{repo}/actions/variables/{name}' ], deleteSelfHostedRunnerFromOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}" + 'DELETE /orgs/{org}/actions/runners/{runner_id}' ], deleteSelfHostedRunnerFromRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + 'DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}' + ], + deleteWorkflowRun: [ + 'DELETE /repos/{owner}/{repo}/actions/runs/{run_id}' ], - deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], deleteWorkflowRunLogs: [ - "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + 'DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs' ], disableSelectedRepositoryGithubActionsOrganization: [ - "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + 'DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}' ], disableWorkflow: [ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + 'PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable' ], downloadArtifact: [ - "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + 'GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}' ], downloadJobLogsForWorkflowRun: [ - "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + 'GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs' ], downloadWorkflowRunAttemptLogs: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs' ], downloadWorkflowRunLogs: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs' ], enableSelectedRepositoryGithubActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + 'PUT /orgs/{org}/actions/permissions/repositories/{repository_id}' ], enableWorkflow: [ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + 'PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable' ], forceCancelWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel' ], generateRunnerJitconfigForOrg: [ - "POST /orgs/{org}/actions/runners/generate-jitconfig" + 'POST /orgs/{org}/actions/runners/generate-jitconfig' ], generateRunnerJitconfigForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + 'POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig' ], - getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], - getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheList: ['GET /repos/{owner}/{repo}/actions/caches'], + getActionsCacheUsage: ['GET /repos/{owner}/{repo}/actions/cache/usage'], getActionsCacheUsageByRepoForOrg: [ - "GET /orgs/{org}/actions/cache/usage-by-repository" + 'GET /orgs/{org}/actions/cache/usage-by-repository' ], - getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getActionsCacheUsageForOrg: ['GET /orgs/{org}/actions/cache/usage'], getAllowedActionsOrganization: [ - "GET /orgs/{org}/actions/permissions/selected-actions" + 'GET /orgs/{org}/actions/permissions/selected-actions' ], getAllowedActionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + 'GET /repos/{owner}/{repo}/actions/permissions/selected-actions' + ], + getArtifact: [ + 'GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}' ], - getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], getEnvironmentPublicKey: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" + 'GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key' ], getEnvironmentSecret: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + 'GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' ], getEnvironmentVariable: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + 'GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}' ], getGithubActionsDefaultWorkflowPermissionsOrganization: [ - "GET /orgs/{org}/actions/permissions/workflow" + 'GET /orgs/{org}/actions/permissions/workflow' ], getGithubActionsDefaultWorkflowPermissionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/workflow" + 'GET /repos/{owner}/{repo}/actions/permissions/workflow' ], getGithubActionsPermissionsOrganization: [ - "GET /orgs/{org}/actions/permissions" + 'GET /orgs/{org}/actions/permissions' ], getGithubActionsPermissionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions" + 'GET /repos/{owner}/{repo}/actions/permissions' ], - getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], - getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], - getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getJobForWorkflowRun: [ + 'GET /repos/{owner}/{repo}/actions/jobs/{job_id}' + ], + getOrgPublicKey: ['GET /orgs/{org}/actions/secrets/public-key'], + getOrgSecret: ['GET /orgs/{org}/actions/secrets/{secret_name}'], + getOrgVariable: ['GET /orgs/{org}/actions/variables/{name}'], getPendingDeploymentsForRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments' ], getRepoPermissions: [ - "GET /repos/{owner}/{repo}/actions/permissions", + 'GET /repos/{owner}/{repo}/actions/permissions', {}, - { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + { renamed: ['actions', 'getGithubActionsPermissionsRepository'] } + ], + getRepoPublicKey: [ + 'GET /repos/{owner}/{repo}/actions/secrets/public-key' + ], + getRepoSecret: [ + 'GET /repos/{owner}/{repo}/actions/secrets/{secret_name}' ], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getRepoVariable: ['GET /repos/{owner}/{repo}/actions/variables/{name}'], getReviewsForRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals' + ], + getSelfHostedRunnerForOrg: [ + 'GET /orgs/{org}/actions/runners/{runner_id}' ], - getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], getSelfHostedRunnerForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + 'GET /repos/{owner}/{repo}/actions/runners/{runner_id}' + ], + getWorkflow: [ + 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}' ], - getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], getWorkflowAccessToRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/access" + 'GET /repos/{owner}/{repo}/actions/permissions/access' ], - getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}'], getWorkflowRunAttempt: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}' ], getWorkflowRunUsage: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing' ], getWorkflowUsage: [ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing' ], - listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listArtifactsForRepo: ['GET /repos/{owner}/{repo}/actions/artifacts'], listEnvironmentSecrets: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets" + 'GET /repositories/{repository_id}/environments/{environment_name}/secrets' ], listEnvironmentVariables: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables" + 'GET /repositories/{repository_id}/environments/{environment_name}/variables' ], listJobsForWorkflowRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs' ], listJobsForWorkflowRunAttempt: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs' ], listLabelsForSelfHostedRunnerForOrg: [ - "GET /orgs/{org}/actions/runners/{runner_id}/labels" + 'GET /orgs/{org}/actions/runners/{runner_id}/labels' ], listLabelsForSelfHostedRunnerForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + 'GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels' ], - listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], - listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listOrgSecrets: ['GET /orgs/{org}/actions/secrets'], + listOrgVariables: ['GET /orgs/{org}/actions/variables'], listRepoOrganizationSecrets: [ - "GET /repos/{owner}/{repo}/actions/organization-secrets" + 'GET /repos/{owner}/{repo}/actions/organization-secrets' ], listRepoOrganizationVariables: [ - "GET /repos/{owner}/{repo}/actions/organization-variables" + 'GET /repos/{owner}/{repo}/actions/organization-variables' + ], + listRepoSecrets: ['GET /repos/{owner}/{repo}/actions/secrets'], + listRepoVariables: ['GET /repos/{owner}/{repo}/actions/variables'], + listRepoWorkflows: ['GET /repos/{owner}/{repo}/actions/workflows'], + listRunnerApplicationsForOrg: [ + 'GET /orgs/{org}/actions/runners/downloads' ], - listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], - listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], - listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], - listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], listRunnerApplicationsForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/downloads" + 'GET /repos/{owner}/{repo}/actions/runners/downloads' ], listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + 'GET /orgs/{org}/actions/secrets/{secret_name}/repositories' ], listSelectedReposForOrgVariable: [ - "GET /orgs/{org}/actions/variables/{name}/repositories" + 'GET /orgs/{org}/actions/variables/{name}/repositories' ], listSelectedRepositoriesEnabledGithubActionsOrganization: [ - "GET /orgs/{org}/actions/permissions/repositories" + 'GET /orgs/{org}/actions/permissions/repositories' + ], + listSelfHostedRunnersForOrg: ['GET /orgs/{org}/actions/runners'], + listSelfHostedRunnersForRepo: [ + 'GET /repos/{owner}/{repo}/actions/runners' ], - listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], - listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], listWorkflowRunArtifacts: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts' ], listWorkflowRuns: [ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs' ], - listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + listWorkflowRunsForRepo: ['GET /repos/{owner}/{repo}/actions/runs'], reRunJobForWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + 'POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun' + ], + reRunWorkflow: [ + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun' ], - reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], reRunWorkflowFailedJobs: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs' ], removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + 'DELETE /orgs/{org}/actions/runners/{runner_id}/labels' ], removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + 'DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels' ], removeCustomLabelFromSelfHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + 'DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}' ], removeCustomLabelFromSelfHostedRunnerForRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + 'DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}' ], removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + 'DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}' ], removeSelectedRepoFromOrgVariable: [ - "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + 'DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}' ], reviewCustomGatesForRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule' ], reviewPendingDeploymentsForRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + 'POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments' ], setAllowedActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/selected-actions" + 'PUT /orgs/{org}/actions/permissions/selected-actions' ], setAllowedActionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + 'PUT /repos/{owner}/{repo}/actions/permissions/selected-actions' ], setCustomLabelsForSelfHostedRunnerForOrg: [ - "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + 'PUT /orgs/{org}/actions/runners/{runner_id}/labels' ], setCustomLabelsForSelfHostedRunnerForRepo: [ - "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + 'PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels' ], setGithubActionsDefaultWorkflowPermissionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/workflow" + 'PUT /orgs/{org}/actions/permissions/workflow' ], setGithubActionsDefaultWorkflowPermissionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + 'PUT /repos/{owner}/{repo}/actions/permissions/workflow' ], setGithubActionsPermissionsOrganization: [ - "PUT /orgs/{org}/actions/permissions" + 'PUT /orgs/{org}/actions/permissions' ], setGithubActionsPermissionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions" + 'PUT /repos/{owner}/{repo}/actions/permissions' ], setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + 'PUT /orgs/{org}/actions/secrets/{secret_name}/repositories' ], setSelectedReposForOrgVariable: [ - "PUT /orgs/{org}/actions/variables/{name}/repositories" + 'PUT /orgs/{org}/actions/variables/{name}/repositories' ], setSelectedRepositoriesEnabledGithubActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/repositories" + 'PUT /orgs/{org}/actions/permissions/repositories' ], setWorkflowAccessToRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/access" + 'PUT /repos/{owner}/{repo}/actions/permissions/access' ], updateEnvironmentVariable: [ - "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + 'PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}' ], - updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateOrgVariable: ['PATCH /orgs/{org}/actions/variables/{name}'], updateRepoVariable: [ - "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + 'PATCH /repos/{owner}/{repo}/actions/variables/{name}' ] }, activity: { - checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], - deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + checkRepoIsStarredByAuthenticatedUser: [ + 'GET /user/starred/{owner}/{repo}' + ], + deleteRepoSubscription: ['DELETE /repos/{owner}/{repo}/subscription'], deleteThreadSubscription: [ - "DELETE /notifications/threads/{thread_id}/subscription" + 'DELETE /notifications/threads/{thread_id}/subscription' ], - getFeeds: ["GET /feeds"], - getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], - getThread: ["GET /notifications/threads/{thread_id}"], + getFeeds: ['GET /feeds'], + getRepoSubscription: ['GET /repos/{owner}/{repo}/subscription'], + getThread: ['GET /notifications/threads/{thread_id}'], getThreadSubscriptionForAuthenticatedUser: [ - "GET /notifications/threads/{thread_id}/subscription" + 'GET /notifications/threads/{thread_id}/subscription' ], - listEventsForAuthenticatedUser: ["GET /users/{username}/events"], - listNotificationsForAuthenticatedUser: ["GET /notifications"], + listEventsForAuthenticatedUser: ['GET /users/{username}/events'], + listNotificationsForAuthenticatedUser: ['GET /notifications'], listOrgEventsForAuthenticatedUser: [ - "GET /users/{username}/events/orgs/{org}" + 'GET /users/{username}/events/orgs/{org}' ], - listPublicEvents: ["GET /events"], - listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], - listPublicEventsForUser: ["GET /users/{username}/events/public"], - listPublicOrgEvents: ["GET /orgs/{org}/events"], - listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listPublicEvents: ['GET /events'], + listPublicEventsForRepoNetwork: ['GET /networks/{owner}/{repo}/events'], + listPublicEventsForUser: ['GET /users/{username}/events/public'], + listPublicOrgEvents: ['GET /orgs/{org}/events'], + listReceivedEventsForUser: ['GET /users/{username}/received_events'], listReceivedPublicEventsForUser: [ - "GET /users/{username}/received_events/public" + 'GET /users/{username}/received_events/public' ], - listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoEvents: ['GET /repos/{owner}/{repo}/events'], listRepoNotificationsForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/notifications" - ], - listReposStarredByAuthenticatedUser: ["GET /user/starred"], - listReposStarredByUser: ["GET /users/{username}/starred"], - listReposWatchedByUser: ["GET /users/{username}/subscriptions"], - listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], - listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], - listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], - markNotificationsAsRead: ["PUT /notifications"], - markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], - markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], - setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + 'GET /repos/{owner}/{repo}/notifications' + ], + listReposStarredByAuthenticatedUser: ['GET /user/starred'], + listReposStarredByUser: ['GET /users/{username}/starred'], + listReposWatchedByUser: ['GET /users/{username}/subscriptions'], + listStargazersForRepo: ['GET /repos/{owner}/{repo}/stargazers'], + listWatchedReposForAuthenticatedUser: ['GET /user/subscriptions'], + listWatchersForRepo: ['GET /repos/{owner}/{repo}/subscribers'], + markNotificationsAsRead: ['PUT /notifications'], + markRepoNotificationsAsRead: [ + 'PUT /repos/{owner}/{repo}/notifications' + ], + markThreadAsRead: ['PATCH /notifications/threads/{thread_id}'], + setRepoSubscription: ['PUT /repos/{owner}/{repo}/subscription'], setThreadSubscription: [ - "PUT /notifications/threads/{thread_id}/subscription" + 'PUT /notifications/threads/{thread_id}/subscription' ], - starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], - unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + starRepoForAuthenticatedUser: ['PUT /user/starred/{owner}/{repo}'], + unstarRepoForAuthenticatedUser: ['DELETE /user/starred/{owner}/{repo}'] }, apps: { addRepoToInstallation: [ - "PUT /user/installations/{installation_id}/repositories/{repository_id}", + 'PUT /user/installations/{installation_id}/repositories/{repository_id}', {}, - { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + { renamed: ['apps', 'addRepoToInstallationForAuthenticatedUser'] } ], addRepoToInstallationForAuthenticatedUser: [ - "PUT /user/installations/{installation_id}/repositories/{repository_id}" + 'PUT /user/installations/{installation_id}/repositories/{repository_id}' ], - checkToken: ["POST /applications/{client_id}/token"], - createFromManifest: ["POST /app-manifests/{code}/conversions"], + checkToken: ['POST /applications/{client_id}/token'], + createFromManifest: ['POST /app-manifests/{code}/conversions'], createInstallationAccessToken: [ - "POST /app/installations/{installation_id}/access_tokens" - ], - deleteAuthorization: ["DELETE /applications/{client_id}/grant"], - deleteInstallation: ["DELETE /app/installations/{installation_id}"], - deleteToken: ["DELETE /applications/{client_id}/token"], - getAuthenticated: ["GET /app"], - getBySlug: ["GET /apps/{app_slug}"], - getInstallation: ["GET /app/installations/{installation_id}"], - getOrgInstallation: ["GET /orgs/{org}/installation"], - getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + 'POST /app/installations/{installation_id}/access_tokens' + ], + deleteAuthorization: ['DELETE /applications/{client_id}/grant'], + deleteInstallation: ['DELETE /app/installations/{installation_id}'], + deleteToken: ['DELETE /applications/{client_id}/token'], + getAuthenticated: ['GET /app'], + getBySlug: ['GET /apps/{app_slug}'], + getInstallation: ['GET /app/installations/{installation_id}'], + getOrgInstallation: ['GET /orgs/{org}/installation'], + getRepoInstallation: ['GET /repos/{owner}/{repo}/installation'], getSubscriptionPlanForAccount: [ - "GET /marketplace_listing/accounts/{account_id}" + 'GET /marketplace_listing/accounts/{account_id}' ], getSubscriptionPlanForAccountStubbed: [ - "GET /marketplace_listing/stubbed/accounts/{account_id}" + 'GET /marketplace_listing/stubbed/accounts/{account_id}' + ], + getUserInstallation: ['GET /users/{username}/installation'], + getWebhookConfigForApp: ['GET /app/hook/config'], + getWebhookDelivery: ['GET /app/hook/deliveries/{delivery_id}'], + listAccountsForPlan: [ + 'GET /marketplace_listing/plans/{plan_id}/accounts' ], - getUserInstallation: ["GET /users/{username}/installation"], - getWebhookConfigForApp: ["GET /app/hook/config"], - getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], - listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], listAccountsForPlanStubbed: [ - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + 'GET /marketplace_listing/stubbed/plans/{plan_id}/accounts' ], listInstallationReposForAuthenticatedUser: [ - "GET /user/installations/{installation_id}/repositories" + 'GET /user/installations/{installation_id}/repositories' ], listInstallationRequestsForAuthenticatedApp: [ - "GET /app/installation-requests" - ], - listInstallations: ["GET /app/installations"], - listInstallationsForAuthenticatedUser: ["GET /user/installations"], - listPlans: ["GET /marketplace_listing/plans"], - listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], - listReposAccessibleToInstallation: ["GET /installation/repositories"], - listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + 'GET /app/installation-requests' + ], + listInstallations: ['GET /app/installations'], + listInstallationsForAuthenticatedUser: ['GET /user/installations'], + listPlans: ['GET /marketplace_listing/plans'], + listPlansStubbed: ['GET /marketplace_listing/stubbed/plans'], + listReposAccessibleToInstallation: ['GET /installation/repositories'], + listSubscriptionsForAuthenticatedUser: [ + 'GET /user/marketplace_purchases' + ], listSubscriptionsForAuthenticatedUserStubbed: [ - "GET /user/marketplace_purchases/stubbed" + 'GET /user/marketplace_purchases/stubbed' ], - listWebhookDeliveries: ["GET /app/hook/deliveries"], + listWebhookDeliveries: ['GET /app/hook/deliveries'], redeliverWebhookDelivery: [ - "POST /app/hook/deliveries/{delivery_id}/attempts" + 'POST /app/hook/deliveries/{delivery_id}/attempts' ], removeRepoFromInstallation: [ - "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + 'DELETE /user/installations/{installation_id}/repositories/{repository_id}', {}, - { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + { + renamed: ['apps', 'removeRepoFromInstallationForAuthenticatedUser'] + } ], removeRepoFromInstallationForAuthenticatedUser: [ - "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + 'DELETE /user/installations/{installation_id}/repositories/{repository_id}' + ], + resetToken: ['PATCH /applications/{client_id}/token'], + revokeInstallationAccessToken: ['DELETE /installation/token'], + scopeToken: ['POST /applications/{client_id}/token/scoped'], + suspendInstallation: [ + 'PUT /app/installations/{installation_id}/suspended' ], - resetToken: ["PATCH /applications/{client_id}/token"], - revokeInstallationAccessToken: ["DELETE /installation/token"], - scopeToken: ["POST /applications/{client_id}/token/scoped"], - suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], unsuspendInstallation: [ - "DELETE /app/installations/{installation_id}/suspended" + 'DELETE /app/installations/{installation_id}/suspended' ], - updateWebhookConfigForApp: ["PATCH /app/hook/config"] + updateWebhookConfigForApp: ['PATCH /app/hook/config'] }, billing: { - getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingOrg: [ + 'GET /orgs/{org}/settings/billing/actions' + ], getGithubActionsBillingUser: [ - "GET /users/{username}/settings/billing/actions" + 'GET /users/{username}/settings/billing/actions' + ], + getGithubPackagesBillingOrg: [ + 'GET /orgs/{org}/settings/billing/packages' ], - getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], getGithubPackagesBillingUser: [ - "GET /users/{username}/settings/billing/packages" + 'GET /users/{username}/settings/billing/packages' ], getSharedStorageBillingOrg: [ - "GET /orgs/{org}/settings/billing/shared-storage" + 'GET /orgs/{org}/settings/billing/shared-storage' ], getSharedStorageBillingUser: [ - "GET /users/{username}/settings/billing/shared-storage" + 'GET /users/{username}/settings/billing/shared-storage' ] }, checks: { - create: ["POST /repos/{owner}/{repo}/check-runs"], - createSuite: ["POST /repos/{owner}/{repo}/check-suites"], - get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], - getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + create: ['POST /repos/{owner}/{repo}/check-runs'], + createSuite: ['POST /repos/{owner}/{repo}/check-suites'], + get: ['GET /repos/{owner}/{repo}/check-runs/{check_run_id}'], + getSuite: ['GET /repos/{owner}/{repo}/check-suites/{check_suite_id}'], listAnnotations: [ - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + 'GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations' ], - listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-runs'], listForSuite: [ - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + 'GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs' + ], + listSuitesForRef: [ + 'GET /repos/{owner}/{repo}/commits/{ref}/check-suites' ], - listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], rerequestRun: [ - "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + 'POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest' ], rerequestSuite: [ - "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + 'POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest' ], setSuitesPreferences: [ - "PATCH /repos/{owner}/{repo}/check-suites/preferences" + 'PATCH /repos/{owner}/{repo}/check-suites/preferences' ], - update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + update: ['PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}'] }, codeScanning: { deleteAnalysis: [ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + 'DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}' ], getAlert: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', {}, - { renamedParameters: { alert_id: "alert_number" } } + { renamedParameters: { alert_id: 'alert_number' } } ], getAnalysis: [ - "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + 'GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}' ], getCodeqlDatabase: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + 'GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}' ], - getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], - getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + getDefaultSetup: [ + 'GET /repos/{owner}/{repo}/code-scanning/default-setup' + ], + getSarif: ['GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}'], listAlertInstances: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances' ], - listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsForOrg: ['GET /orgs/{org}/code-scanning/alerts'], + listAlertsForRepo: ['GET /repos/{owner}/{repo}/code-scanning/alerts'], listAlertsInstances: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', {}, - { renamed: ["codeScanning", "listAlertInstances"] } + { renamed: ['codeScanning', 'listAlertInstances'] } ], listCodeqlDatabases: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + 'GET /repos/{owner}/{repo}/code-scanning/codeql/databases' + ], + listRecentAnalyses: [ + 'GET /repos/{owner}/{repo}/code-scanning/analyses' ], - listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], updateAlert: [ - "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + 'PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}' ], updateDefaultSetup: [ - "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + 'PATCH /repos/{owner}/{repo}/code-scanning/default-setup' ], - uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + uploadSarif: ['POST /repos/{owner}/{repo}/code-scanning/sarifs'] }, codesOfConduct: { - getAllCodesOfConduct: ["GET /codes_of_conduct"], - getConductCode: ["GET /codes_of_conduct/{key}"] + getAllCodesOfConduct: ['GET /codes_of_conduct'], + getConductCode: ['GET /codes_of_conduct/{key}'] }, codespaces: { addRepositoryForSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + 'PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}' ], addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + 'PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}' ], checkPermissionsForDevcontainer: [ - "GET /repos/{owner}/{repo}/codespaces/permissions_check" + 'GET /repos/{owner}/{repo}/codespaces/permissions_check' ], codespaceMachinesForAuthenticatedUser: [ - "GET /user/codespaces/{codespace_name}/machines" + 'GET /user/codespaces/{codespace_name}/machines' ], - createForAuthenticatedUser: ["POST /user/codespaces"], + createForAuthenticatedUser: ['POST /user/codespaces'], createOrUpdateOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + 'PUT /orgs/{org}/codespaces/secrets/{secret_name}' ], createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + 'PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}' ], createOrUpdateSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}" + 'PUT /user/codespaces/secrets/{secret_name}' ], createWithPrForAuthenticatedUser: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + 'POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces' ], createWithRepoForAuthenticatedUser: [ - "POST /repos/{owner}/{repo}/codespaces" + 'POST /repos/{owner}/{repo}/codespaces' + ], + deleteForAuthenticatedUser: [ + 'DELETE /user/codespaces/{codespace_name}' ], - deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], deleteFromOrganization: [ - "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + 'DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}' + ], + deleteOrgSecret: [ + 'DELETE /orgs/{org}/codespaces/secrets/{secret_name}' ], - deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + 'DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}' ], deleteSecretForAuthenticatedUser: [ - "DELETE /user/codespaces/secrets/{secret_name}" + 'DELETE /user/codespaces/secrets/{secret_name}' ], exportForAuthenticatedUser: [ - "POST /user/codespaces/{codespace_name}/exports" + 'POST /user/codespaces/{codespace_name}/exports' ], getCodespacesForUserInOrg: [ - "GET /orgs/{org}/members/{username}/codespaces" + 'GET /orgs/{org}/members/{username}/codespaces' ], getExportDetailsForAuthenticatedUser: [ - "GET /user/codespaces/{codespace_name}/exports/{export_id}" + 'GET /user/codespaces/{codespace_name}/exports/{export_id}' ], - getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], - getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}'], + getOrgPublicKey: ['GET /orgs/{org}/codespaces/secrets/public-key'], + getOrgSecret: ['GET /orgs/{org}/codespaces/secrets/{secret_name}'], getPublicKeyForAuthenticatedUser: [ - "GET /user/codespaces/secrets/public-key" + 'GET /user/codespaces/secrets/public-key' ], getRepoPublicKey: [ - "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + 'GET /repos/{owner}/{repo}/codespaces/secrets/public-key' ], getRepoSecret: [ - "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + 'GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}' ], getSecretForAuthenticatedUser: [ - "GET /user/codespaces/secrets/{secret_name}" + 'GET /user/codespaces/secrets/{secret_name}' ], listDevcontainersInRepositoryForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/devcontainers" + 'GET /repos/{owner}/{repo}/codespaces/devcontainers' ], - listForAuthenticatedUser: ["GET /user/codespaces"], + listForAuthenticatedUser: ['GET /user/codespaces'], listInOrganization: [ - "GET /orgs/{org}/codespaces", + 'GET /orgs/{org}/codespaces', {}, - { renamedParameters: { org_id: "org" } } + { renamedParameters: { org_id: 'org' } } ], listInRepositoryForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces" + 'GET /repos/{owner}/{repo}/codespaces' ], - listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listOrgSecrets: ['GET /orgs/{org}/codespaces/secrets'], + listRepoSecrets: ['GET /repos/{owner}/{repo}/codespaces/secrets'], listRepositoriesForSecretForAuthenticatedUser: [ - "GET /user/codespaces/secrets/{secret_name}/repositories" + 'GET /user/codespaces/secrets/{secret_name}/repositories' ], - listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSecretsForAuthenticatedUser: ['GET /user/codespaces/secrets'], listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + 'GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories' ], preFlightWithRepoForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/new" + 'GET /repos/{owner}/{repo}/codespaces/new' ], publishForAuthenticatedUser: [ - "POST /user/codespaces/{codespace_name}/publish" + 'POST /user/codespaces/{codespace_name}/publish' ], removeRepositoryForSecretForAuthenticatedUser: [ - "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + 'DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}' ], removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + 'DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}' ], repoMachinesForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/machines" + 'GET /repos/{owner}/{repo}/codespaces/machines' ], setRepositoriesForSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}/repositories" + 'PUT /user/codespaces/secrets/{secret_name}/repositories' ], setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + 'PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories' + ], + startForAuthenticatedUser: [ + 'POST /user/codespaces/{codespace_name}/start' + ], + stopForAuthenticatedUser: [ + 'POST /user/codespaces/{codespace_name}/stop' ], - startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], - stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], stopInOrganization: [ - "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + 'POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop' ], - updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + updateForAuthenticatedUser: ['PATCH /user/codespaces/{codespace_name}'] }, copilot: { addCopilotForBusinessSeatsForTeams: [ - "POST /orgs/{org}/copilot/billing/selected_teams" + 'POST /orgs/{org}/copilot/billing/selected_teams' ], addCopilotForBusinessSeatsForUsers: [ - "POST /orgs/{org}/copilot/billing/selected_users" + 'POST /orgs/{org}/copilot/billing/selected_users' ], cancelCopilotSeatAssignmentForTeams: [ - "DELETE /orgs/{org}/copilot/billing/selected_teams" + 'DELETE /orgs/{org}/copilot/billing/selected_teams' ], cancelCopilotSeatAssignmentForUsers: [ - "DELETE /orgs/{org}/copilot/billing/selected_users" + 'DELETE /orgs/{org}/copilot/billing/selected_users' ], - getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotOrganizationDetails: ['GET /orgs/{org}/copilot/billing'], getCopilotSeatDetailsForUser: [ - "GET /orgs/{org}/members/{username}/copilot" + 'GET /orgs/{org}/members/{username}/copilot' ], - listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] + listCopilotSeats: ['GET /orgs/{org}/copilot/billing/seats'] }, dependabot: { addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + 'PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}' ], createOrUpdateOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + 'PUT /orgs/{org}/dependabot/secrets/{secret_name}' ], createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + 'PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}' + ], + deleteOrgSecret: [ + 'DELETE /orgs/{org}/dependabot/secrets/{secret_name}' ], - deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + 'DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}' + ], + getAlert: [ + 'GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}' ], - getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], - getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getOrgPublicKey: ['GET /orgs/{org}/dependabot/secrets/public-key'], + getOrgSecret: ['GET /orgs/{org}/dependabot/secrets/{secret_name}'], getRepoPublicKey: [ - "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + 'GET /repos/{owner}/{repo}/dependabot/secrets/public-key' ], getRepoSecret: [ - "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + 'GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}' ], listAlertsForEnterprise: [ - "GET /enterprises/{enterprise}/dependabot/alerts" + 'GET /enterprises/{enterprise}/dependabot/alerts' ], - listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], - listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listAlertsForOrg: ['GET /orgs/{org}/dependabot/alerts'], + listAlertsForRepo: ['GET /repos/{owner}/{repo}/dependabot/alerts'], + listOrgSecrets: ['GET /orgs/{org}/dependabot/secrets'], + listRepoSecrets: ['GET /repos/{owner}/{repo}/dependabot/secrets'], listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + 'GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories' ], removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + 'DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}' ], setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + 'PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories' ], updateAlert: [ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + 'PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}' ] }, dependencyGraph: { createRepositorySnapshot: [ - "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + 'POST /repos/{owner}/{repo}/dependency-graph/snapshots' ], diffRange: [ - "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + 'GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}' ], - exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + exportSbom: ['GET /repos/{owner}/{repo}/dependency-graph/sbom'] }, - emojis: { get: ["GET /emojis"] }, + emojis: { get: ['GET /emojis'] }, gists: { - checkIsStarred: ["GET /gists/{gist_id}/star"], - create: ["POST /gists"], - createComment: ["POST /gists/{gist_id}/comments"], - delete: ["DELETE /gists/{gist_id}"], - deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], - fork: ["POST /gists/{gist_id}/forks"], - get: ["GET /gists/{gist_id}"], - getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], - getRevision: ["GET /gists/{gist_id}/{sha}"], - list: ["GET /gists"], - listComments: ["GET /gists/{gist_id}/comments"], - listCommits: ["GET /gists/{gist_id}/commits"], - listForUser: ["GET /users/{username}/gists"], - listForks: ["GET /gists/{gist_id}/forks"], - listPublic: ["GET /gists/public"], - listStarred: ["GET /gists/starred"], - star: ["PUT /gists/{gist_id}/star"], - unstar: ["DELETE /gists/{gist_id}/star"], - update: ["PATCH /gists/{gist_id}"], - updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + checkIsStarred: ['GET /gists/{gist_id}/star'], + create: ['POST /gists'], + createComment: ['POST /gists/{gist_id}/comments'], + delete: ['DELETE /gists/{gist_id}'], + deleteComment: ['DELETE /gists/{gist_id}/comments/{comment_id}'], + fork: ['POST /gists/{gist_id}/forks'], + get: ['GET /gists/{gist_id}'], + getComment: ['GET /gists/{gist_id}/comments/{comment_id}'], + getRevision: ['GET /gists/{gist_id}/{sha}'], + list: ['GET /gists'], + listComments: ['GET /gists/{gist_id}/comments'], + listCommits: ['GET /gists/{gist_id}/commits'], + listForUser: ['GET /users/{username}/gists'], + listForks: ['GET /gists/{gist_id}/forks'], + listPublic: ['GET /gists/public'], + listStarred: ['GET /gists/starred'], + star: ['PUT /gists/{gist_id}/star'], + unstar: ['DELETE /gists/{gist_id}/star'], + update: ['PATCH /gists/{gist_id}'], + updateComment: ['PATCH /gists/{gist_id}/comments/{comment_id}'] }, git: { - createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], - createCommit: ["POST /repos/{owner}/{repo}/git/commits"], - createRef: ["POST /repos/{owner}/{repo}/git/refs"], - createTag: ["POST /repos/{owner}/{repo}/git/tags"], - createTree: ["POST /repos/{owner}/{repo}/git/trees"], - deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], - getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], - getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], - getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], - getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], - getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], - listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], - updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + createBlob: ['POST /repos/{owner}/{repo}/git/blobs'], + createCommit: ['POST /repos/{owner}/{repo}/git/commits'], + createRef: ['POST /repos/{owner}/{repo}/git/refs'], + createTag: ['POST /repos/{owner}/{repo}/git/tags'], + createTree: ['POST /repos/{owner}/{repo}/git/trees'], + deleteRef: ['DELETE /repos/{owner}/{repo}/git/refs/{ref}'], + getBlob: ['GET /repos/{owner}/{repo}/git/blobs/{file_sha}'], + getCommit: ['GET /repos/{owner}/{repo}/git/commits/{commit_sha}'], + getRef: ['GET /repos/{owner}/{repo}/git/ref/{ref}'], + getTag: ['GET /repos/{owner}/{repo}/git/tags/{tag_sha}'], + getTree: ['GET /repos/{owner}/{repo}/git/trees/{tree_sha}'], + listMatchingRefs: ['GET /repos/{owner}/{repo}/git/matching-refs/{ref}'], + updateRef: ['PATCH /repos/{owner}/{repo}/git/refs/{ref}'] }, gitignore: { - getAllTemplates: ["GET /gitignore/templates"], - getTemplate: ["GET /gitignore/templates/{name}"] + getAllTemplates: ['GET /gitignore/templates'], + getTemplate: ['GET /gitignore/templates/{name}'] }, interactions: { - getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], - getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], - getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForAuthenticatedUser: ['GET /user/interaction-limits'], + getRestrictionsForOrg: ['GET /orgs/{org}/interaction-limits'], + getRestrictionsForRepo: [ + 'GET /repos/{owner}/{repo}/interaction-limits' + ], getRestrictionsForYourPublicRepos: [ - "GET /user/interaction-limits", + 'GET /user/interaction-limits', {}, - { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + { renamed: ['interactions', 'getRestrictionsForAuthenticatedUser'] } ], - removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], - removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForAuthenticatedUser: [ + 'DELETE /user/interaction-limits' + ], + removeRestrictionsForOrg: ['DELETE /orgs/{org}/interaction-limits'], removeRestrictionsForRepo: [ - "DELETE /repos/{owner}/{repo}/interaction-limits" + 'DELETE /repos/{owner}/{repo}/interaction-limits' ], removeRestrictionsForYourPublicRepos: [ - "DELETE /user/interaction-limits", + 'DELETE /user/interaction-limits', {}, - { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + { + renamed: ['interactions', 'removeRestrictionsForAuthenticatedUser'] + } + ], + setRestrictionsForAuthenticatedUser: ['PUT /user/interaction-limits'], + setRestrictionsForOrg: ['PUT /orgs/{org}/interaction-limits'], + setRestrictionsForRepo: [ + 'PUT /repos/{owner}/{repo}/interaction-limits' ], - setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], - setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], - setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], setRestrictionsForYourPublicRepos: [ - "PUT /user/interaction-limits", + 'PUT /user/interaction-limits', {}, - { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + { renamed: ['interactions', 'setRestrictionsForAuthenticatedUser'] } ] }, issues: { addAssignees: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + 'POST /repos/{owner}/{repo}/issues/{issue_number}/assignees' + ], + addLabels: ['POST /repos/{owner}/{repo}/issues/{issue_number}/labels'], + checkUserCanBeAssigned: [ + 'GET /repos/{owner}/{repo}/assignees/{assignee}' ], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], checkUserCanBeAssignedToIssue: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + 'GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}' ], - create: ["POST /repos/{owner}/{repo}/issues"], + create: ['POST /repos/{owner}/{repo}/issues'], createComment: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + 'POST /repos/{owner}/{repo}/issues/{issue_number}/comments' ], - createLabel: ["POST /repos/{owner}/{repo}/labels"], - createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + createLabel: ['POST /repos/{owner}/{repo}/labels'], + createMilestone: ['POST /repos/{owner}/{repo}/milestones'], deleteComment: [ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + 'DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}' ], - deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteLabel: ['DELETE /repos/{owner}/{repo}/labels/{name}'], deleteMilestone: [ - "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" - ], - get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], - getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], - getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], - getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], - getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], - list: ["GET /issues"], - listAssignees: ["GET /repos/{owner}/{repo}/assignees"], - listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], - listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], - listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], - listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + 'DELETE /repos/{owner}/{repo}/milestones/{milestone_number}' + ], + get: ['GET /repos/{owner}/{repo}/issues/{issue_number}'], + getComment: ['GET /repos/{owner}/{repo}/issues/comments/{comment_id}'], + getEvent: ['GET /repos/{owner}/{repo}/issues/events/{event_id}'], + getLabel: ['GET /repos/{owner}/{repo}/labels/{name}'], + getMilestone: [ + 'GET /repos/{owner}/{repo}/milestones/{milestone_number}' + ], + list: ['GET /issues'], + listAssignees: ['GET /repos/{owner}/{repo}/assignees'], + listComments: [ + 'GET /repos/{owner}/{repo}/issues/{issue_number}/comments' + ], + listCommentsForRepo: ['GET /repos/{owner}/{repo}/issues/comments'], + listEvents: ['GET /repos/{owner}/{repo}/issues/{issue_number}/events'], + listEventsForRepo: ['GET /repos/{owner}/{repo}/issues/events'], listEventsForTimeline: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + 'GET /repos/{owner}/{repo}/issues/{issue_number}/timeline' ], - listForAuthenticatedUser: ["GET /user/issues"], - listForOrg: ["GET /orgs/{org}/issues"], - listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listForAuthenticatedUser: ['GET /user/issues'], + listForOrg: ['GET /orgs/{org}/issues'], + listForRepo: ['GET /repos/{owner}/{repo}/issues'], listLabelsForMilestone: [ - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + 'GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels' ], - listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsForRepo: ['GET /repos/{owner}/{repo}/labels'], listLabelsOnIssue: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + 'GET /repos/{owner}/{repo}/issues/{issue_number}/labels' ], - listMilestones: ["GET /repos/{owner}/{repo}/milestones"], - lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + listMilestones: ['GET /repos/{owner}/{repo}/milestones'], + lock: ['PUT /repos/{owner}/{repo}/issues/{issue_number}/lock'], removeAllLabels: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + 'DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels' ], removeAssignees: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + 'DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees' ], removeLabel: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + 'DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}' + ], + setLabels: ['PUT /repos/{owner}/{repo}/issues/{issue_number}/labels'], + unlock: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock'], + update: ['PATCH /repos/{owner}/{repo}/issues/{issue_number}'], + updateComment: [ + 'PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}' ], - setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], - unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], - update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], - updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], - updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateLabel: ['PATCH /repos/{owner}/{repo}/labels/{name}'], updateMilestone: [ - "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + 'PATCH /repos/{owner}/{repo}/milestones/{milestone_number}' ] }, licenses: { - get: ["GET /licenses/{license}"], - getAllCommonlyUsed: ["GET /licenses"], - getForRepo: ["GET /repos/{owner}/{repo}/license"] + get: ['GET /licenses/{license}'], + getAllCommonlyUsed: ['GET /licenses'], + getForRepo: ['GET /repos/{owner}/{repo}/license'] }, markdown: { - render: ["POST /markdown"], + render: ['POST /markdown'], renderRaw: [ - "POST /markdown/raw", - { headers: { "content-type": "text/plain; charset=utf-8" } } + 'POST /markdown/raw', + { headers: { 'content-type': 'text/plain; charset=utf-8' } } ] }, meta: { - get: ["GET /meta"], - getAllVersions: ["GET /versions"], - getOctocat: ["GET /octocat"], - getZen: ["GET /zen"], - root: ["GET /"] + get: ['GET /meta'], + getAllVersions: ['GET /versions'], + getOctocat: ['GET /octocat'], + getZen: ['GET /zen'], + root: ['GET /'] }, migrations: { cancelImport: [ - "DELETE /repos/{owner}/{repo}/import", + 'DELETE /repos/{owner}/{repo}/import', {}, { - deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" + deprecated: + 'octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import' } ], deleteArchiveForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/archive" + 'DELETE /user/migrations/{migration_id}/archive' ], deleteArchiveForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/archive" + 'DELETE /orgs/{org}/migrations/{migration_id}/archive' ], downloadArchiveForOrg: [ - "GET /orgs/{org}/migrations/{migration_id}/archive" + 'GET /orgs/{org}/migrations/{migration_id}/archive' ], getArchiveForAuthenticatedUser: [ - "GET /user/migrations/{migration_id}/archive" + 'GET /user/migrations/{migration_id}/archive' ], getCommitAuthors: [ - "GET /repos/{owner}/{repo}/import/authors", + 'GET /repos/{owner}/{repo}/import/authors', {}, { - deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" + deprecated: + 'octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors' } ], getImportStatus: [ - "GET /repos/{owner}/{repo}/import", + 'GET /repos/{owner}/{repo}/import', {}, { - deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" + deprecated: + 'octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status' } ], getLargeFiles: [ - "GET /repos/{owner}/{repo}/import/large_files", + 'GET /repos/{owner}/{repo}/import/large_files', {}, { - deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" + deprecated: + 'octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files' } ], - getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], - getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], - listForAuthenticatedUser: ["GET /user/migrations"], - listForOrg: ["GET /orgs/{org}/migrations"], + getStatusForAuthenticatedUser: ['GET /user/migrations/{migration_id}'], + getStatusForOrg: ['GET /orgs/{org}/migrations/{migration_id}'], + listForAuthenticatedUser: ['GET /user/migrations'], + listForOrg: ['GET /orgs/{org}/migrations'], listReposForAuthenticatedUser: [ - "GET /user/migrations/{migration_id}/repositories" + 'GET /user/migrations/{migration_id}/repositories' + ], + listReposForOrg: [ + 'GET /orgs/{org}/migrations/{migration_id}/repositories' ], - listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], listReposForUser: [ - "GET /user/migrations/{migration_id}/repositories", + 'GET /user/migrations/{migration_id}/repositories', {}, - { renamed: ["migrations", "listReposForAuthenticatedUser"] } + { renamed: ['migrations', 'listReposForAuthenticatedUser'] } ], mapCommitAuthor: [ - "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + 'PATCH /repos/{owner}/{repo}/import/authors/{author_id}', {}, { - deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" + deprecated: + 'octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author' } ], setLfsPreference: [ - "PATCH /repos/{owner}/{repo}/import/lfs", + 'PATCH /repos/{owner}/{repo}/import/lfs', {}, { - deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" + deprecated: + 'octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference' } ], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], + startForAuthenticatedUser: ['POST /user/migrations'], + startForOrg: ['POST /orgs/{org}/migrations'], startImport: [ - "PUT /repos/{owner}/{repo}/import", + 'PUT /repos/{owner}/{repo}/import', {}, { - deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" + deprecated: + 'octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import' } ], unlockRepoForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + 'DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock' ], unlockRepoForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + 'DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock' ], updateImport: [ - "PATCH /repos/{owner}/{repo}/import", + 'PATCH /repos/{owner}/{repo}/import', {}, { - deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" + deprecated: + 'octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import' } ] }, orgs: { addSecurityManagerTeam: [ - "PUT /orgs/{org}/security-managers/teams/{team_slug}" + 'PUT /orgs/{org}/security-managers/teams/{team_slug}' + ], + blockUser: ['PUT /orgs/{org}/blocks/{username}'], + cancelInvitation: ['DELETE /orgs/{org}/invitations/{invitation_id}'], + checkBlockedUser: ['GET /orgs/{org}/blocks/{username}'], + checkMembershipForUser: ['GET /orgs/{org}/members/{username}'], + checkPublicMembershipForUser: [ + 'GET /orgs/{org}/public_members/{username}' ], - blockUser: ["PUT /orgs/{org}/blocks/{username}"], - cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], - checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], - checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], - checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], convertMemberToOutsideCollaborator: [ - "PUT /orgs/{org}/outside_collaborators/{username}" + 'PUT /orgs/{org}/outside_collaborators/{username}' ], - createInvitation: ["POST /orgs/{org}/invitations"], - createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createInvitation: ['POST /orgs/{org}/invitations'], + createOrUpdateCustomProperties: ['PATCH /orgs/{org}/properties/schema'], createOrUpdateCustomPropertiesValuesForRepos: [ - "PATCH /orgs/{org}/properties/values" + 'PATCH /orgs/{org}/properties/values' ], createOrUpdateCustomProperty: [ - "PUT /orgs/{org}/properties/schema/{custom_property_name}" + 'PUT /orgs/{org}/properties/schema/{custom_property_name}' ], - createWebhook: ["POST /orgs/{org}/hooks"], - delete: ["DELETE /orgs/{org}"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + createWebhook: ['POST /orgs/{org}/hooks'], + delete: ['DELETE /orgs/{org}'], + deleteWebhook: ['DELETE /orgs/{org}/hooks/{hook_id}'], enableOrDisableSecurityProductOnAllOrgRepos: [ - "POST /orgs/{org}/{security_product}/{enablement}" + 'POST /orgs/{org}/{security_product}/{enablement}' ], - get: ["GET /orgs/{org}"], - getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + get: ['GET /orgs/{org}'], + getAllCustomProperties: ['GET /orgs/{org}/properties/schema'], getCustomProperty: [ - "GET /orgs/{org}/properties/schema/{custom_property_name}" + 'GET /orgs/{org}/properties/schema/{custom_property_name}' ], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], - getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getMembershipForAuthenticatedUser: ['GET /user/memberships/orgs/{org}'], + getMembershipForUser: ['GET /orgs/{org}/memberships/{username}'], + getWebhook: ['GET /orgs/{org}/hooks/{hook_id}'], + getWebhookConfigForOrg: ['GET /orgs/{org}/hooks/{hook_id}/config'], getWebhookDelivery: [ - "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" - ], - list: ["GET /organizations"], - listAppInstallations: ["GET /orgs/{org}/installations"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + 'GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}' + ], + list: ['GET /organizations'], + listAppInstallations: ['GET /orgs/{org}/installations'], + listBlockedUsers: ['GET /orgs/{org}/blocks'], + listCustomPropertiesValuesForRepos: [ + 'GET /orgs/{org}/properties/values' + ], + listFailedInvitations: ['GET /orgs/{org}/failed_invitations'], + listForAuthenticatedUser: ['GET /user/orgs'], + listForUser: ['GET /users/{username}/orgs'], + listInvitationTeams: [ + 'GET /orgs/{org}/invitations/{invitation_id}/teams' + ], + listMembers: ['GET /orgs/{org}/members'], + listMembershipsForAuthenticatedUser: ['GET /user/memberships/orgs'], + listOutsideCollaborators: ['GET /orgs/{org}/outside_collaborators'], listPatGrantRepositories: [ - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + 'GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories' ], listPatGrantRequestRepositories: [ - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" - ], - listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], - listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], - listPendingInvitations: ["GET /orgs/{org}/invitations"], - listPublicMembers: ["GET /orgs/{org}/public_members"], - listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], - listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], - listWebhooks: ["GET /orgs/{org}/hooks"], - pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + 'GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories' + ], + listPatGrantRequests: [ + 'GET /orgs/{org}/personal-access-token-requests' + ], + listPatGrants: ['GET /orgs/{org}/personal-access-tokens'], + listPendingInvitations: ['GET /orgs/{org}/invitations'], + listPublicMembers: ['GET /orgs/{org}/public_members'], + listSecurityManagerTeams: ['GET /orgs/{org}/security-managers'], + listWebhookDeliveries: ['GET /orgs/{org}/hooks/{hook_id}/deliveries'], + listWebhooks: ['GET /orgs/{org}/hooks'], + pingWebhook: ['POST /orgs/{org}/hooks/{hook_id}/pings'], redeliverWebhookDelivery: [ - "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + 'POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts' ], removeCustomProperty: [ - "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + 'DELETE /orgs/{org}/properties/schema/{custom_property_name}' ], - removeMember: ["DELETE /orgs/{org}/members/{username}"], - removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeMember: ['DELETE /orgs/{org}/members/{username}'], + removeMembershipForUser: ['DELETE /orgs/{org}/memberships/{username}'], removeOutsideCollaborator: [ - "DELETE /orgs/{org}/outside_collaborators/{username}" + 'DELETE /orgs/{org}/outside_collaborators/{username}' ], removePublicMembershipForAuthenticatedUser: [ - "DELETE /orgs/{org}/public_members/{username}" + 'DELETE /orgs/{org}/public_members/{username}' ], removeSecurityManagerTeam: [ - "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + 'DELETE /orgs/{org}/security-managers/teams/{team_slug}' ], reviewPatGrantRequest: [ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + 'POST /orgs/{org}/personal-access-token-requests/{pat_request_id}' ], reviewPatGrantRequestsInBulk: [ - "POST /orgs/{org}/personal-access-token-requests" + 'POST /orgs/{org}/personal-access-token-requests' ], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setMembershipForUser: ['PUT /orgs/{org}/memberships/{username}'], setPublicMembershipForAuthenticatedUser: [ - "PUT /orgs/{org}/public_members/{username}" + 'PUT /orgs/{org}/public_members/{username}' ], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], + unblockUser: ['DELETE /orgs/{org}/blocks/{username}'], + update: ['PATCH /orgs/{org}'], updateMembershipForAuthenticatedUser: [ - "PATCH /user/memberships/orgs/{org}" + 'PATCH /user/memberships/orgs/{org}' ], - updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], - updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], - updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], - updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + updatePatAccess: ['POST /orgs/{org}/personal-access-tokens/{pat_id}'], + updatePatAccesses: ['POST /orgs/{org}/personal-access-tokens'], + updateWebhook: ['PATCH /orgs/{org}/hooks/{hook_id}'], + updateWebhookConfigForOrg: ['PATCH /orgs/{org}/hooks/{hook_id}/config'] }, packages: { deletePackageForAuthenticatedUser: [ - "DELETE /user/packages/{package_type}/{package_name}" + 'DELETE /user/packages/{package_type}/{package_name}' ], deletePackageForOrg: [ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + 'DELETE /orgs/{org}/packages/{package_type}/{package_name}' ], deletePackageForUser: [ - "DELETE /users/{username}/packages/{package_type}/{package_name}" + 'DELETE /users/{username}/packages/{package_type}/{package_name}' ], deletePackageVersionForAuthenticatedUser: [ - "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + 'DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}' ], deletePackageVersionForOrg: [ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + 'DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}' ], deletePackageVersionForUser: [ - "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + 'DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}' ], getAllPackageVersionsForAPackageOwnedByAnOrg: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions', {}, - { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + { renamed: ['packages', 'getAllPackageVersionsForPackageOwnedByOrg'] } ], getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions", + 'GET /user/packages/{package_type}/{package_name}/versions', {}, { renamed: [ - "packages", - "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + 'packages', + 'getAllPackageVersionsForPackageOwnedByAuthenticatedUser' ] } ], getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions" + 'GET /user/packages/{package_type}/{package_name}/versions' ], getAllPackageVersionsForPackageOwnedByOrg: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions' ], getAllPackageVersionsForPackageOwnedByUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}/versions" + 'GET /users/{username}/packages/{package_type}/{package_name}/versions' ], getPackageForAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}" + 'GET /user/packages/{package_type}/{package_name}' ], getPackageForOrganization: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}" + 'GET /orgs/{org}/packages/{package_type}/{package_name}' ], getPackageForUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}" + 'GET /users/{username}/packages/{package_type}/{package_name}' ], getPackageVersionForAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + 'GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}' ], getPackageVersionForOrganization: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}' ], getPackageVersionForUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + 'GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}' ], listDockerMigrationConflictingPackagesForAuthenticatedUser: [ - "GET /user/docker/conflicts" + 'GET /user/docker/conflicts' ], listDockerMigrationConflictingPackagesForOrganization: [ - "GET /orgs/{org}/docker/conflicts" + 'GET /orgs/{org}/docker/conflicts' ], listDockerMigrationConflictingPackagesForUser: [ - "GET /users/{username}/docker/conflicts" + 'GET /users/{username}/docker/conflicts' ], - listPackagesForAuthenticatedUser: ["GET /user/packages"], - listPackagesForOrganization: ["GET /orgs/{org}/packages"], - listPackagesForUser: ["GET /users/{username}/packages"], + listPackagesForAuthenticatedUser: ['GET /user/packages'], + listPackagesForOrganization: ['GET /orgs/{org}/packages'], + listPackagesForUser: ['GET /users/{username}/packages'], restorePackageForAuthenticatedUser: [ - "POST /user/packages/{package_type}/{package_name}/restore{?token}" + 'POST /user/packages/{package_type}/{package_name}/restore{?token}' ], restorePackageForOrg: [ - "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + 'POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}' ], restorePackageForUser: [ - "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + 'POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}' ], restorePackageVersionForAuthenticatedUser: [ - "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + 'POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore' ], restorePackageVersionForOrg: [ - "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + 'POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore' ], restorePackageVersionForUser: [ - "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + 'POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore' ] }, projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], + addCollaborator: [ + 'PUT /projects/{project_id}/collaborators/{username}' + ], + createCard: ['POST /projects/columns/{column_id}/cards'], + createColumn: ['POST /projects/{project_id}/columns'], + createForAuthenticatedUser: ['POST /user/projects'], + createForOrg: ['POST /orgs/{org}/projects'], + createForRepo: ['POST /repos/{owner}/{repo}/projects'], + delete: ['DELETE /projects/{project_id}'], + deleteCard: ['DELETE /projects/columns/cards/{card_id}'], + deleteColumn: ['DELETE /projects/columns/{column_id}'], + get: ['GET /projects/{project_id}'], + getCard: ['GET /projects/columns/cards/{card_id}'], + getColumn: ['GET /projects/columns/{column_id}'], getPermissionForUser: [ - "GET /projects/{project_id}/collaborators/{username}/permission" - ], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], + 'GET /projects/{project_id}/collaborators/{username}/permission' + ], + listCards: ['GET /projects/columns/{column_id}/cards'], + listCollaborators: ['GET /projects/{project_id}/collaborators'], + listColumns: ['GET /projects/{project_id}/columns'], + listForOrg: ['GET /orgs/{org}/projects'], + listForRepo: ['GET /repos/{owner}/{repo}/projects'], + listForUser: ['GET /users/{username}/projects'], + moveCard: ['POST /projects/columns/cards/{card_id}/moves'], + moveColumn: ['POST /projects/columns/{column_id}/moves'], removeCollaborator: [ - "DELETE /projects/{project_id}/collaborators/{username}" + 'DELETE /projects/{project_id}/collaborators/{username}' ], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_id}"] + update: ['PATCH /projects/{project_id}'], + updateCard: ['PATCH /projects/columns/cards/{card_id}'], + updateColumn: ['PATCH /projects/columns/{column_id}'] }, pulls: { - checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - create: ["POST /repos/{owner}/{repo}/pulls"], + checkIfMerged: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/merge'], + create: ['POST /repos/{owner}/{repo}/pulls'], createReplyForReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + 'POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies' + ], + createReview: [ + 'POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews' ], - createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], createReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + 'POST /repos/{owner}/{repo}/pulls/{pull_number}/comments' ], deletePendingReview: [ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + 'DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}' ], deleteReviewComment: [ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + 'DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}' ], dismissReview: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + 'PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals' ], - get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + get: ['GET /repos/{owner}/{repo}/pulls/{pull_number}'], getReview: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}' + ], + getReviewComment: [ + 'GET /repos/{owner}/{repo}/pulls/comments/{comment_id}' ], - getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - list: ["GET /repos/{owner}/{repo}/pulls"], + list: ['GET /repos/{owner}/{repo}/pulls'], listCommentsForReview: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments' ], - listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], - listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listCommits: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/commits'], + listFiles: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/files'], listRequestedReviewers: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers' ], listReviewComments: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/comments' ], - listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], - listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + listReviewCommentsForRepo: ['GET /repos/{owner}/{repo}/pulls/comments'], + listReviews: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews'], + merge: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge'], removeRequestedReviewers: [ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + 'DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers' ], requestReviewers: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + 'POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers' ], submitReview: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + 'POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events' ], - update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + update: ['PATCH /repos/{owner}/{repo}/pulls/{pull_number}'], updateBranch: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + 'PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch' ], updateReview: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + 'PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}' ], updateReviewComment: [ - "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + 'PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}' ] }, - rateLimit: { get: ["GET /rate_limit"] }, + rateLimit: { get: ['GET /rate_limit'] }, reactions: { createForCommitComment: [ - "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + 'POST /repos/{owner}/{repo}/comments/{comment_id}/reactions' ], createForIssue: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + 'POST /repos/{owner}/{repo}/issues/{issue_number}/reactions' ], createForIssueComment: [ - "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + 'POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions' ], createForPullRequestReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + 'POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions' ], createForRelease: [ - "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + 'POST /repos/{owner}/{repo}/releases/{release_id}/reactions' ], createForTeamDiscussionCommentInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + 'POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions' ], createForTeamDiscussionInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + 'POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions' ], deleteForCommitComment: [ - "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + 'DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}' ], deleteForIssue: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + 'DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}' ], deleteForIssueComment: [ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + 'DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}' ], deleteForPullRequestComment: [ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + 'DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}' ], deleteForRelease: [ - "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + 'DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}' ], deleteForTeamDiscussion: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}' ], deleteForTeamDiscussionComment: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}' ], listForCommitComment: [ - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + 'GET /repos/{owner}/{repo}/comments/{comment_id}/reactions' + ], + listForIssue: [ + 'GET /repos/{owner}/{repo}/issues/{issue_number}/reactions' ], - listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], listForIssueComment: [ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + 'GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions' ], listForPullRequestReviewComment: [ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + 'GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions' ], listForRelease: [ - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + 'GET /repos/{owner}/{repo}/releases/{release_id}/reactions' ], listForTeamDiscussionCommentInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions' ], listForTeamDiscussionInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions' ] }, repos: { acceptInvitation: [ - "PATCH /user/repository_invitations/{invitation_id}", + 'PATCH /user/repository_invitations/{invitation_id}', {}, - { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + { renamed: ['repos', 'acceptInvitationForAuthenticatedUser'] } ], acceptInvitationForAuthenticatedUser: [ - "PATCH /user/repository_invitations/{invitation_id}" + 'PATCH /user/repository_invitations/{invitation_id}' ], addAppAccessRestrictions: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', {}, - { mapToData: "apps" } + { mapToData: 'apps' } ], - addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addCollaborator: ['PUT /repos/{owner}/{repo}/collaborators/{username}'], addStatusCheckContexts: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + 'POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts', {}, - { mapToData: "contexts" } + { mapToData: 'contexts' } ], addTeamAccessRestrictions: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', {}, - { mapToData: "teams" } + { mapToData: 'teams' } ], addUserAccessRestrictions: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', {}, - { mapToData: "users" } + { mapToData: 'users' } ], checkAutomatedSecurityFixes: [ - "GET /repos/{owner}/{repo}/automated-security-fixes" + 'GET /repos/{owner}/{repo}/automated-security-fixes' + ], + checkCollaborator: [ + 'GET /repos/{owner}/{repo}/collaborators/{username}' ], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], checkVulnerabilityAlerts: [ - "GET /repos/{owner}/{repo}/vulnerability-alerts" + 'GET /repos/{owner}/{repo}/vulnerability-alerts' ], - codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], - compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + codeownersErrors: ['GET /repos/{owner}/{repo}/codeowners/errors'], + compareCommits: ['GET /repos/{owner}/{repo}/compare/{base}...{head}'], compareCommitsWithBasehead: [ - "GET /repos/{owner}/{repo}/compare/{basehead}" + 'GET /repos/{owner}/{repo}/compare/{basehead}' ], - createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createAutolink: ['POST /repos/{owner}/{repo}/autolinks'], createCommitComment: [ - "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + 'POST /repos/{owner}/{repo}/commits/{commit_sha}/comments' ], createCommitSignatureProtection: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + 'POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures' ], - createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], - createDeployKey: ["POST /repos/{owner}/{repo}/keys"], - createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createCommitStatus: ['POST /repos/{owner}/{repo}/statuses/{sha}'], + createDeployKey: ['POST /repos/{owner}/{repo}/keys'], + createDeployment: ['POST /repos/{owner}/{repo}/deployments'], createDeploymentBranchPolicy: [ - "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + 'POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies' ], createDeploymentProtectionRule: [ - "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + 'POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules' ], createDeploymentStatus: [ - "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + 'POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses' ], - createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], - createForAuthenticatedUser: ["POST /user/repos"], - createFork: ["POST /repos/{owner}/{repo}/forks"], - createInOrg: ["POST /orgs/{org}/repos"], + createDispatchEvent: ['POST /repos/{owner}/{repo}/dispatches'], + createForAuthenticatedUser: ['POST /user/repos'], + createFork: ['POST /repos/{owner}/{repo}/forks'], + createInOrg: ['POST /orgs/{org}/repos'], createOrUpdateEnvironment: [ - "PUT /repos/{owner}/{repo}/environments/{environment_name}" - ], - createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], - createOrgRuleset: ["POST /orgs/{org}/rulesets"], - createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployment"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + 'PUT /repos/{owner}/{repo}/environments/{environment_name}' + ], + createOrUpdateFileContents: [ + 'PUT /repos/{owner}/{repo}/contents/{path}' + ], + createOrgRuleset: ['POST /orgs/{org}/rulesets'], + createPagesDeployment: ['POST /repos/{owner}/{repo}/pages/deployment'], + createPagesSite: ['POST /repos/{owner}/{repo}/pages'], + createRelease: ['POST /repos/{owner}/{repo}/releases'], + createRepoRuleset: ['POST /repos/{owner}/{repo}/rulesets'], + createTagProtection: ['POST /repos/{owner}/{repo}/tags/protection'], createUsingTemplate: [ - "POST /repos/{template_owner}/{template_repo}/generate" + 'POST /repos/{template_owner}/{template_repo}/generate' ], - createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + createWebhook: ['POST /repos/{owner}/{repo}/hooks'], declineInvitation: [ - "DELETE /user/repository_invitations/{invitation_id}", + 'DELETE /user/repository_invitations/{invitation_id}', {}, - { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + { renamed: ['repos', 'declineInvitationForAuthenticatedUser'] } ], declineInvitationForAuthenticatedUser: [ - "DELETE /user/repository_invitations/{invitation_id}" + 'DELETE /user/repository_invitations/{invitation_id}' ], - delete: ["DELETE /repos/{owner}/{repo}"], + delete: ['DELETE /repos/{owner}/{repo}'], deleteAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions' ], deleteAdminBranchProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins' ], deleteAnEnvironment: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + 'DELETE /repos/{owner}/{repo}/environments/{environment_name}' + ], + deleteAutolink: [ + 'DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}' ], - deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], deleteBranchProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection' + ], + deleteCommitComment: [ + 'DELETE /repos/{owner}/{repo}/comments/{comment_id}' ], - deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], deleteCommitSignatureProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures' ], - deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployKey: ['DELETE /repos/{owner}/{repo}/keys/{key_id}'], deleteDeployment: [ - "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + 'DELETE /repos/{owner}/{repo}/deployments/{deployment_id}' ], deleteDeploymentBranchPolicy: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + 'DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}' ], - deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteFile: ['DELETE /repos/{owner}/{repo}/contents/{path}'], deleteInvitation: [ - "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + 'DELETE /repos/{owner}/{repo}/invitations/{invitation_id}' ], - deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], - deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deleteOrgRuleset: ['DELETE /orgs/{org}/rulesets/{ruleset_id}'], + deletePagesSite: ['DELETE /repos/{owner}/{repo}/pages'], deletePullRequestReviewProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' ], - deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteRelease: ['DELETE /repos/{owner}/{repo}/releases/{release_id}'], deleteReleaseAsset: [ - "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + 'DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}' + ], + deleteRepoRuleset: [ + 'DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}' ], - deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], deleteTagProtection: [ - "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + 'DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}' ], - deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + deleteWebhook: ['DELETE /repos/{owner}/{repo}/hooks/{hook_id}'], disableAutomatedSecurityFixes: [ - "DELETE /repos/{owner}/{repo}/automated-security-fixes" + 'DELETE /repos/{owner}/{repo}/automated-security-fixes' ], disableDeploymentProtectionRule: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + 'DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}' ], disablePrivateVulnerabilityReporting: [ - "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + 'DELETE /repos/{owner}/{repo}/private-vulnerability-reporting' ], disableVulnerabilityAlerts: [ - "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + 'DELETE /repos/{owner}/{repo}/vulnerability-alerts' ], downloadArchive: [ - "GET /repos/{owner}/{repo}/zipball/{ref}", + 'GET /repos/{owner}/{repo}/zipball/{ref}', {}, - { renamed: ["repos", "downloadZipballArchive"] } + { renamed: ['repos', 'downloadZipballArchive'] } ], - downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], - downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + downloadTarballArchive: ['GET /repos/{owner}/{repo}/tarball/{ref}'], + downloadZipballArchive: ['GET /repos/{owner}/{repo}/zipball/{ref}'], enableAutomatedSecurityFixes: [ - "PUT /repos/{owner}/{repo}/automated-security-fixes" + 'PUT /repos/{owner}/{repo}/automated-security-fixes' ], enablePrivateVulnerabilityReporting: [ - "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + 'PUT /repos/{owner}/{repo}/private-vulnerability-reporting' ], enableVulnerabilityAlerts: [ - "PUT /repos/{owner}/{repo}/vulnerability-alerts" + 'PUT /repos/{owner}/{repo}/vulnerability-alerts' ], generateReleaseNotes: [ - "POST /repos/{owner}/{repo}/releases/generate-notes" + 'POST /repos/{owner}/{repo}/releases/generate-notes' ], - get: ["GET /repos/{owner}/{repo}"], + get: ['GET /repos/{owner}/{repo}'], getAccessRestrictions: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions' ], getAdminBranchProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins' ], getAllDeploymentProtectionRules: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules' ], - getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllEnvironments: ['GET /repos/{owner}/{repo}/environments'], getAllStatusCheckContexts: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts' ], - getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAllTopics: ['GET /repos/{owner}/{repo}/topics'], getAppsWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps' ], - getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], - getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getAutolink: ['GET /repos/{owner}/{repo}/autolinks/{autolink_id}'], + getBranch: ['GET /repos/{owner}/{repo}/branches/{branch}'], getBranchProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection' + ], + getBranchRules: ['GET /repos/{owner}/{repo}/rules/branches/{branch}'], + getClones: ['GET /repos/{owner}/{repo}/traffic/clones'], + getCodeFrequencyStats: [ + 'GET /repos/{owner}/{repo}/stats/code_frequency' ], - getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], - getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], - getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], getCollaboratorPermissionLevel: [ - "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + 'GET /repos/{owner}/{repo}/collaborators/{username}/permission' ], - getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], - getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], - getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], - getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCombinedStatusForRef: [ + 'GET /repos/{owner}/{repo}/commits/{ref}/status' + ], + getCommit: ['GET /repos/{owner}/{repo}/commits/{ref}'], + getCommitActivityStats: [ + 'GET /repos/{owner}/{repo}/stats/commit_activity' + ], + getCommitComment: ['GET /repos/{owner}/{repo}/comments/{comment_id}'], getCommitSignatureProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures' ], - getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], - getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], - getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCommunityProfileMetrics: [ + 'GET /repos/{owner}/{repo}/community/profile' + ], + getContent: ['GET /repos/{owner}/{repo}/contents/{path}'], + getContributorsStats: ['GET /repos/{owner}/{repo}/stats/contributors'], getCustomDeploymentProtectionRule: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}' + ], + getCustomPropertiesValues: [ + 'GET /repos/{owner}/{repo}/properties/values' + ], + getDeployKey: ['GET /repos/{owner}/{repo}/keys/{key_id}'], + getDeployment: [ + 'GET /repos/{owner}/{repo}/deployments/{deployment_id}' ], - getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], - getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], - getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], getDeploymentBranchPolicy: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}' ], getDeploymentStatus: [ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + 'GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}' ], getEnvironment: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}" - ], - getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], - getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], - getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], - getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], - getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], - getOrgRulesets: ["GET /orgs/{org}/rulesets"], - getPages: ["GET /repos/{owner}/{repo}/pages"], - getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], - getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], - getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + 'GET /repos/{owner}/{repo}/environments/{environment_name}' + ], + getLatestPagesBuild: ['GET /repos/{owner}/{repo}/pages/builds/latest'], + getLatestRelease: ['GET /repos/{owner}/{repo}/releases/latest'], + getOrgRuleSuite: [ + 'GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}' + ], + getOrgRuleSuites: ['GET /orgs/{org}/rulesets/rule-suites'], + getOrgRuleset: ['GET /orgs/{org}/rulesets/{ruleset_id}'], + getOrgRulesets: ['GET /orgs/{org}/rulesets'], + getPages: ['GET /repos/{owner}/{repo}/pages'], + getPagesBuild: ['GET /repos/{owner}/{repo}/pages/builds/{build_id}'], + getPagesHealthCheck: ['GET /repos/{owner}/{repo}/pages/health'], + getParticipationStats: [ + 'GET /repos/{owner}/{repo}/stats/participation' + ], getPullRequestReviewProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" - ], - getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], - getReadme: ["GET /repos/{owner}/{repo}/readme"], - getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], - getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], - getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], - getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' + ], + getPunchCardStats: ['GET /repos/{owner}/{repo}/stats/punch_card'], + getReadme: ['GET /repos/{owner}/{repo}/readme'], + getReadmeInDirectory: ['GET /repos/{owner}/{repo}/readme/{dir}'], + getRelease: ['GET /repos/{owner}/{repo}/releases/{release_id}'], + getReleaseAsset: [ + 'GET /repos/{owner}/{repo}/releases/assets/{asset_id}' + ], + getReleaseByTag: ['GET /repos/{owner}/{repo}/releases/tags/{tag}'], getRepoRuleSuite: [ - "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + 'GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}' ], - getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], - getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], - getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getRepoRuleSuites: ['GET /repos/{owner}/{repo}/rulesets/rule-suites'], + getRepoRuleset: ['GET /repos/{owner}/{repo}/rulesets/{ruleset_id}'], + getRepoRulesets: ['GET /repos/{owner}/{repo}/rulesets'], getStatusChecksProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks' ], getTeamsWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams' + ], + getTopPaths: ['GET /repos/{owner}/{repo}/traffic/popular/paths'], + getTopReferrers: [ + 'GET /repos/{owner}/{repo}/traffic/popular/referrers' ], - getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], - getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], getUsersWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users' ], - getViews: ["GET /repos/{owner}/{repo}/traffic/views"], - getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getViews: ['GET /repos/{owner}/{repo}/traffic/views'], + getWebhook: ['GET /repos/{owner}/{repo}/hooks/{hook_id}'], getWebhookConfigForRepo: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + 'GET /repos/{owner}/{repo}/hooks/{hook_id}/config' ], getWebhookDelivery: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + 'GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}' ], - listActivities: ["GET /repos/{owner}/{repo}/activity"], - listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], - listBranches: ["GET /repos/{owner}/{repo}/branches"], + listActivities: ['GET /repos/{owner}/{repo}/activity'], + listAutolinks: ['GET /repos/{owner}/{repo}/autolinks'], + listBranches: ['GET /repos/{owner}/{repo}/branches'], listBranchesForHeadCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + 'GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head' ], - listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCollaborators: ['GET /repos/{owner}/{repo}/collaborators'], listCommentsForCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + 'GET /repos/{owner}/{repo}/commits/{commit_sha}/comments' ], - listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitCommentsForRepo: ['GET /repos/{owner}/{repo}/comments'], listCommitStatusesForRef: [ - "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + 'GET /repos/{owner}/{repo}/commits/{ref}/statuses' ], - listCommits: ["GET /repos/{owner}/{repo}/commits"], - listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCommits: ['GET /repos/{owner}/{repo}/commits'], + listContributors: ['GET /repos/{owner}/{repo}/contributors'], listCustomDeploymentRuleIntegrations: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps' ], - listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeployKeys: ['GET /repos/{owner}/{repo}/keys'], listDeploymentBranchPolicies: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies' ], listDeploymentStatuses: [ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" - ], - listDeployments: ["GET /repos/{owner}/{repo}/deployments"], - listForAuthenticatedUser: ["GET /user/repos"], - listForOrg: ["GET /orgs/{org}/repos"], - listForUser: ["GET /users/{username}/repos"], - listForks: ["GET /repos/{owner}/{repo}/forks"], - listInvitations: ["GET /repos/{owner}/{repo}/invitations"], - listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], - listLanguages: ["GET /repos/{owner}/{repo}/languages"], - listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], - listPublic: ["GET /repositories"], + 'GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses' + ], + listDeployments: ['GET /repos/{owner}/{repo}/deployments'], + listForAuthenticatedUser: ['GET /user/repos'], + listForOrg: ['GET /orgs/{org}/repos'], + listForUser: ['GET /users/{username}/repos'], + listForks: ['GET /repos/{owner}/{repo}/forks'], + listInvitations: ['GET /repos/{owner}/{repo}/invitations'], + listInvitationsForAuthenticatedUser: [ + 'GET /user/repository_invitations' + ], + listLanguages: ['GET /repos/{owner}/{repo}/languages'], + listPagesBuilds: ['GET /repos/{owner}/{repo}/pages/builds'], + listPublic: ['GET /repositories'], listPullRequestsAssociatedWithCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + 'GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls' ], listReleaseAssets: [ - "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + 'GET /repos/{owner}/{repo}/releases/{release_id}/assets' ], - listReleases: ["GET /repos/{owner}/{repo}/releases"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - listTags: ["GET /repos/{owner}/{repo}/tags"], - listTeams: ["GET /repos/{owner}/{repo}/teams"], + listReleases: ['GET /repos/{owner}/{repo}/releases'], + listTagProtection: ['GET /repos/{owner}/{repo}/tags/protection'], + listTags: ['GET /repos/{owner}/{repo}/tags'], + listTeams: ['GET /repos/{owner}/{repo}/teams'], listWebhookDeliveries: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + 'GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries' ], - listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], - merge: ["POST /repos/{owner}/{repo}/merges"], - mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], - pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + listWebhooks: ['GET /repos/{owner}/{repo}/hooks'], + merge: ['POST /repos/{owner}/{repo}/merges'], + mergeUpstream: ['POST /repos/{owner}/{repo}/merge-upstream'], + pingWebhook: ['POST /repos/{owner}/{repo}/hooks/{hook_id}/pings'], redeliverWebhookDelivery: [ - "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + 'POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts' ], removeAppAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', {}, - { mapToData: "apps" } + { mapToData: 'apps' } ], removeCollaborator: [ - "DELETE /repos/{owner}/{repo}/collaborators/{username}" + 'DELETE /repos/{owner}/{repo}/collaborators/{username}' ], removeStatusCheckContexts: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts', {}, - { mapToData: "contexts" } + { mapToData: 'contexts' } ], removeStatusCheckProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks' ], removeTeamAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', {}, - { mapToData: "teams" } + { mapToData: 'teams' } ], removeUserAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', {}, - { mapToData: "users" } + { mapToData: 'users' } ], - renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], - replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], - requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + renameBranch: ['POST /repos/{owner}/{repo}/branches/{branch}/rename'], + replaceAllTopics: ['PUT /repos/{owner}/{repo}/topics'], + requestPagesBuild: ['POST /repos/{owner}/{repo}/pages/builds'], setAdminBranchProtection: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + 'POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins' ], setAppAccessRestrictions: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', {}, - { mapToData: "apps" } + { mapToData: 'apps' } ], setStatusCheckContexts: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts', {}, - { mapToData: "contexts" } + { mapToData: 'contexts' } ], setTeamAccessRestrictions: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', {}, - { mapToData: "teams" } + { mapToData: 'teams' } ], setUserAccessRestrictions: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', {}, - { mapToData: "users" } + { mapToData: 'users' } ], - testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], - transfer: ["POST /repos/{owner}/{repo}/transfer"], - update: ["PATCH /repos/{owner}/{repo}"], + testPushWebhook: ['POST /repos/{owner}/{repo}/hooks/{hook_id}/tests'], + transfer: ['POST /repos/{owner}/{repo}/transfer'], + update: ['PATCH /repos/{owner}/{repo}'], updateBranchProtection: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + 'PUT /repos/{owner}/{repo}/branches/{branch}/protection' + ], + updateCommitComment: [ + 'PATCH /repos/{owner}/{repo}/comments/{comment_id}' ], - updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], updateDeploymentBranchPolicy: [ - "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + 'PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}' ], - updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInformationAboutPagesSite: ['PUT /repos/{owner}/{repo}/pages'], updateInvitation: [ - "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + 'PATCH /repos/{owner}/{repo}/invitations/{invitation_id}' ], - updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updateOrgRuleset: ['PUT /orgs/{org}/rulesets/{ruleset_id}'], updatePullRequestReviewProtection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + 'PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' ], - updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateRelease: ['PATCH /repos/{owner}/{repo}/releases/{release_id}'], updateReleaseAsset: [ - "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + 'PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}' ], - updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateRepoRuleset: ['PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}'], updateStatusCheckPotection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + 'PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks', {}, - { renamed: ["repos", "updateStatusCheckProtection"] } + { renamed: ['repos', 'updateStatusCheckProtection'] } ], updateStatusCheckProtection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + 'PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks' ], - updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhook: ['PATCH /repos/{owner}/{repo}/hooks/{hook_id}'], updateWebhookConfigForRepo: [ - "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + 'PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config' ], uploadReleaseAsset: [ - "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", - { baseUrl: "https://uploads.github.com" } + 'POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}', + { baseUrl: 'https://uploads.github.com' } ] }, search: { - code: ["GET /search/code"], - commits: ["GET /search/commits"], - issuesAndPullRequests: ["GET /search/issues"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] + code: ['GET /search/code'], + commits: ['GET /search/commits'], + issuesAndPullRequests: ['GET /search/issues'], + labels: ['GET /search/labels'], + repos: ['GET /search/repositories'], + topics: ['GET /search/topics'], + users: ['GET /search/users'] }, secretScanning: { getAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + 'GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}' ], listAlertsForEnterprise: [ - "GET /enterprises/{enterprise}/secret-scanning/alerts" + 'GET /enterprises/{enterprise}/secret-scanning/alerts' ], - listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listAlertsForOrg: ['GET /orgs/{org}/secret-scanning/alerts'], + listAlertsForRepo: ['GET /repos/{owner}/{repo}/secret-scanning/alerts'], listLocationsForAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + 'GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations' ], updateAlert: [ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + 'PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}' ] }, securityAdvisories: { createPrivateVulnerabilityReport: [ - "POST /repos/{owner}/{repo}/security-advisories/reports" + 'POST /repos/{owner}/{repo}/security-advisories/reports' ], createRepositoryAdvisory: [ - "POST /repos/{owner}/{repo}/security-advisories" + 'POST /repos/{owner}/{repo}/security-advisories' ], createRepositoryAdvisoryCveRequest: [ - "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + 'POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve' ], - getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getGlobalAdvisory: ['GET /advisories/{ghsa_id}'], getRepositoryAdvisory: [ - "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + 'GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}' + ], + listGlobalAdvisories: ['GET /advisories'], + listOrgRepositoryAdvisories: ['GET /orgs/{org}/security-advisories'], + listRepositoryAdvisories: [ + 'GET /repos/{owner}/{repo}/security-advisories' ], - listGlobalAdvisories: ["GET /advisories"], - listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], - listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], updateRepositoryAdvisory: [ - "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + 'PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}' ] }, teams: { addOrUpdateMembershipForUserInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + 'PUT /orgs/{org}/teams/{team_slug}/memberships/{username}' ], addOrUpdateProjectPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + 'PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}' ], addOrUpdateRepoPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + 'PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}' ], checkPermissionsForProjectInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + 'GET /orgs/{org}/teams/{team_slug}/projects/{project_id}' ], checkPermissionsForRepoInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + 'GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}' ], - create: ["POST /orgs/{org}/teams"], + create: ['POST /orgs/{org}/teams'], createDiscussionCommentInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + 'POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments' + ], + createDiscussionInOrg: [ + 'POST /orgs/{org}/teams/{team_slug}/discussions' ], - createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], deleteDiscussionCommentInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}' ], deleteDiscussionInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}' ], - deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], - getByName: ["GET /orgs/{org}/teams/{team_slug}"], + deleteInOrg: ['DELETE /orgs/{org}/teams/{team_slug}'], + getByName: ['GET /orgs/{org}/teams/{team_slug}'], getDiscussionCommentInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}' ], getDiscussionInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}' ], getMembershipForUserInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + 'GET /orgs/{org}/teams/{team_slug}/memberships/{username}' ], - list: ["GET /orgs/{org}/teams"], - listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + list: ['GET /orgs/{org}/teams'], + listChildInOrg: ['GET /orgs/{org}/teams/{team_slug}/teams'], listDiscussionCommentsInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments' ], - listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], - listForAuthenticatedUser: ["GET /user/teams"], - listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listDiscussionsInOrg: ['GET /orgs/{org}/teams/{team_slug}/discussions'], + listForAuthenticatedUser: ['GET /user/teams'], + listMembersInOrg: ['GET /orgs/{org}/teams/{team_slug}/members'], listPendingInvitationsInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/invitations" + 'GET /orgs/{org}/teams/{team_slug}/invitations' ], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + listProjectsInOrg: ['GET /orgs/{org}/teams/{team_slug}/projects'], + listReposInOrg: ['GET /orgs/{org}/teams/{team_slug}/repos'], removeMembershipForUserInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + 'DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}' ], removeProjectInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + 'DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}' ], removeRepoInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + 'DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}' ], updateDiscussionCommentInOrg: [ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + 'PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}' ], updateDiscussionInOrg: [ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + 'PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}' ], - updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + updateInOrg: ['PATCH /orgs/{org}/teams/{team_slug}'] }, users: { addEmailForAuthenticated: [ - "POST /user/emails", + 'POST /user/emails', {}, - { renamed: ["users", "addEmailForAuthenticatedUser"] } - ], - addEmailForAuthenticatedUser: ["POST /user/emails"], - addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], - block: ["PUT /user/blocks/{username}"], - checkBlocked: ["GET /user/blocks/{username}"], - checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], - checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + { renamed: ['users', 'addEmailForAuthenticatedUser'] } + ], + addEmailForAuthenticatedUser: ['POST /user/emails'], + addSocialAccountForAuthenticatedUser: ['POST /user/social_accounts'], + block: ['PUT /user/blocks/{username}'], + checkBlocked: ['GET /user/blocks/{username}'], + checkFollowingForUser: [ + 'GET /users/{username}/following/{target_user}' + ], + checkPersonIsFollowedByAuthenticated: [ + 'GET /user/following/{username}' + ], createGpgKeyForAuthenticated: [ - "POST /user/gpg_keys", + 'POST /user/gpg_keys', {}, - { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + { renamed: ['users', 'createGpgKeyForAuthenticatedUser'] } ], - createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createGpgKeyForAuthenticatedUser: ['POST /user/gpg_keys'], createPublicSshKeyForAuthenticated: [ - "POST /user/keys", + 'POST /user/keys', {}, - { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + { renamed: ['users', 'createPublicSshKeyForAuthenticatedUser'] } + ], + createPublicSshKeyForAuthenticatedUser: ['POST /user/keys'], + createSshSigningKeyForAuthenticatedUser: [ + 'POST /user/ssh_signing_keys' ], - createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], - createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], deleteEmailForAuthenticated: [ - "DELETE /user/emails", + 'DELETE /user/emails', {}, - { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + { renamed: ['users', 'deleteEmailForAuthenticatedUser'] } ], - deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteEmailForAuthenticatedUser: ['DELETE /user/emails'], deleteGpgKeyForAuthenticated: [ - "DELETE /user/gpg_keys/{gpg_key_id}", + 'DELETE /user/gpg_keys/{gpg_key_id}', {}, - { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + { renamed: ['users', 'deleteGpgKeyForAuthenticatedUser'] } + ], + deleteGpgKeyForAuthenticatedUser: [ + 'DELETE /user/gpg_keys/{gpg_key_id}' ], - deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], deletePublicSshKeyForAuthenticated: [ - "DELETE /user/keys/{key_id}", + 'DELETE /user/keys/{key_id}', {}, - { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + { renamed: ['users', 'deletePublicSshKeyForAuthenticatedUser'] } + ], + deletePublicSshKeyForAuthenticatedUser: ['DELETE /user/keys/{key_id}'], + deleteSocialAccountForAuthenticatedUser: [ + 'DELETE /user/social_accounts' ], - deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], - deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], deleteSshSigningKeyForAuthenticatedUser: [ - "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + 'DELETE /user/ssh_signing_keys/{ssh_signing_key_id}' ], - follow: ["PUT /user/following/{username}"], - getAuthenticated: ["GET /user"], - getByUsername: ["GET /users/{username}"], - getContextForUser: ["GET /users/{username}/hovercard"], + follow: ['PUT /user/following/{username}'], + getAuthenticated: ['GET /user'], + getByUsername: ['GET /users/{username}'], + getContextForUser: ['GET /users/{username}/hovercard'], getGpgKeyForAuthenticated: [ - "GET /user/gpg_keys/{gpg_key_id}", + 'GET /user/gpg_keys/{gpg_key_id}', {}, - { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + { renamed: ['users', 'getGpgKeyForAuthenticatedUser'] } ], - getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getGpgKeyForAuthenticatedUser: ['GET /user/gpg_keys/{gpg_key_id}'], getPublicSshKeyForAuthenticated: [ - "GET /user/keys/{key_id}", + 'GET /user/keys/{key_id}', {}, - { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + { renamed: ['users', 'getPublicSshKeyForAuthenticatedUser'] } ], - getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getPublicSshKeyForAuthenticatedUser: ['GET /user/keys/{key_id}'], getSshSigningKeyForAuthenticatedUser: [ - "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + 'GET /user/ssh_signing_keys/{ssh_signing_key_id}' ], - list: ["GET /users"], + list: ['GET /users'], listBlockedByAuthenticated: [ - "GET /user/blocks", + 'GET /user/blocks', {}, - { renamed: ["users", "listBlockedByAuthenticatedUser"] } + { renamed: ['users', 'listBlockedByAuthenticatedUser'] } ], - listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listBlockedByAuthenticatedUser: ['GET /user/blocks'], listEmailsForAuthenticated: [ - "GET /user/emails", + 'GET /user/emails', {}, - { renamed: ["users", "listEmailsForAuthenticatedUser"] } + { renamed: ['users', 'listEmailsForAuthenticatedUser'] } ], - listEmailsForAuthenticatedUser: ["GET /user/emails"], + listEmailsForAuthenticatedUser: ['GET /user/emails'], listFollowedByAuthenticated: [ - "GET /user/following", + 'GET /user/following', {}, - { renamed: ["users", "listFollowedByAuthenticatedUser"] } + { renamed: ['users', 'listFollowedByAuthenticatedUser'] } ], - listFollowedByAuthenticatedUser: ["GET /user/following"], - listFollowersForAuthenticatedUser: ["GET /user/followers"], - listFollowersForUser: ["GET /users/{username}/followers"], - listFollowingForUser: ["GET /users/{username}/following"], + listFollowedByAuthenticatedUser: ['GET /user/following'], + listFollowersForAuthenticatedUser: ['GET /user/followers'], + listFollowersForUser: ['GET /users/{username}/followers'], + listFollowingForUser: ['GET /users/{username}/following'], listGpgKeysForAuthenticated: [ - "GET /user/gpg_keys", + 'GET /user/gpg_keys', {}, - { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + { renamed: ['users', 'listGpgKeysForAuthenticatedUser'] } ], - listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], - listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listGpgKeysForAuthenticatedUser: ['GET /user/gpg_keys'], + listGpgKeysForUser: ['GET /users/{username}/gpg_keys'], listPublicEmailsForAuthenticated: [ - "GET /user/public_emails", + 'GET /user/public_emails', {}, - { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + { renamed: ['users', 'listPublicEmailsForAuthenticatedUser'] } ], - listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], - listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicEmailsForAuthenticatedUser: ['GET /user/public_emails'], + listPublicKeysForUser: ['GET /users/{username}/keys'], listPublicSshKeysForAuthenticated: [ - "GET /user/keys", + 'GET /user/keys', {}, - { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + { renamed: ['users', 'listPublicSshKeysForAuthenticatedUser'] } ], - listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], - listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], - listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], - listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], - listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + listPublicSshKeysForAuthenticatedUser: ['GET /user/keys'], + listSocialAccountsForAuthenticatedUser: ['GET /user/social_accounts'], + listSocialAccountsForUser: ['GET /users/{username}/social_accounts'], + listSshSigningKeysForAuthenticatedUser: ['GET /user/ssh_signing_keys'], + listSshSigningKeysForUser: ['GET /users/{username}/ssh_signing_keys'], setPrimaryEmailVisibilityForAuthenticated: [ - "PATCH /user/email/visibility", + 'PATCH /user/email/visibility', {}, - { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + { + renamed: ['users', 'setPrimaryEmailVisibilityForAuthenticatedUser'] + } ], setPrimaryEmailVisibilityForAuthenticatedUser: [ - "PATCH /user/email/visibility" + 'PATCH /user/email/visibility' ], - unblock: ["DELETE /user/blocks/{username}"], - unfollow: ["DELETE /user/following/{username}"], - updateAuthenticated: ["PATCH /user"] + unblock: ['DELETE /user/blocks/{username}'], + unfollow: ['DELETE /user/following/{username}'], + updateAuthenticated: ['PATCH /user'] } - }; - var endpoints_default = Endpoints; - var endpointMethodsMap = /* @__PURE__ */ new Map(); + } + var endpoints_default = Endpoints + var endpointMethodsMap = /* @__PURE__ */ new Map() for (const [scope, endpoints] of Object.entries(endpoints_default)) { for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); + const [route, defaults, decorations] = endpoint + const [method, url] = route.split(/ /) const endpointDefaults = Object.assign( { method, url }, defaults - ); + ) if (!endpointMethodsMap.has(scope)) { - endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()) } endpointMethodsMap.get(scope).set(methodName, { scope, methodName, endpointDefaults, decorations - }); + }) } } var handler = { has({ scope }, methodName) { - return endpointMethodsMap.get(scope).has(methodName); + return endpointMethodsMap.get(scope).has(methodName) }, getOwnPropertyDescriptor(target, methodName) { return { @@ -36559,31 +41753,31 @@ var require_dist_node9 = __commonJS({ configurable: true, writable: true, enumerable: true - }; + } }, defineProperty(target, methodName, descriptor) { - Object.defineProperty(target.cache, methodName, descriptor); - return true; + Object.defineProperty(target.cache, methodName, descriptor) + return true }, deleteProperty(target, methodName) { - delete target.cache[methodName]; - return true; + delete target.cache[methodName] + return true }, ownKeys({ scope }) { - return [...endpointMethodsMap.get(scope).keys()]; + return [...endpointMethodsMap.get(scope).keys()] }, set(target, methodName, value) { - return target.cache[methodName] = value; + return (target.cache[methodName] = value) }, get({ octokit, scope, cache }, methodName) { if (cache[methodName]) { - return cache[methodName]; + return cache[methodName] } - const method = endpointMethodsMap.get(scope).get(methodName); + const method = endpointMethodsMap.get(scope).get(methodName) if (!method) { - return void 0; + return void 0 } - const { endpointDefaults, decorations } = method; + const { endpointDefaults, decorations } = method if (decorations) { cache[methodName] = decorate( octokit, @@ -36591,443 +41785,454 @@ var require_dist_node9 = __commonJS({ methodName, endpointDefaults, decorations - ); + ) } else { - cache[methodName] = octokit.request.defaults(endpointDefaults); + cache[methodName] = octokit.request.defaults(endpointDefaults) } - return cache[methodName]; + return cache[methodName] } - }; + } function endpointsToMethods(octokit) { - const newMethods = {}; + const newMethods = {} for (const scope of endpointMethodsMap.keys()) { - newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler) } - return newMethods; + return newMethods } function decorate(octokit, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit.request.defaults(defaults); + const requestWithDefaults = octokit.request.defaults(defaults) function withDecorations(...args) { - let options = requestWithDefaults.endpoint.merge(...args); + let options = requestWithDefaults.endpoint.merge(...args) if (decorations.mapToData) { options = Object.assign({}, options, { data: options[decorations.mapToData], [decorations.mapToData]: void 0 - }); - return requestWithDefaults(options); + }) + return requestWithDefaults(options) } if (decorations.renamed) { - const [newScope, newMethodName] = decorations.renamed; + const [newScope, newMethodName] = decorations.renamed octokit.log.warn( `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` - ); + ) } if (decorations.deprecated) { - octokit.log.warn(decorations.deprecated); + octokit.log.warn(decorations.deprecated) } if (decorations.renamedParameters) { - const options2 = requestWithDefaults.endpoint.merge(...args); + const options2 = requestWithDefaults.endpoint.merge(...args) for (const [name, alias] of Object.entries( decorations.renamedParameters )) { if (name in options2) { octokit.log.warn( `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` - ); + ) if (!(alias in options2)) { - options2[alias] = options2[name]; + options2[alias] = options2[name] } - delete options2[name]; + delete options2[name] } } - return requestWithDefaults(options2); + return requestWithDefaults(options2) } - return requestWithDefaults(...args); + return requestWithDefaults(...args) } - return Object.assign(withDecorations, requestWithDefaults); + return Object.assign(withDecorations, requestWithDefaults) } function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); + const api = endpointsToMethods(octokit) return { rest: api - }; + } } - restEndpointMethods.VERSION = VERSION; + restEndpointMethods.VERSION = VERSION function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); + const api = endpointsToMethods(octokit) return { ...api, rest: api - }; + } } - legacyRestEndpointMethods.VERSION = VERSION; + legacyRestEndpointMethods.VERSION = VERSION } -}); +}) // ../../node_modules/.pnpm/@octokit+plugin-paginate-rest@9.1.2_@octokit+core@5.0.1/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js var require_dist_node10 = __commonJS({ - "../../node_modules/.pnpm/@octokit+plugin-paginate-rest@9.1.2_@octokit+core@5.0.1/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports, module2) { - "use strict"; - var __defProp2 = Object.defineProperty; - var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; - var __getOwnPropNames2 = Object.getOwnPropertyNames; - var __hasOwnProp2 = Object.prototype.hasOwnProperty; + '../../node_modules/.pnpm/@octokit+plugin-paginate-rest@9.1.2_@octokit+core@5.0.1/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js'( + exports, + module2 + ) { + 'use strict' + var __defProp2 = Object.defineProperty + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor + var __getOwnPropNames2 = Object.getOwnPropertyNames + var __hasOwnProp2 = Object.prototype.hasOwnProperty var __export2 = (target, all) => { for (var name in all) - __defProp2(target, name, { get: all[name], enumerable: true }); - }; + __defProp2(target, name, { get: all[name], enumerable: true }) + } var __copyProps2 = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === 'object') || typeof from === 'function') { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) - __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + __defProp2(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable + }) } - return to; - }; - var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); - var dist_src_exports = {}; + return to + } + var __toCommonJS2 = (mod) => + __copyProps2(__defProp2({}, '__esModule', { value: true }), mod) + var dist_src_exports = {} __export2(dist_src_exports, { composePaginateRest: () => composePaginateRest, isPaginatingEndpoint: () => isPaginatingEndpoint, paginateRest: () => paginateRest, paginatingEndpoints: () => paginatingEndpoints - }); - module2.exports = __toCommonJS2(dist_src_exports); - var VERSION = "9.1.2"; + }) + module2.exports = __toCommonJS2(dist_src_exports) + var VERSION = '9.1.2' function normalizePaginatedListResponse(response) { if (!response.data) { return { ...response, data: [] - }; - } - const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); - if (!responseNeedsNormalization) - return response; - const incompleteResults = response.data.incomplete_results; - const repositorySelection = response.data.repository_selection; - const totalCount = response.data.total_count; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - const namespaceKey = Object.keys(response.data)[0]; - const data = response.data[namespaceKey]; - response.data = data; - if (typeof incompleteResults !== "undefined") { - response.data.incomplete_results = incompleteResults; - } - if (typeof repositorySelection !== "undefined") { - response.data.repository_selection = repositorySelection; - } - response.data.total_count = totalCount; - return response; + } + } + const responseNeedsNormalization = + 'total_count' in response.data && !('url' in response.data) + if (!responseNeedsNormalization) return response + const incompleteResults = response.data.incomplete_results + const repositorySelection = response.data.repository_selection + const totalCount = response.data.total_count + delete response.data.incomplete_results + delete response.data.repository_selection + delete response.data.total_count + const namespaceKey = Object.keys(response.data)[0] + const data = response.data[namespaceKey] + response.data = data + if (typeof incompleteResults !== 'undefined') { + response.data.incomplete_results = incompleteResults + } + if (typeof repositorySelection !== 'undefined') { + response.data.repository_selection = repositorySelection + } + response.data.total_count = totalCount + return response } function iterator(octokit, route, parameters) { - const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); - const requestMethod = typeof route === "function" ? route : octokit.request; - const method = options.method; - const headers = options.headers; - let url = options.url; + const options = + typeof route === 'function' + ? route.endpoint(parameters) + : octokit.request.endpoint(route, parameters) + const requestMethod = + typeof route === 'function' ? route : octokit.request + const method = options.method + const headers = options.headers + let url = options.url return { [Symbol.asyncIterator]: () => ({ async next() { - if (!url) - return { done: true }; + if (!url) return { done: true } try { - const response = await requestMethod({ method, url, headers }); - const normalizedResponse = normalizePaginatedListResponse(response); - url = ((normalizedResponse.headers.link || "").match( + const response = await requestMethod({ method, url, headers }) + const normalizedResponse = + normalizePaginatedListResponse(response) + url = ((normalizedResponse.headers.link || '').match( /<([^>]+)>;\s*rel="next"/ - ) || [])[1]; - return { value: normalizedResponse }; + ) || [])[1] + return { value: normalizedResponse } } catch (error) { - if (error.status !== 409) - throw error; - url = ""; + if (error.status !== 409) throw error + url = '' return { value: { status: 200, headers: {}, data: [] } - }; + } } } }) - }; + } } function paginate(octokit, route, parameters, mapFn) { - if (typeof parameters === "function") { - mapFn = parameters; - parameters = void 0; + if (typeof parameters === 'function') { + mapFn = parameters + parameters = void 0 } return gather( octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn - ); + ) } function gather(octokit, results, iterator2, mapFn) { return iterator2.next().then((result) => { if (result.done) { - return results; + return results } - let earlyExit = false; + let earlyExit = false function done() { - earlyExit = true; + earlyExit = true } results = results.concat( mapFn ? mapFn(result.value, done) : result.value.data - ); + ) if (earlyExit) { - return results; + return results } - return gather(octokit, results, iterator2, mapFn); - }); + return gather(octokit, results, iterator2, mapFn) + }) } var composePaginateRest = Object.assign(paginate, { iterator - }); + }) var paginatingEndpoints = [ - "GET /advisories", - "GET /app/hook/deliveries", - "GET /app/installation-requests", - "GET /app/installations", - "GET /assignments/{assignment_id}/accepted_assignments", - "GET /classrooms", - "GET /classrooms/{classroom_id}/assignments", - "GET /enterprises/{enterprise}/dependabot/alerts", - "GET /enterprises/{enterprise}/secret-scanning/alerts", - "GET /events", - "GET /gists", - "GET /gists/public", - "GET /gists/starred", - "GET /gists/{gist_id}/comments", - "GET /gists/{gist_id}/commits", - "GET /gists/{gist_id}/forks", - "GET /installation/repositories", - "GET /issues", - "GET /licenses", - "GET /marketplace_listing/plans", - "GET /marketplace_listing/plans/{plan_id}/accounts", - "GET /marketplace_listing/stubbed/plans", - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", - "GET /networks/{owner}/{repo}/events", - "GET /notifications", - "GET /organizations", - "GET /orgs/{org}/actions/cache/usage-by-repository", - "GET /orgs/{org}/actions/permissions/repositories", - "GET /orgs/{org}/actions/runners", - "GET /orgs/{org}/actions/secrets", - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", - "GET /orgs/{org}/actions/variables", - "GET /orgs/{org}/actions/variables/{name}/repositories", - "GET /orgs/{org}/blocks", - "GET /orgs/{org}/code-scanning/alerts", - "GET /orgs/{org}/codespaces", - "GET /orgs/{org}/codespaces/secrets", - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", - "GET /orgs/{org}/copilot/billing/seats", - "GET /orgs/{org}/dependabot/alerts", - "GET /orgs/{org}/dependabot/secrets", - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", - "GET /orgs/{org}/events", - "GET /orgs/{org}/failed_invitations", - "GET /orgs/{org}/hooks", - "GET /orgs/{org}/hooks/{hook_id}/deliveries", - "GET /orgs/{org}/installations", - "GET /orgs/{org}/invitations", - "GET /orgs/{org}/invitations/{invitation_id}/teams", - "GET /orgs/{org}/issues", - "GET /orgs/{org}/members", - "GET /orgs/{org}/members/{username}/codespaces", - "GET /orgs/{org}/migrations", - "GET /orgs/{org}/migrations/{migration_id}/repositories", - "GET /orgs/{org}/outside_collaborators", - "GET /orgs/{org}/packages", - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", - "GET /orgs/{org}/personal-access-token-requests", - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", - "GET /orgs/{org}/personal-access-tokens", - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", - "GET /orgs/{org}/projects", - "GET /orgs/{org}/properties/values", - "GET /orgs/{org}/public_members", - "GET /orgs/{org}/repos", - "GET /orgs/{org}/rulesets", - "GET /orgs/{org}/rulesets/rule-suites", - "GET /orgs/{org}/secret-scanning/alerts", - "GET /orgs/{org}/security-advisories", - "GET /orgs/{org}/teams", - "GET /orgs/{org}/teams/{team_slug}/discussions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/invitations", - "GET /orgs/{org}/teams/{team_slug}/members", - "GET /orgs/{org}/teams/{team_slug}/projects", - "GET /orgs/{org}/teams/{team_slug}/repos", - "GET /orgs/{org}/teams/{team_slug}/teams", - "GET /projects/columns/{column_id}/cards", - "GET /projects/{project_id}/collaborators", - "GET /projects/{project_id}/columns", - "GET /repos/{owner}/{repo}/actions/artifacts", - "GET /repos/{owner}/{repo}/actions/caches", - "GET /repos/{owner}/{repo}/actions/organization-secrets", - "GET /repos/{owner}/{repo}/actions/organization-variables", - "GET /repos/{owner}/{repo}/actions/runners", - "GET /repos/{owner}/{repo}/actions/runs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", - "GET /repos/{owner}/{repo}/actions/secrets", - "GET /repos/{owner}/{repo}/actions/variables", - "GET /repos/{owner}/{repo}/actions/workflows", - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", - "GET /repos/{owner}/{repo}/activity", - "GET /repos/{owner}/{repo}/assignees", - "GET /repos/{owner}/{repo}/branches", - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", - "GET /repos/{owner}/{repo}/code-scanning/alerts", - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", - "GET /repos/{owner}/{repo}/code-scanning/analyses", - "GET /repos/{owner}/{repo}/codespaces", - "GET /repos/{owner}/{repo}/codespaces/devcontainers", - "GET /repos/{owner}/{repo}/codespaces/secrets", - "GET /repos/{owner}/{repo}/collaborators", - "GET /repos/{owner}/{repo}/comments", - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/commits", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", - "GET /repos/{owner}/{repo}/commits/{ref}/status", - "GET /repos/{owner}/{repo}/commits/{ref}/statuses", - "GET /repos/{owner}/{repo}/contributors", - "GET /repos/{owner}/{repo}/dependabot/alerts", - "GET /repos/{owner}/{repo}/dependabot/secrets", - "GET /repos/{owner}/{repo}/deployments", - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", - "GET /repos/{owner}/{repo}/environments", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", - "GET /repos/{owner}/{repo}/events", - "GET /repos/{owner}/{repo}/forks", - "GET /repos/{owner}/{repo}/hooks", - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", - "GET /repos/{owner}/{repo}/invitations", - "GET /repos/{owner}/{repo}/issues", - "GET /repos/{owner}/{repo}/issues/comments", - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/issues/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", - "GET /repos/{owner}/{repo}/issues/{issue_number}/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", - "GET /repos/{owner}/{repo}/keys", - "GET /repos/{owner}/{repo}/labels", - "GET /repos/{owner}/{repo}/milestones", - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", - "GET /repos/{owner}/{repo}/notifications", - "GET /repos/{owner}/{repo}/pages/builds", - "GET /repos/{owner}/{repo}/projects", - "GET /repos/{owner}/{repo}/pulls", - "GET /repos/{owner}/{repo}/pulls/comments", - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", - "GET /repos/{owner}/{repo}/releases", - "GET /repos/{owner}/{repo}/releases/{release_id}/assets", - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", - "GET /repos/{owner}/{repo}/rules/branches/{branch}", - "GET /repos/{owner}/{repo}/rulesets", - "GET /repos/{owner}/{repo}/rulesets/rule-suites", - "GET /repos/{owner}/{repo}/secret-scanning/alerts", - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", - "GET /repos/{owner}/{repo}/security-advisories", - "GET /repos/{owner}/{repo}/stargazers", - "GET /repos/{owner}/{repo}/subscribers", - "GET /repos/{owner}/{repo}/tags", - "GET /repos/{owner}/{repo}/teams", - "GET /repos/{owner}/{repo}/topics", - "GET /repositories", - "GET /repositories/{repository_id}/environments/{environment_name}/secrets", - "GET /repositories/{repository_id}/environments/{environment_name}/variables", - "GET /search/code", - "GET /search/commits", - "GET /search/issues", - "GET /search/labels", - "GET /search/repositories", - "GET /search/topics", - "GET /search/users", - "GET /teams/{team_id}/discussions", - "GET /teams/{team_id}/discussions/{discussion_number}/comments", - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /teams/{team_id}/discussions/{discussion_number}/reactions", - "GET /teams/{team_id}/invitations", - "GET /teams/{team_id}/members", - "GET /teams/{team_id}/projects", - "GET /teams/{team_id}/repos", - "GET /teams/{team_id}/teams", - "GET /user/blocks", - "GET /user/codespaces", - "GET /user/codespaces/secrets", - "GET /user/emails", - "GET /user/followers", - "GET /user/following", - "GET /user/gpg_keys", - "GET /user/installations", - "GET /user/installations/{installation_id}/repositories", - "GET /user/issues", - "GET /user/keys", - "GET /user/marketplace_purchases", - "GET /user/marketplace_purchases/stubbed", - "GET /user/memberships/orgs", - "GET /user/migrations", - "GET /user/migrations/{migration_id}/repositories", - "GET /user/orgs", - "GET /user/packages", - "GET /user/packages/{package_type}/{package_name}/versions", - "GET /user/public_emails", - "GET /user/repos", - "GET /user/repository_invitations", - "GET /user/social_accounts", - "GET /user/ssh_signing_keys", - "GET /user/starred", - "GET /user/subscriptions", - "GET /user/teams", - "GET /users", - "GET /users/{username}/events", - "GET /users/{username}/events/orgs/{org}", - "GET /users/{username}/events/public", - "GET /users/{username}/followers", - "GET /users/{username}/following", - "GET /users/{username}/gists", - "GET /users/{username}/gpg_keys", - "GET /users/{username}/keys", - "GET /users/{username}/orgs", - "GET /users/{username}/packages", - "GET /users/{username}/projects", - "GET /users/{username}/received_events", - "GET /users/{username}/received_events/public", - "GET /users/{username}/repos", - "GET /users/{username}/social_accounts", - "GET /users/{username}/ssh_signing_keys", - "GET /users/{username}/starred", - "GET /users/{username}/subscriptions" - ]; + 'GET /advisories', + 'GET /app/hook/deliveries', + 'GET /app/installation-requests', + 'GET /app/installations', + 'GET /assignments/{assignment_id}/accepted_assignments', + 'GET /classrooms', + 'GET /classrooms/{classroom_id}/assignments', + 'GET /enterprises/{enterprise}/dependabot/alerts', + 'GET /enterprises/{enterprise}/secret-scanning/alerts', + 'GET /events', + 'GET /gists', + 'GET /gists/public', + 'GET /gists/starred', + 'GET /gists/{gist_id}/comments', + 'GET /gists/{gist_id}/commits', + 'GET /gists/{gist_id}/forks', + 'GET /installation/repositories', + 'GET /issues', + 'GET /licenses', + 'GET /marketplace_listing/plans', + 'GET /marketplace_listing/plans/{plan_id}/accounts', + 'GET /marketplace_listing/stubbed/plans', + 'GET /marketplace_listing/stubbed/plans/{plan_id}/accounts', + 'GET /networks/{owner}/{repo}/events', + 'GET /notifications', + 'GET /organizations', + 'GET /orgs/{org}/actions/cache/usage-by-repository', + 'GET /orgs/{org}/actions/permissions/repositories', + 'GET /orgs/{org}/actions/runners', + 'GET /orgs/{org}/actions/secrets', + 'GET /orgs/{org}/actions/secrets/{secret_name}/repositories', + 'GET /orgs/{org}/actions/variables', + 'GET /orgs/{org}/actions/variables/{name}/repositories', + 'GET /orgs/{org}/blocks', + 'GET /orgs/{org}/code-scanning/alerts', + 'GET /orgs/{org}/codespaces', + 'GET /orgs/{org}/codespaces/secrets', + 'GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories', + 'GET /orgs/{org}/copilot/billing/seats', + 'GET /orgs/{org}/dependabot/alerts', + 'GET /orgs/{org}/dependabot/secrets', + 'GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories', + 'GET /orgs/{org}/events', + 'GET /orgs/{org}/failed_invitations', + 'GET /orgs/{org}/hooks', + 'GET /orgs/{org}/hooks/{hook_id}/deliveries', + 'GET /orgs/{org}/installations', + 'GET /orgs/{org}/invitations', + 'GET /orgs/{org}/invitations/{invitation_id}/teams', + 'GET /orgs/{org}/issues', + 'GET /orgs/{org}/members', + 'GET /orgs/{org}/members/{username}/codespaces', + 'GET /orgs/{org}/migrations', + 'GET /orgs/{org}/migrations/{migration_id}/repositories', + 'GET /orgs/{org}/outside_collaborators', + 'GET /orgs/{org}/packages', + 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions', + 'GET /orgs/{org}/personal-access-token-requests', + 'GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories', + 'GET /orgs/{org}/personal-access-tokens', + 'GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories', + 'GET /orgs/{org}/projects', + 'GET /orgs/{org}/properties/values', + 'GET /orgs/{org}/public_members', + 'GET /orgs/{org}/repos', + 'GET /orgs/{org}/rulesets', + 'GET /orgs/{org}/rulesets/rule-suites', + 'GET /orgs/{org}/secret-scanning/alerts', + 'GET /orgs/{org}/security-advisories', + 'GET /orgs/{org}/teams', + 'GET /orgs/{org}/teams/{team_slug}/discussions', + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments', + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions', + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions', + 'GET /orgs/{org}/teams/{team_slug}/invitations', + 'GET /orgs/{org}/teams/{team_slug}/members', + 'GET /orgs/{org}/teams/{team_slug}/projects', + 'GET /orgs/{org}/teams/{team_slug}/repos', + 'GET /orgs/{org}/teams/{team_slug}/teams', + 'GET /projects/columns/{column_id}/cards', + 'GET /projects/{project_id}/collaborators', + 'GET /projects/{project_id}/columns', + 'GET /repos/{owner}/{repo}/actions/artifacts', + 'GET /repos/{owner}/{repo}/actions/caches', + 'GET /repos/{owner}/{repo}/actions/organization-secrets', + 'GET /repos/{owner}/{repo}/actions/organization-variables', + 'GET /repos/{owner}/{repo}/actions/runners', + 'GET /repos/{owner}/{repo}/actions/runs', + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs', + 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs', + 'GET /repos/{owner}/{repo}/actions/secrets', + 'GET /repos/{owner}/{repo}/actions/variables', + 'GET /repos/{owner}/{repo}/actions/workflows', + 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', + 'GET /repos/{owner}/{repo}/activity', + 'GET /repos/{owner}/{repo}/assignees', + 'GET /repos/{owner}/{repo}/branches', + 'GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations', + 'GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs', + 'GET /repos/{owner}/{repo}/code-scanning/alerts', + 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', + 'GET /repos/{owner}/{repo}/code-scanning/analyses', + 'GET /repos/{owner}/{repo}/codespaces', + 'GET /repos/{owner}/{repo}/codespaces/devcontainers', + 'GET /repos/{owner}/{repo}/codespaces/secrets', + 'GET /repos/{owner}/{repo}/collaborators', + 'GET /repos/{owner}/{repo}/comments', + 'GET /repos/{owner}/{repo}/comments/{comment_id}/reactions', + 'GET /repos/{owner}/{repo}/commits', + 'GET /repos/{owner}/{repo}/commits/{commit_sha}/comments', + 'GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls', + 'GET /repos/{owner}/{repo}/commits/{ref}/check-runs', + 'GET /repos/{owner}/{repo}/commits/{ref}/check-suites', + 'GET /repos/{owner}/{repo}/commits/{ref}/status', + 'GET /repos/{owner}/{repo}/commits/{ref}/statuses', + 'GET /repos/{owner}/{repo}/contributors', + 'GET /repos/{owner}/{repo}/dependabot/alerts', + 'GET /repos/{owner}/{repo}/dependabot/secrets', + 'GET /repos/{owner}/{repo}/deployments', + 'GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses', + 'GET /repos/{owner}/{repo}/environments', + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies', + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps', + 'GET /repos/{owner}/{repo}/events', + 'GET /repos/{owner}/{repo}/forks', + 'GET /repos/{owner}/{repo}/hooks', + 'GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries', + 'GET /repos/{owner}/{repo}/invitations', + 'GET /repos/{owner}/{repo}/issues', + 'GET /repos/{owner}/{repo}/issues/comments', + 'GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions', + 'GET /repos/{owner}/{repo}/issues/events', + 'GET /repos/{owner}/{repo}/issues/{issue_number}/comments', + 'GET /repos/{owner}/{repo}/issues/{issue_number}/events', + 'GET /repos/{owner}/{repo}/issues/{issue_number}/labels', + 'GET /repos/{owner}/{repo}/issues/{issue_number}/reactions', + 'GET /repos/{owner}/{repo}/issues/{issue_number}/timeline', + 'GET /repos/{owner}/{repo}/keys', + 'GET /repos/{owner}/{repo}/labels', + 'GET /repos/{owner}/{repo}/milestones', + 'GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels', + 'GET /repos/{owner}/{repo}/notifications', + 'GET /repos/{owner}/{repo}/pages/builds', + 'GET /repos/{owner}/{repo}/projects', + 'GET /repos/{owner}/{repo}/pulls', + 'GET /repos/{owner}/{repo}/pulls/comments', + 'GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions', + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/comments', + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/commits', + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/files', + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews', + 'GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments', + 'GET /repos/{owner}/{repo}/releases', + 'GET /repos/{owner}/{repo}/releases/{release_id}/assets', + 'GET /repos/{owner}/{repo}/releases/{release_id}/reactions', + 'GET /repos/{owner}/{repo}/rules/branches/{branch}', + 'GET /repos/{owner}/{repo}/rulesets', + 'GET /repos/{owner}/{repo}/rulesets/rule-suites', + 'GET /repos/{owner}/{repo}/secret-scanning/alerts', + 'GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations', + 'GET /repos/{owner}/{repo}/security-advisories', + 'GET /repos/{owner}/{repo}/stargazers', + 'GET /repos/{owner}/{repo}/subscribers', + 'GET /repos/{owner}/{repo}/tags', + 'GET /repos/{owner}/{repo}/teams', + 'GET /repos/{owner}/{repo}/topics', + 'GET /repositories', + 'GET /repositories/{repository_id}/environments/{environment_name}/secrets', + 'GET /repositories/{repository_id}/environments/{environment_name}/variables', + 'GET /search/code', + 'GET /search/commits', + 'GET /search/issues', + 'GET /search/labels', + 'GET /search/repositories', + 'GET /search/topics', + 'GET /search/users', + 'GET /teams/{team_id}/discussions', + 'GET /teams/{team_id}/discussions/{discussion_number}/comments', + 'GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions', + 'GET /teams/{team_id}/discussions/{discussion_number}/reactions', + 'GET /teams/{team_id}/invitations', + 'GET /teams/{team_id}/members', + 'GET /teams/{team_id}/projects', + 'GET /teams/{team_id}/repos', + 'GET /teams/{team_id}/teams', + 'GET /user/blocks', + 'GET /user/codespaces', + 'GET /user/codespaces/secrets', + 'GET /user/emails', + 'GET /user/followers', + 'GET /user/following', + 'GET /user/gpg_keys', + 'GET /user/installations', + 'GET /user/installations/{installation_id}/repositories', + 'GET /user/issues', + 'GET /user/keys', + 'GET /user/marketplace_purchases', + 'GET /user/marketplace_purchases/stubbed', + 'GET /user/memberships/orgs', + 'GET /user/migrations', + 'GET /user/migrations/{migration_id}/repositories', + 'GET /user/orgs', + 'GET /user/packages', + 'GET /user/packages/{package_type}/{package_name}/versions', + 'GET /user/public_emails', + 'GET /user/repos', + 'GET /user/repository_invitations', + 'GET /user/social_accounts', + 'GET /user/ssh_signing_keys', + 'GET /user/starred', + 'GET /user/subscriptions', + 'GET /user/teams', + 'GET /users', + 'GET /users/{username}/events', + 'GET /users/{username}/events/orgs/{org}', + 'GET /users/{username}/events/public', + 'GET /users/{username}/followers', + 'GET /users/{username}/following', + 'GET /users/{username}/gists', + 'GET /users/{username}/gpg_keys', + 'GET /users/{username}/keys', + 'GET /users/{username}/orgs', + 'GET /users/{username}/packages', + 'GET /users/{username}/projects', + 'GET /users/{username}/received_events', + 'GET /users/{username}/received_events/public', + 'GET /users/{username}/repos', + 'GET /users/{username}/social_accounts', + 'GET /users/{username}/ssh_signing_keys', + 'GET /users/{username}/starred', + 'GET /users/{username}/subscriptions' + ] function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); + if (typeof arg === 'string') { + return paginatingEndpoints.includes(arg) } else { - return false; + return false } } function paginateRest(octokit) { @@ -37035,141 +42240,180 @@ var require_dist_node10 = __commonJS({ paginate: Object.assign(paginate.bind(null, octokit), { iterator: iterator.bind(null, octokit) }) - }; + } } - paginateRest.VERSION = VERSION; + paginateRest.VERSION = VERSION } -}); +}) // ../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/utils.js var require_utils5 = __commonJS({ - "../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/utils.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; - var Context = __importStar(require_context()); - var Utils = __importStar(require_utils4()); - var core_1 = require_dist_node8(); - var plugin_rest_endpoint_methods_1 = require_dist_node9(); - var plugin_paginate_rest_1 = require_dist_node10(); - exports.context = new Context.Context(); - var baseUrl = Utils.getApiBaseUrl(); + '../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/utils.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + var desc = Object.getOwnPropertyDescriptor(m, k) + if ( + !desc || + ('get' in desc + ? !m.__esModule + : desc.writable || desc.configurable) + ) { + desc = { + enumerable: true, + get: function () { + return m[k] + } + } + } + Object.defineProperty(o, k2, desc) + } + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.getOctokitOptions = + exports.GitHub = + exports.defaults = + exports.context = + void 0 + var Context = __importStar(require_context()) + var Utils = __importStar(require_utils4()) + var core_1 = require_dist_node8() + var plugin_rest_endpoint_methods_1 = require_dist_node9() + var plugin_paginate_rest_1 = require_dist_node10() + exports.context = new Context.Context() + var baseUrl = Utils.getApiBaseUrl() exports.defaults = { baseUrl, request: { agent: Utils.getProxyAgent(baseUrl), fetch: Utils.getProxyFetch(baseUrl) } - }; - exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); + } + exports.GitHub = core_1.Octokit.plugin( + plugin_rest_endpoint_methods_1.restEndpointMethods, + plugin_paginate_rest_1.paginateRest + ).defaults(exports.defaults) function getOctokitOptions(token, options) { - const opts = Object.assign({}, options || {}); - const auth = Utils.getAuthString(token, opts); + const opts = Object.assign({}, options || {}) + const auth = Utils.getAuthString(token, opts) if (auth) { - opts.auth = auth; + opts.auth = auth } - return opts; + return opts } - exports.getOctokitOptions = getOctokitOptions; + exports.getOctokitOptions = getOctokitOptions } -}); +}) // ../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/github.js var require_github = __commonJS({ - "../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/github.js"(exports) { - "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports && exports.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getOctokit = exports.context = void 0; - var Context = __importStar(require_context()); - var utils_1 = require_utils5(); - exports.context = new Context.Context(); + '../../node_modules/.pnpm/@actions+github@6.0.0/node_modules/@actions/github/lib/github.js'( + exports + ) { + 'use strict' + var __createBinding = + (exports && exports.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === void 0) k2 = k + var desc = Object.getOwnPropertyDescriptor(m, k) + if ( + !desc || + ('get' in desc + ? !m.__esModule + : desc.writable || desc.configurable) + ) { + desc = { + enumerable: true, + get: function () { + return m[k] + } + } + } + Object.defineProperty(o, k2, desc) + } + : function (o, m, k, k2) { + if (k2 === void 0) k2 = k + o[k2] = m[k] + }) + var __setModuleDefault = + (exports && exports.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }) + } + : function (o, v) { + o['default'] = v + }) + var __importStar = + (exports && exports.__importStar) || + function (mod) { + if (mod && mod.__esModule) return mod + var result = {} + if (mod != null) { + for (var k in mod) + if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k) + } + __setModuleDefault(result, mod) + return result + } + Object.defineProperty(exports, '__esModule', { value: true }) + exports.getOctokit = exports.context = void 0 + var Context = __importStar(require_context()) + var utils_1 = require_utils5() + exports.context = new Context.Context() function getOctokit(token, options, ...additionalPlugins) { - const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); - return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options)); + const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins) + return new GitHubWithPlugins( + (0, utils_1.getOctokitOptions)(token, options) + ) } - exports.getOctokit = getOctokit; + exports.getOctokit = getOctokit } -}); +}) // ../ghost/app/build.ts var build = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/app/closer.ts var closer = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/app/deploy.ts var deploy = { @@ -37181,52 +42425,53 @@ var deploy = { installation, repository: { default_branch } }) => { - if (!("commits" in payload)) { - return; + if (!('commits' in payload)) { + return } - const { after: head_sha } = payload; + const { after: head_sha } = payload if (Number(head_sha) === 0) { - return; + return } if (ref !== default_branch) { - return; + return } - const result = await installation.getFile("wrangler.toml"); + const result = await installation.getFile('wrangler.toml') if (!result?.data) { - return; + return } const { data: { id: check_run_id } } = await installation.kit.rest.checks.create({ repo, owner, - name: "Ghost Deploy", + name: 'Ghost Deploy', head_sha, - status: "in_progress" - }); + status: 'in_progress' + }) return { check_run_id - }; + } }, action: async ({ octokit, data, exec: exec2 }) => { - const { status, result } = data; - if (status === "error") { - return; + const { status, result } = data + if (status === 'error') { + return } const { exitCode, stdout, stderr } = await exec2.getExecOutput( - "npm run deploy", + 'npm run deploy', void 0, { ignoreReturnCode: true } - ); + ) await octokit.rest.checks.update({ check_run_id: result.check_run_id, - status: "completed", - conclusion: exitCode ? "failure" : "success", - output: exitCode ? { - title: "Deploy Failed", - summary: ` + status: 'completed', + conclusion: exitCode ? 'failure' : 'success', + output: exitCode + ? { + title: 'Deploy Failed', + summary: ` ## stdout \`\`\` ${stdout} @@ -37237,50 +42482,41 @@ ${stdout} ${stderr} \`\`\` ` - } : void 0 - }); + } + : void 0 + }) } -}; +} // ../ghost/app/docs.ts var docs = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/app/format.ts var format = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/app/lint.ts var lint = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/app/merge.ts var merge = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/app/release.ts var release = { - worker: async () => { - }, - action: async () => { - } -}; + worker: async () => {}, + action: async () => {} +} // ../ghost/apps.ts var apps = { @@ -37292,88 +42528,110 @@ var apps = { lint, merge, release -}; +} // ../ghost/actions.ts -var actions = (context) => Promise.allSettled( - Object.entries(apps).map( - ([name, app]) => app.action?.({ - ...context, - data: context.data instanceof Error ? { - status: "error", - result: context.data - } : context.data[name] - }) +var actions = (context) => + Promise.allSettled( + Object.entries(apps).map(([name, app]) => + app.action?.({ + ...context, + data: + context.data instanceof Error + ? { + status: 'error', + result: context.data + } + : context.data[name] + }) + ) ) -); // src/index.ts -var import_exec = __toESM(require_exec(), 1); +var import_exec = __toESM(require_exec(), 1) // ../../node_modules/.pnpm/@jill64+attempt@1.1.0/node_modules/@jill64/attempt/dist/index.js -var isPromise = (obj) => !!obj && (typeof obj === "object" || typeof obj === "function") && "then" in obj && typeof obj.then === "function"; +var isPromise = (obj) => + !!obj && + (typeof obj === 'object' || typeof obj === 'function') && + 'then' in obj && + typeof obj.then === 'function' function attempt(func, fallback) { - const argLen = arguments.length; + const argLen = arguments.length const handle = (error) => { if (argLen === 1) { if (error instanceof Error) { - return error; + return error } - throw error; + throw error } - return typeof fallback === "function" ? fallback(error instanceof Error ? error : null, error) : fallback; - }; + return typeof fallback === 'function' + ? fallback(error instanceof Error ? error : null, error) + : fallback + } try { - const result = func(); - return isPromise(result) ? result.then((_) => _, handle) : result; + const result = func() + return isPromise(result) ? result.then((_) => _, handle) : result } catch (error) { - return handle(error); + return handle(error) } } // ../../node_modules/.pnpm/octoflare@0.19.1/node_modules/octoflare/dist/action/action.js -var import_core = __toESM(require_core(), 1); -var import_github = __toESM(require_github(), 1); +var import_core = __toESM(require_core(), 1) +var import_github = __toESM(require_github(), 1) // ../../node_modules/.pnpm/octoflare@0.19.1/node_modules/octoflare/dist/utils/limitStr.js -var limitStr = (str, num) => str.length > num ? `${str.substring(0, num)}...` : str; +var limitStr = (str, num) => + str.length > num ? `${str.substring(0, num)}...` : str // ../../node_modules/.pnpm/octoflare@0.19.1/node_modules/octoflare/dist/utils/closeCheckRun.js -var closeCheckRun = ({ kit, check_run_id, owner, repo, conclusion, output, details_url }) => kit.rest.checks.update({ - check_run_id: check_run_id.toString(), +var closeCheckRun = ({ + kit, + check_run_id, owner, repo, - status: "completed", conclusion, - details_url, - output: output ? { - ...output, - title: limitStr(output.title, 1e3), - summary: limitStr(output.summary, 6e4), - ...output.text ? { text: limitStr(output.text, 6e4) } : {} - } : void 0 -}); + output, + details_url +}) => + kit.rest.checks.update({ + check_run_id: check_run_id.toString(), + owner, + repo, + status: 'completed', + conclusion, + details_url, + output: output + ? { + ...output, + title: limitStr(output.title, 1e3), + summary: limitStr(output.summary, 6e4), + ...(output.text ? { text: limitStr(output.text, 6e4) } : {}) + } + : void 0 + }) // ../../node_modules/.pnpm/octoflare@0.19.1/node_modules/octoflare/dist/utils/errorLogging.js var errorLogging = async ({ octokit, repo, owner, error, info }) => { try { - const errorTitle = `Octoflare Error: ${limitStr(error.message, 64)}`; + const errorTitle = `Octoflare Error: ${limitStr(error.message, 64)}` const { data: list } = await octokit.rest.issues.listForRepo({ owner, repo, per_page: 100, - state: "open", - labels: "octoflare-error" - }); - const exists = list.find(({ title }) => title === errorTitle); + state: 'open', + labels: 'octoflare-error' + }) + const exists = list.find(({ title }) => title === errorTitle) if (exists) { await octokit.rest.issues.createComment({ owner, repo, issue_number: exists.number, - body: info ?? "+1" - }); - return; + body: info ?? '+1' + }) + return } await octokit.rest.issues.create({ owner, @@ -37387,29 +42645,29 @@ ${error.message} ## Info [Recent Deliveries](https://github.com/settings/apps/${repo}/advanced) -${info ?? "No info provided"} +${info ?? 'No info provided'} ## Stack Trace \`\`\` ${error.stack} \`\`\` `, - labels: ["octoflare-error"] - }); + labels: ['octoflare-error'] + }) } catch (e) { - console.error(e); + console.error(e) } -}; +} // ../../node_modules/.pnpm/octoflare@0.19.1/node_modules/octoflare/dist/action/action.js var action = async (handler) => { - const payloadStr = import_core.default.getInput("payload", { required: true }); - const payload = JSON.parse(payloadStr); - const { token, app_token, check_run_id, owner, repo } = payload; - const octokit = import_github.default.getOctokit(token); - const appkit = import_github.default.getOctokit(app_token); - const { context } = import_github.default; - const details_url = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`; + const payloadStr = import_core.default.getInput('payload', { required: true }) + const payload = JSON.parse(payloadStr) + const { token, app_token, check_run_id, owner, repo } = payload + const octokit = import_github.default.getOctokit(token) + const appkit = import_github.default.getOctokit(app_token) + const { context } = import_github.default + const details_url = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}` const close = async (conclusion, output) => { if (check_run_id) { await closeCheckRun({ @@ -37420,23 +42678,25 @@ var action = async (handler) => { details_url, conclusion, output - }); + }) await Promise.all([ octokit.rest.apps.revokeInstallationAccessToken(), appkit.rest.apps.revokeInstallationAccessToken() - ]); + ]) } - }; + } try { const result = await handler({ octokit, appkit, payload - }); + }) if (result) { - return await (typeof result === "string" ? close(result) : close(result.conclusion, result.output)); + return await (typeof result === 'string' + ? close(result) + : close(result.conclusion, result.output)) } - await close("success"); + await close('success') } catch (e) { if (e instanceof Error) { await errorLogging({ @@ -37448,30 +42708,30 @@ Target Repo: [${owner}/${repo}](https://github.com/${owner}/${repo}) Cause on Action [Workflow Detail](${details_url}) ` - }); + }) } - await close("failure", { - title: "Octoflare Action Error", - summary: e instanceof Error ? e.message : "Unknown error" - }); - throw e; + await close('failure', { + title: 'Octoflare Action Error', + summary: e instanceof Error ? e.message : 'Unknown error' + }) + throw e } -}; +} // ../../node_modules/.pnpm/octoflare@0.19.1/node_modules/octoflare/dist/re-exports/actions/core.js -var core_exports = {}; -__reExport(core_exports, __toESM(require_core(), 1)); +var core_exports = {} +__reExport(core_exports, __toESM(require_core(), 1)) // src/index.ts action(async ({ octokit, payload: { repo, owner } }) => { const data = attempt( () => { - const str = core_exports.getInput("data"); - return JSON.parse(str); + const str = core_exports.getInput('data') + return JSON.parse(str) }, (e, o) => e ?? new Error(String(o)) - ); - const ref = core_exports.getInput("ref"); + ) + const ref = core_exports.getInput('ref') await actions({ ref, exec: import_exec.default, @@ -37479,8 +42739,8 @@ action(async ({ octokit, payload: { repo, owner } }) => { repo, owner, octokit - }); -}); + }) +}) /*! Bundled license information: undici/lib/fetch/body.js: