From 11fdcdf58e5aa21a06d46b93fe499c185270e405 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 17:50:25 +0000 Subject: [PATCH 1/3] Initial plan From 7f7ecaba68730d87c4549ebd8df2dcbf93fbd16e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 17:52:05 +0000 Subject: [PATCH 2/3] Add --conditions=import to esbuild to fix @actions/github v9.0.0 ESM build Co-authored-by: ahernandez411 <11199284+ahernandez411@users.noreply.github.com> --- .../dist/index.js | 38141 ++++++++++------ .../package.json | 4 +- 2 files changed, 23342 insertions(+), 14803 deletions(-) diff --git a/.github/actions/did-custom-action-code-change/dist/index.js b/.github/actions/did-custom-action-code-change/dist/index.js index fc25d2e..f997d4b 100644 --- a/.github/actions/did-custom-action-code-change/dist/index.js +++ b/.github/actions/did-custom-action-code-change/dist/index.js @@ -4,48 +4,44 @@ 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 __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 }); + for (var name in all) + __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 }); } return to; }; -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); +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/@actions/core/lib/utils.js var require_utils = __commonJS({ - 'node_modules/@actions/core/lib/utils.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.toCommandProperties = exports2.toCommandValue = void 0; function toCommandValue(input) { if (input === null || input === void 0) { - return ''; - } else if (typeof input === 'string' || input instanceof String) { + return ""; + } else if (typeof input === "string" || input instanceof String) { return input; } return JSON.stringify(input); @@ -70,62 +66,49 @@ var require_utils = __commonJS({ // node_modules/@actions/core/lib/command.js var require_command = __commonJS({ - 'node_modules/@actions/core/lib/command.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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 = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/command.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__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(exports2, "__esModule", { value: true }); exports2.issue = exports2.issueCommand = void 0; - var os = __importStar(require('os')); + 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); } exports2.issueCommand = issueCommand; - function issue(name, message = '') { + function issue(name, message = "") { issueCommand(name, {}, message); } exports2.issue = issue; - var CMD_STRING = '::'; + var CMD_STRING = "::"; var Command = class { constructor(command, properties, message) { if (!command) { - command = 'missing.command'; + command = "missing.command"; } this.command = command; this.properties = properties; @@ -134,7 +117,7 @@ var require_command = __commonJS({ toString() { let cmdStr = CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; + cmdStr += " "; let first = true; for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { @@ -143,7 +126,7 @@ var require_command = __commonJS({ if (first) { first = false; } else { - cmdStr += ','; + cmdStr += ","; } cmdStr += `${key}=${escapeProperty(val)}`; } @@ -155,419 +138,537 @@ var require_command = __commonJS({ } }; 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/uuid/dist/esm-node/rng.js -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - import_crypto.default.randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, (poolPtr += 16)); -} -var import_crypto, rnds8Pool, poolPtr; -var init_rng = __esm({ - 'node_modules/uuid/dist/esm-node/rng.js'() { - import_crypto = __toESM(require('crypto')); - rnds8Pool = new Uint8Array(256); - poolPtr = rnds8Pool.length; +// node_modules/uuid/dist/rng.js +var require_rng = __commonJS({ + "node_modules/uuid/dist/rng.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = rng; + var _crypto = _interopRequireDefault(require("crypto")); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var rnds8Pool = new Uint8Array(256); + var poolPtr = rnds8Pool.length; + function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); + } } }); -// node_modules/uuid/dist/esm-node/regex.js -var regex_default; -var init_regex = __esm({ - '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/uuid/dist/regex.js +var require_regex = __commonJS({ + "node_modules/uuid/dist/regex.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _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; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/validate.js -function validate(uuid) { - return typeof uuid === 'string' && regex_default.test(uuid); -} -var validate_default; -var init_validate = __esm({ - 'node_modules/uuid/dist/esm-node/validate.js'() { - init_regex(); - validate_default = validate; +// node_modules/uuid/dist/validate.js +var require_validate = __commonJS({ + "node_modules/uuid/dist/validate.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _regex = _interopRequireDefault(require_regex()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function validate(uuid) { + return typeof uuid === "string" && _regex.default.test(uuid); + } + var _default = validate; + exports2.default = _default; } }); -// 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(); - if (!validate_default(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - return uuid; -} -var byteToHex, stringify_default; -var init_stringify = __esm({ - 'node_modules/uuid/dist/esm-node/stringify.js'() { - init_validate(); - byteToHex = []; +// node_modules/uuid/dist/stringify.js +var require_stringify = __commonJS({ + "node_modules/uuid/dist/stringify.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _validate = _interopRequireDefault(require_validate()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var byteToHex = []; for (let i = 0; i < 256; ++i) { byteToHex.push((i + 256).toString(16).substr(1)); } - stringify_default = stringify; + 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(); + if (!(0, _validate.default)(uuid)) { + throw TypeError("Stringified UUID is invalid"); + } + return uuid; + } + var _default = stringify; + exports2.default = _default; } }); -// 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; - if (node == null || clockseq == null) { - 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]]; - } - if (clockseq == null) { - clockseq = _clockseq = ((seedBytes[6] << 8) | seedBytes[7]) & 16383; +// node_modules/uuid/dist/v1.js +var require_v1 = __commonJS({ + "node_modules/uuid/dist/v1.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _rng = _interopRequireDefault(require_rng()); + var _stringify = _interopRequireDefault(require_stringify()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; } - } - 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; - } - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { - nsecs = 0; - } - if (nsecs >= 1e4) { - 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; - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || stringify_default(b); -} -var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; -var init_v1 = __esm({ - 'node_modules/uuid/dist/esm-node/v1.js'() { - init_rng(); - init_stringify(); - _lastMSecs = 0; - _lastNSecs = 0; - v1_default = v1; + var _nodeId; + var _clockseq; + var _lastMSecs = 0; + var _lastNSecs = 0; + 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; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + if (node == null) { + 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; + } + } + 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; + } + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + nsecs = 0; + } + if (nsecs >= 1e4) { + 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; + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + return buf || (0, _stringify.default)(b); + } + var _default = v1; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/parse.js -function parse(uuid) { - if (!validate_default(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; -} -var parse_default; -var init_parse = __esm({ - 'node_modules/uuid/dist/esm-node/parse.js'() { - init_validate(); - parse_default = parse; +// node_modules/uuid/dist/parse.js +var require_parse = __commonJS({ + "node_modules/uuid/dist/parse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _validate = _interopRequireDefault(require_validate()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function parse2(uuid) { + if (!(0, _validate.default)(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; + } + var _default = parse2; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/v35.js -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); - const bytes = []; - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -function v35_default(name, version2, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - 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; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return stringify_default(bytes); - } - try { - generateUUID.name = name; - } catch (err) {} - generateUUID.DNS = DNS; - generateUUID.URL = URL2; - return generateUUID; -} -var DNS, URL2; -var init_v35 = __esm({ - '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/uuid/dist/v35.js +var require_v35 = __commonJS({ + "node_modules/uuid/dist/v35.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = _default; + exports2.URL = exports2.DNS = void 0; + var _stringify = _interopRequireDefault(require_stringify()); + var _parse = _interopRequireDefault(require_parse()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = []; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + return bytes; + } + var DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + exports2.DNS = DNS; + var URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + exports2.URL = URL2; + function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === "string") { + value = stringToBytes(value); + } + if (typeof namespace === "string") { + namespace = (0, _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 | version; + bytes[8] = bytes[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; + } + return (0, _stringify.default)(bytes); + } + try { + generateUUID.name = name; + } catch (err) { + } + generateUUID.DNS = DNS; + generateUUID.URL = URL2; + return generateUUID; + } } }); -// 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'); - } - return import_crypto2.default.createHash('md5').update(bytes).digest(); -} -var import_crypto2, md5_default; -var init_md5 = __esm({ - 'node_modules/uuid/dist/esm-node/md5.js'() { - import_crypto2 = __toESM(require('crypto')); - md5_default = md5; +// node_modules/uuid/dist/md5.js +var require_md5 = __commonJS({ + "node_modules/uuid/dist/md5.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _crypto = _interopRequireDefault(require("crypto")); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return _crypto.default.createHash("md5").update(bytes).digest(); + } + var _default = md5; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/v3.js -var v3, v3_default; -var init_v3 = __esm({ - 'node_modules/uuid/dist/esm-node/v3.js'() { - init_v35(); - init_md5(); - v3 = v35_default('v3', 48, md5_default); - v3_default = v3; +// node_modules/uuid/dist/v3.js +var require_v3 = __commonJS({ + "node_modules/uuid/dist/v3.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _v = _interopRequireDefault(require_v35()); + var _md = _interopRequireDefault(require_md5()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var v3 = (0, _v.default)("v3", 48, _md.default); + var _default = v3; + exports2.default = _default; } }); -// 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; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return stringify_default(rnds); -} -var v4_default; -var init_v4 = __esm({ - 'node_modules/uuid/dist/esm-node/v4.js'() { - init_rng(); - init_stringify(); - v4_default = v4; +// node_modules/uuid/dist/v4.js +var require_v4 = __commonJS({ + "node_modules/uuid/dist/v4.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _rng = _interopRequireDefault(require_rng()); + var _stringify = _interopRequireDefault(require_stringify()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || _rng.default)(); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return (0, _stringify.default)(rnds); + } + var _default = v4; + exports2.default = _default; } }); -// 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'); - } - return import_crypto3.default.createHash('sha1').update(bytes).digest(); -} -var import_crypto3, sha1_default; -var init_sha1 = __esm({ - 'node_modules/uuid/dist/esm-node/sha1.js'() { - import_crypto3 = __toESM(require('crypto')); - sha1_default = sha1; +// node_modules/uuid/dist/sha1.js +var require_sha1 = __commonJS({ + "node_modules/uuid/dist/sha1.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _crypto = _interopRequireDefault(require("crypto")); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return _crypto.default.createHash("sha1").update(bytes).digest(); + } + var _default = sha1; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/v5.js -var v5, v5_default; -var init_v5 = __esm({ - 'node_modules/uuid/dist/esm-node/v5.js'() { - init_v35(); - init_sha1(); - v5 = v35_default('v5', 80, sha1_default); - v5_default = v5; +// node_modules/uuid/dist/v5.js +var require_v5 = __commonJS({ + "node_modules/uuid/dist/v5.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _v = _interopRequireDefault(require_v35()); + var _sha = _interopRequireDefault(require_sha1()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + var v5 = (0, _v.default)("v5", 80, _sha.default); + var _default = v5; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/nil.js -var nil_default; -var init_nil = __esm({ - 'node_modules/uuid/dist/esm-node/nil.js'() { - nil_default = '00000000-0000-0000-0000-000000000000'; +// node_modules/uuid/dist/nil.js +var require_nil = __commonJS({ + "node_modules/uuid/dist/nil.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _default = "00000000-0000-0000-0000-000000000000"; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/version.js -function version(uuid) { - if (!validate_default(uuid)) { - throw TypeError('Invalid UUID'); - } - return parseInt(uuid.substr(14, 1), 16); -} -var version_default; -var init_version = __esm({ - 'node_modules/uuid/dist/esm-node/version.js'() { - init_validate(); - version_default = version; +// node_modules/uuid/dist/version.js +var require_version = __commonJS({ + "node_modules/uuid/dist/version.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = void 0; + var _validate = _interopRequireDefault(require_validate()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError("Invalid UUID"); + } + return parseInt(uuid.substr(14, 1), 16); + } + var _default = version; + exports2.default = _default; } }); -// node_modules/uuid/dist/esm-node/index.js -var esm_node_exports = {}; -__export(esm_node_exports, { - NIL: () => nil_default, - parse: () => parse_default, - stringify: () => stringify_default, - v1: () => v1_default, - v3: () => v3_default, - v4: () => v4_default, - v5: () => v5_default, - validate: () => validate_default, - version: () => version_default -}); -var init_esm_node = __esm({ - '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/uuid/dist/index.js +var require_dist = __commonJS({ + "node_modules/uuid/dist/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + Object.defineProperty(exports2, "v1", { + enumerable: true, + get: function() { + return _v.default; + } + }); + Object.defineProperty(exports2, "v3", { + enumerable: true, + get: function() { + return _v2.default; + } + }); + Object.defineProperty(exports2, "v4", { + enumerable: true, + get: function() { + return _v3.default; + } + }); + Object.defineProperty(exports2, "v5", { + enumerable: true, + get: function() { + return _v4.default; + } + }); + Object.defineProperty(exports2, "NIL", { + enumerable: true, + get: function() { + return _nil.default; + } + }); + Object.defineProperty(exports2, "version", { + enumerable: true, + get: function() { + return _version.default; + } + }); + Object.defineProperty(exports2, "validate", { + enumerable: true, + get: function() { + return _validate.default; + } + }); + Object.defineProperty(exports2, "stringify", { + enumerable: true, + get: function() { + return _stringify.default; + } + }); + Object.defineProperty(exports2, "parse", { + enumerable: true, + get: function() { + return _parse.default; + } + }); + var _v = _interopRequireDefault(require_v1()); + var _v2 = _interopRequireDefault(require_v3()); + var _v3 = _interopRequireDefault(require_v4()); + var _v4 = _interopRequireDefault(require_v5()); + var _nil = _interopRequireDefault(require_nil()); + var _version = _interopRequireDefault(require_version()); + var _validate = _interopRequireDefault(require_validate()); + var _stringify = _interopRequireDefault(require_stringify()); + var _parse = _interopRequireDefault(require_parse()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } } }); // node_modules/@actions/core/lib/file-command.js var require_file_command = __commonJS({ - 'node_modules/@actions/core/lib/file-command.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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 = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/file-command.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__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(exports2, "__esModule", { value: true }); exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0; - var fs = __importStar(require('fs')); - var os = __importStar(require('os')); - var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); + var fs = __importStar(require("fs")); + var os = __importStar(require("os")); + var uuid_1 = require_dist(); var utils_1 = require_utils(); function issueFileCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; @@ -578,7 +679,7 @@ var require_file_command = __commonJS({ throw new Error(`Missing file at path: ${filePath}`); } fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { - encoding: 'utf8' + encoding: "utf8" }); } exports2.issueFileCommand = issueFileCommand; @@ -599,20 +700,20 @@ var require_file_command = __commonJS({ // node_modules/@actions/http-client/lib/proxy.js var require_proxy = __commonJS({ - 'node_modules/@actions/http-client/lib/proxy.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/http-client/lib/proxy.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkBypass = exports2.getProxyUrl = void 0; function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === 'https:'; + const usingSsl = reqUrl.protocol === "https:"; if (checkBypass(reqUrl)) { 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) { @@ -626,27 +727,24 @@ var require_proxy = __commonJS({ if (!reqUrl.hostname) { return false; } - const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; if (!noProxy) { return false; } let reqPort; if (reqUrl.port) { reqPort = Number(reqUrl.port); - } else if (reqUrl.protocol === 'http:') { + } else if (reqUrl.protocol === "http:") { reqPort = 80; - } else if (reqUrl.protocol === 'https:') { + } else if (reqUrl.protocol === "https:") { reqPort = 443; } const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { + if (typeof reqPort === "number") { upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); } - for (const upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperReqHosts.some(x => x === upperNoProxyItem)) { + for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) { + if (upperReqHosts.some((x) => x === upperNoProxyItem)) { return true; } } @@ -658,15 +756,15 @@ var require_proxy = __commonJS({ // node_modules/tunnel/lib/tunnel.js var require_tunnel = __commonJS({ - 'node_modules/tunnel/lib/tunnel.js'(exports2) { - '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'); + "node_modules/tunnel/lib/tunnel.js"(exports2) { + "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"); exports2.httpOverHttp = httpOverHttp; exports2.httpsOverHttp = httpsOverHttp; exports2.httpOverHttps = httpOverHttps; @@ -702,7 +800,7 @@ var require_tunnel = __commonJS({ self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; self.requests = []; self.sockets = []; - self.on('free', function onFree(socket, host, port, localAddress) { + 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]; @@ -724,19 +822,19 @@ var require_tunnel = __commonJS({ self.requests.push(options); return; } - self.createSocket(options, function (socket) { - socket.on('free', onFree); - socket.on('close', onCloseOrRemove); - socket.on('agentRemove', onCloseOrRemove); + 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); + socket.removeListener("free", onFree); + socket.removeListener("close", onCloseOrRemove); + socket.removeListener("agentRemove", onCloseOrRemove); } }); }; @@ -745,11 +843,11 @@ var require_tunnel = __commonJS({ 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) { @@ -757,21 +855,21 @@ var require_tunnel = __commonJS({ } if (connectOptions.proxyAuth) { connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64'); + connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); } - debug('making CONNECT request'); + 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.once("response", onResponse); + connectReq.once("upgrade", onUpgrade); + connectReq.once("connect", onConnect); + connectReq.once("error", onError); connectReq.end(); function onResponse(res) { res.upgrade = true; } function onUpgrade(res, socket, head) { - process.nextTick(function () { + process.nextTick(function() { onConnect(res, socket, head); }); } @@ -779,33 +877,40 @@ var require_tunnel = __commonJS({ connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { - debug('tunneling socket could not be established, statusCode=%d', res.statusCode); + debug( + "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); + 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'); + 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); + 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'); + debug("tunneling connection has established"); self.sockets[self.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); - debug('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); + debug( + "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); } }; @@ -817,18 +922,18 @@ var require_tunnel = __commonJS({ this.sockets.splice(pos, 1); var pending = this.requests.shift(); if (pending) { - this.createSocket(pending, function (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'); + 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 + servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host }); var secureSocket = tls.connect(0, tlsOptions); self.sockets[self.sockets.indexOf(socket)] = secureSocket; @@ -836,7 +941,7 @@ var require_tunnel = __commonJS({ }); } function toOptions(host, port, localAddress) { - if (typeof host === 'string') { + if (typeof host === "string") { return { host, port, @@ -848,7 +953,7 @@ var require_tunnel = __commonJS({ function mergeOptions(target) { for (var i = 1, len = arguments.length; i < len; ++i) { var overrides = arguments[i]; - if (typeof overrides === 'object') { + if (typeof overrides === "object") { var keys = Object.keys(overrides); for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { var k = keys[j]; @@ -862,17 +967,18 @@ var require_tunnel = __commonJS({ } var debug; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function () { + debug = function() { var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0]; + if (typeof args[0] === "string") { + args[0] = "TUNNEL: " + args[0]; } else { - args.unshift('TUNNEL:'); + args.unshift("TUNNEL:"); } console.error.apply(console, args); }; } else { - debug = function () {}; + debug = function() { + }; } exports2.debug = debug; } @@ -880,138 +986,113 @@ var require_tunnel = __commonJS({ // node_modules/tunnel/index.js var require_tunnel2 = __commonJS({ - 'node_modules/tunnel/index.js'(exports2, module2) { + "node_modules/tunnel/index.js"(exports2, module2) { module2.exports = require_tunnel(); } }); // node_modules/@actions/http-client/lib/index.js var require_lib = __commonJS({ - 'node_modules/@actions/http-client/lib/index.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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]; - } - }); + "node_modules/@actions/http-client/lib/index.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__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 __awaiter2 = exports2 && exports2.__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 (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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 = - (exports2 && exports2.__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); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.HttpClient = - exports2.isHttps = - exports2.HttpClientResponse = - exports2.HttpClientError = - exports2.getProxyUrl = - exports2.MediaTypes = - exports2.Headers = - exports2.HttpCodes = - void 0; - var http = __importStar(require('http')); - var https = __importStar(require('https')); + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; + var http = __importStar(require("http")); + var https = __importStar(require("https")); var pm = __importStar(require_proxy()); var tunnel = __importStar(require_tunnel2()); 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 = exports2.HttpCodes || (exports2.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 = exports2.HttpCodes || (exports2.HttpCodes = {})); var Headers; - (function (Headers2) { - Headers2['Accept'] = 'accept'; - Headers2['ContentType'] = 'content-type'; - })((Headers = exports2.Headers || (exports2.Headers = {}))); + (function(Headers2) { + Headers2["Accept"] = "accept"; + Headers2["ContentType"] = "content-type"; + })(Headers = exports2.Headers || (exports2.Headers = {})); var MediaTypes; - (function (MediaTypes2) { - MediaTypes2['ApplicationJson'] = 'application/json'; - })((MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {}))); + (function(MediaTypes2) { + MediaTypes2["ApplicationJson"] = "application/json"; + })(MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {})); function getProxyUrl(serverUrl) { const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; + return proxyUrl ? proxyUrl.href : ""; } exports2.getProxyUrl = getProxyUrl; var HttpRedirectCodes = [ @@ -1021,14 +1102,18 @@ var require_lib = __commonJS({ HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect ]; - var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; - var RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; + var HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout + ]; + 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.name = "HttpClientError"; this.statusCode = statusCode; Object.setPrototypeOf(this, _HttpClientError.prototype); } @@ -1039,29 +1124,27 @@ var require_lib = __commonJS({ 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 __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter2(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()); + }); + })); }); } }; exports2.HttpClientResponse = HttpClientResponse; function isHttps(requestUrl) { const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; + return parsedUrl.protocol === "https:"; } exports2.isHttps = isHttps; - var HttpClient = class { - constructor(userAgent, handlers, requestOptions) { + var HttpClient2 = class { + constructor(userAgent2, handlers, requestOptions) { this._ignoreSslError = false; this._allowRedirects = true; this._allowRedirectDowngrade = false; @@ -1070,7 +1153,7 @@ var require_lib = __commonJS({ this._maxRetries = 1; this._keepAlive = false; this._disposed = false; - this.userAgent = userAgent; + this.userAgent = userAgent2; this.handlers = handlers || []; this.requestOptions = requestOptions; if (requestOptions) { @@ -1099,42 +1182,42 @@ var require_lib = __commonJS({ } } options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + return __awaiter2(this, void 0, void 0, function* () { + 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 __awaiter2(this, void 0, void 0, function* () { + 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 __awaiter2(this, void 0, void 0, function* () { + 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 __awaiter2(this, void 0, void 0, function* () { + 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 __awaiter2(this, void 0, void 0, function* () { + 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 __awaiter2(this, void 0, void 0, function* () { + 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 __awaiter2(this, void 0, void 0, function* () { + return this.request("HEAD", requestUrl, null, additionalHeaders || {}); }); } sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.request(verb, requestUrl, stream, additionalHeaders); }); } @@ -1143,63 +1226,35 @@ var require_lib = __commonJS({ * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise */ getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); + return __awaiter2(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); }); } postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(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 - ); + 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* () { + return __awaiter2(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 - ); + 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* () { + return __awaiter2(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 - ); + 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); }); @@ -1210,9 +1265,9 @@ var require_lib = __commonJS({ * Prefer get, del, post and patch */ request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (this._disposed) { - throw new Error('Client has already been disposed.'); + throw new Error("Client has already been disposed."); } const parsedUrl = new URL(requestUrl); let info = this._prepareRequest(verb, parsedUrl, headers); @@ -1223,9 +1278,9 @@ var require_lib = __commonJS({ 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; + for (const handler2 of this.handlers) { + if (handler2.canHandleAuthentication(response)) { + authenticationHandler = handler2; break; } } @@ -1236,30 +1291,19 @@ var require_lib = __commonJS({ } } let redirectsRemaining = this._maxRedirects; - while ( - response.message.statusCode && - HttpRedirectCodes.includes(response.message.statusCode) && - this._allowRedirects && - redirectsRemaining > 0 - ) { - const redirectUrl = response.message.headers['location']; + while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { + const redirectUrl = response.message.headers["location"]; if (!redirectUrl) { 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.' - ); + 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(); if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { for (const header in headers) { - if (header.toLowerCase() === 'authorization') { + if (header.toLowerCase() === "authorization") { delete headers[header]; } } @@ -1295,13 +1339,13 @@ var require_lib = __commonJS({ * @param data */ requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { function callbackForResult(err, res) { if (err) { reject(err); } else if (!res) { - reject(new Error('Unknown error')); + reject(new Error("Unknown error")); } else { resolve(res); } @@ -1317,11 +1361,11 @@ 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['Content-Length'] = Buffer.byteLength(data, 'utf8'); + info.options.headers["Content-Length"] = Buffer.byteLength(data, "utf8"); } let callbackCalled = false; function handleResult(err, res) { @@ -1330,12 +1374,12 @@ var require_lib = __commonJS({ onResult(err, res); } } - const req = info.httpModule.request(info.options, msg => { + const req = info.httpModule.request(info.options, (msg) => { const res = new HttpClientResponse(msg); handleResult(void 0, res); }); let socket; - req.on('socket', sock => { + req.on("socket", (sock) => { socket = sock; }); req.setTimeout(this._socketTimeout || 3 * 6e4, () => { @@ -1344,14 +1388,14 @@ var require_lib = __commonJS({ } handleResult(new Error(`Request timeout: ${info.options.path}`)); }); - req.on('error', function (err) { + req.on("error", function(err) { handleResult(err); }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); + if (data && typeof data === "string") { + req.write(data, "utf8"); } - if (data && typeof data !== 'string') { - data.on('close', function () { + if (data && typeof data !== "string") { + data.on("close", function() { req.end(); }); data.pipe(req); @@ -1371,36 +1415,36 @@ var require_lib = __commonJS({ _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; + 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.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); if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); + for (const handler2 of this.handlers) { + handler2.prepareRequest(info.options); } } return info; } _mergeHeaders(headers) { if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + return Object.assign({}, lowercaseKeys2(this.requestOptions.headers), lowercaseKeys2(headers || {})); } - return lowercaseKeys(headers || {}); + return lowercaseKeys2(headers || {}); } _getExistingOrDefaultHeader(additionalHeaders, header, _default) { let clientHeader; if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + clientHeader = lowercaseKeys2(this.requestOptions.headers)[header]; } return additionalHeaders[header] || clientHeader || _default; } @@ -1417,7 +1461,7 @@ var require_lib = __commonJS({ if (agent) { return agent; } - const usingSsl = parsedUrl.protocol === 'https:'; + const usingSsl = parsedUrl.protocol === "https:"; let maxSockets = 100; if (this.requestOptions) { maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; @@ -1426,18 +1470,12 @@ var require_lib = __commonJS({ 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 } - ) + 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:'; + const overHttps = proxyUrl.protocol === "https:"; if (usingSsl) { tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; } else { @@ -1462,113 +1500,105 @@ var require_lib = __commonJS({ return agent; } _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(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)); + 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 __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter2(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; } - 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; + 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); } else { - msg = `Failed request: (${statusCode})`; + obj = JSON.parse(contents); } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); + 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 { - resolve(response); + msg = `Failed request: (${statusCode})`; } - }) - ); + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } else { + resolve(response); + } + })); }); } }; - exports2.HttpClient = HttpClient; - var lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); + exports2.HttpClient = HttpClient2; + var lowercaseKeys2 = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); } }); // node_modules/@actions/http-client/lib/auth.js var require_auth = __commonJS({ - 'node_modules/@actions/http-client/lib/auth.js'(exports2) { - 'use strict'; - var __awaiter = - (exports2 && exports2.__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); - } + "node_modules/@actions/http-client/lib/auth.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__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); + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.PersonalAccessTokenCredentialHandler = - exports2.BearerCredentialHandler = - exports2.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(exports2, "__esModule", { value: true }); + exports2.PersonalAccessTokenCredentialHandler = exports2.BearerCredentialHandler = exports2.BasicCredentialHandler = void 0; var BasicCredentialHandler = class { constructor(username, password) { this.username = username; @@ -1576,17 +1606,17 @@ var require_auth = __commonJS({ } 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; } handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); + return __awaiter2(this, void 0, void 0, function* () { + throw new Error("not implemented"); }); } }; @@ -1599,17 +1629,17 @@ var require_auth = __commonJS({ // 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; } handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); + return __awaiter2(this, void 0, void 0, function* () { + throw new Error("not implemented"); }); } }; @@ -1622,17 +1652,17 @@ var require_auth = __commonJS({ // 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; } handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); + return __awaiter2(this, void 0, void 0, function* () { + throw new Error("not implemented"); }); } }; @@ -1642,40 +1672,36 @@ var require_auth = __commonJS({ // node_modules/@actions/core/lib/oidc-utils.js var require_oidc_utils = __commonJS({ - 'node_modules/@actions/core/lib/oidc-utils.js'(exports2) { - 'use strict'; - var __awaiter = - (exports2 && exports2.__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/@actions/core/lib/oidc-utils.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__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(exports2, '__esModule', { value: true }); + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.OidcClient = void 0; var http_client_1 = require_lib(); var auth_1 = require_auth(); @@ -1686,31 +1712,27 @@ var require_oidc_utils = __commonJS({ 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 token2 = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + const token2 = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; if (!token2) { - 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 token2; } 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; } static getCall(id_token_url) { var _a; - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { const httpclient = _OidcClient.createHttpClient(); - const res = yield httpclient.getJson(id_token_url).catch(error => { + const res = yield httpclient.getJson(id_token_url).catch((error) => { throw new Error(`Failed to get ID Token. Error Code : ${error.statusCode} @@ -1719,13 +1741,13 @@ var require_oidc_utils = __commonJS({ }); 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; }); } static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { try { let id_token_url = _OidcClient.getIDTokenUrl(); if (audience) { @@ -1748,50 +1770,45 @@ var require_oidc_utils = __commonJS({ // node_modules/@actions/core/lib/summary.js var require_summary = __commonJS({ - 'node_modules/@actions/core/lib/summary.js'(exports2) { - 'use strict'; - var __awaiter = - (exports2 && exports2.__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); - } + "node_modules/@actions/core/lib/summary.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__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); + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.summary = exports2.markdownSummary = exports2.SUMMARY_DOCS_URL = exports2.SUMMARY_ENV_VAR = void 0; - var os_1 = require('os'); - var fs_1 = require('fs'); + var os_1 = require("os"); + var fs_1 = require("fs"); var { access, appendFile, writeFile } = fs_1.promises; - exports2.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; - exports2.SUMMARY_DOCS_URL = - 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; + exports2.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; + exports2.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 @@ -1800,22 +1817,18 @@ var require_summary = __commonJS({ * @returns step summary file path */ filePath() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { if (this._filePath) { return this._filePath; } const pathFromEnv = process.env[exports2.SUMMARY_ENV_VAR]; if (!pathFromEnv) { - throw new Error( - `Unable to find environment variable for $${exports2.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.` - ); + throw new Error(`Unable to find environment variable for $${exports2.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); } 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; @@ -1831,9 +1844,7 @@ 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}>`; } @@ -1847,11 +1858,11 @@ var require_summary = __commonJS({ * @returns {Promise} summary instance */ write(options) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(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' }); + yield writeFunc(filePath, this._buffer, { encoding: "utf8" }); return this.emptyBuffer(); }); } @@ -1861,7 +1872,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ clear() { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return this.emptyBuffer().write({ overwrite: true }); }); } @@ -1887,7 +1898,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ emptyBuffer() { - this._buffer = ''; + this._buffer = ""; return this; } /** @@ -1920,7 +1931,7 @@ var require_summary = __commonJS({ */ addCodeBlock(code, lang) { const attrs = Object.assign({}, lang && { lang }); - const element = this.wrap('pre', this.wrap('code', code), attrs); + const element = this.wrap("pre", this.wrap("code", code), attrs); return this.addRaw(element).addEOL(); } /** @@ -1932,8 +1943,8 @@ 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 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(); } @@ -1945,23 +1956,19 @@ 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); + 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(); } /** @@ -1973,7 +1980,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addDetails(label, content) { - const element = this.wrap('details', this.wrap('summary', label) + content); + const element = this.wrap("details", this.wrap("summary", label) + content); return this.addRaw(element).addEOL(); } /** @@ -1988,7 +1995,7 @@ var require_summary = __commonJS({ 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)); + const element = this.wrap("img", null, Object.assign({ src, alt }, attrs)); return this.addRaw(element).addEOL(); } /** @@ -2001,7 +2008,7 @@ var require_summary = __commonJS({ */ addHeading(text, level) { const tag = `h${level}`; - const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) ? tag : 'h1'; + const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; const element = this.wrap(allowedTag, text); return this.addRaw(element).addEOL(); } @@ -2011,7 +2018,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addSeparator() { - const element = this.wrap('hr', null); + const element = this.wrap("hr", null); return this.addRaw(element).addEOL(); } /** @@ -2020,7 +2027,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addBreak() { - const element = this.wrap('br', null); + const element = this.wrap("br", null); return this.addRaw(element).addEOL(); } /** @@ -2033,7 +2040,7 @@ var require_summary = __commonJS({ */ addQuote(text, cite) { const attrs = Object.assign({}, cite && { cite }); - const element = this.wrap('blockquote', text, attrs); + const element = this.wrap("blockquote", text, attrs); return this.addRaw(element).addEOL(); } /** @@ -2045,7 +2052,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addLink(text, href) { - const element = this.wrap('a', text, { href }); + const element = this.wrap("a", text, { href }); return this.addRaw(element).addEOL(); } }; @@ -2057,53 +2064,40 @@ var require_summary = __commonJS({ // node_modules/@actions/core/lib/path-utils.js var require_path_utils = __commonJS({ - 'node_modules/@actions/core/lib/path-utils.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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 = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/path-utils.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__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(exports2, "__esModule", { value: true }); exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; - var path = __importStar(require('path')); + var path = __importStar(require("path")); function toPosixPath(pth) { - return pth.replace(/[\\]/g, '/'); + return pth.replace(/[\\]/g, "/"); } exports2.toPosixPath = toPosixPath; function toWin32Path(pth) { - return pth.replace(/[/]/g, '\\'); + return pth.replace(/[/]/g, "\\"); } exports2.toWin32Path = toWin32Path; function toPlatformPath(pth) { @@ -2115,136 +2109,97 @@ var require_path_utils = __commonJS({ // node_modules/@actions/core/lib/core.js var require_core = __commonJS({ - 'node_modules/@actions/core/lib/core.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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]; - } - }); + "node_modules/@actions/core/lib/core.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__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 __awaiter2 = exports2 && exports2.__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 (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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 = - (exports2 && exports2.__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); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.getIDToken = - exports2.getState = - exports2.saveState = - exports2.group = - exports2.endGroup = - exports2.startGroup = - exports2.info = - exports2.notice = - exports2.warning = - exports2.error = - exports2.debug = - exports2.isDebug = - exports2.setFailed = - exports2.setCommandEcho = - exports2.setOutput = - exports2.getBooleanInput = - exports2.getMultilineInput = - exports2.getInput = - exports2.addPath = - exports2.setSecret = - exports2.exportVariable = - exports2.ExitCode = - 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(exports2, "__esModule", { value: true }); + exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.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 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 = exports2.ExitCode || (exports2.ExitCode = {}))); + (function(ExitCode2) { + ExitCode2[ExitCode2["Success"] = 0] = "Success"; + ExitCode2[ExitCode2["Failure"] = 1] = "Failure"; + })(ExitCode = exports2.ExitCode || (exports2.ExitCode = {})); function exportVariable(name, val) { const convertedVal = utils_1.toCommandValue(val); process.env[name] = convertedVal; - const filePath = process.env['GITHUB_ENV'] || ''; + 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); } exports2.exportVariable = exportVariable; function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); + command_1.issueCommand("add-mask", {}, secret); } exports2.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"]}`; } exports2.addPath = addPath; function getInput(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}`); } @@ -2255,36 +2210,36 @@ var require_core = __commonJS({ } exports2.getInput = getInput; function getMultilineInput(name, options) { - const inputs = getInput(name, options) - .split('\n') - .filter(x => x !== ''); + const inputs = getInput(name, options).split("\n").filter((x) => x !== ""); if (options && options.trimWhitespace === false) { return inputs; } - return inputs.map(input => input.trim()); + return inputs.map((input) => input.trim()); } exports2.getMultilineInput = getMultilineInput; function getBooleanInput(name, options) { - const trueValue = ['true', 'True', 'TRUE']; - const falseValue = ['false', 'False', 'FALSE']; + const trueValue = ["true", "True", "TRUE"]; + const falseValue = ["false", "False", "FALSE"]; const val = getInput(name, options); - if (trueValue.includes(val)) return true; - if (falseValue.includes(val)) return false; + 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\``); } exports2.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)); + command_1.issueCommand("set-output", { name }, utils_1.toCommandValue(value)); } exports2.setOutput = setOutput; function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); + command_1.issue("echo", enabled ? "on" : "off"); } exports2.setCommandEcho = setCommandEcho; function setFailed(message) { @@ -2293,35 +2248,23 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.setFailed = setFailed; function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; + return process.env["RUNNER_DEBUG"] === "1"; } exports2.isDebug = isDebug; function debug(message) { - command_1.issueCommand('debug', {}, message); + command_1.issueCommand("debug", {}, message); } exports2.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); } exports2.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); } exports2.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); } exports2.notice = notice; function info(message) { @@ -2329,15 +2272,15 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.info = info; function startGroup(name) { - command_1.issue('group', name); + command_1.issue("group", name); } exports2.startGroup = startGroup; function endGroup() { - command_1.issue('endgroup'); + command_1.issue("endgroup"); } exports2.endGroup = endGroup; function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { startGroup(name); let result; try { @@ -2350,68 +2293,51 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.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)); } exports2.saveState = saveState; function getState(name) { - return process.env[`STATE_${name}`] || ''; + return process.env[`STATE_${name}`] || ""; } exports2.getState = getState; function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { + return __awaiter2(this, void 0, void 0, function* () { return yield oidc_utils_1.OidcClient.getIDToken(aud); }); } exports2.getIDToken = getIDToken; var summary_1 = require_summary(); - Object.defineProperty(exports2, 'summary', { - enumerable: true, - get: function () { - return summary_1.summary; - } - }); + Object.defineProperty(exports2, "summary", { enumerable: true, get: function() { + return summary_1.summary; + } }); var summary_2 = require_summary(); - Object.defineProperty(exports2, 'markdownSummary', { - enumerable: true, - get: function () { - return summary_2.markdownSummary; - } - }); + Object.defineProperty(exports2, "markdownSummary", { enumerable: true, get: function() { + return summary_2.markdownSummary; + } }); var path_utils_1 = require_path_utils(); - Object.defineProperty(exports2, 'toPosixPath', { - enumerable: true, - get: function () { - return path_utils_1.toPosixPath; - } - }); - Object.defineProperty(exports2, 'toWin32Path', { - enumerable: true, - get: function () { - return path_utils_1.toWin32Path; - } - }); - Object.defineProperty(exports2, 'toPlatformPath', { - enumerable: true, - get: function () { - return path_utils_1.toPlatformPath; - } - }); + Object.defineProperty(exports2, "toPosixPath", { enumerable: true, get: function() { + return path_utils_1.toPosixPath; + } }); + Object.defineProperty(exports2, "toWin32Path", { enumerable: true, get: function() { + return path_utils_1.toWin32Path; + } }); + Object.defineProperty(exports2, "toPlatformPath", { enumerable: true, get: function() { + return path_utils_1.toPlatformPath; + } }); } }); // node_modules/@actions/github/lib/context.js -var require_context = __commonJS({ - 'node_modules/@actions/github/lib/context.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.Context = void 0; - var fs_1 = require('fs'); - var os_1 = require('os'); - var Context = class { +var import_fs, import_os, Context; +var init_context = __esm({ + "node_modules/@actions/github/lib/context.js"() { + import_fs = require("fs"); + import_os = require("os"); + Context = class { /** * Hydrate the context from the environment */ @@ -2419,11 +2345,11 @@ var require_context = __commonJS({ var _a, _b, _c; this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { - if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + if ((0, import_fs.existsSync)(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse((0, import_fs.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}`); + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${import_os.EOL}`); } } this.eventName = process.env.GITHUB_EVENT_NAME; @@ -2433,22 +2359,20 @@ var require_context = __commonJS({ this.action = process.env.GITHUB_ACTION; this.actor = process.env.GITHUB_ACTOR; this.job = process.env.GITHUB_JOB; + this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10); 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`; + 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 - }); + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); } get repo() { if (process.env.GITHUB_REPOSITORY) { - const [owner, repo2] = process.env.GITHUB_REPOSITORY.split('/'); + const [owner, repo2] = process.env.GITHUB_REPOSITORY.split("/"); return { owner, repo: repo2 }; } if (this.payload.repository) { @@ -2460,12352 +2384,20229 @@ var require_context = __commonJS({ throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); } }; - exports2.Context = Context; - } -}); - -// node_modules/@actions/github/lib/internal/utils.js -var require_utils2 = __commonJS({ - 'node_modules/@actions/github/lib/internal/utils.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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 = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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(exports2, '__esModule', { value: true }); - exports2.getApiBaseUrl = exports2.getProxyAgent = exports2.getAuthString = void 0; - var httpClient = __importStar(require_lib()); - function getAuthString(token2, options) { - if (!token2 && !options.auth) { - throw new Error('Parameter token or opts.auth is required'); - } else if (token2 && options.auth) { - throw new Error('Parameters token and opts.auth may not both be specified'); - } - return typeof options.auth === 'string' ? options.auth : `token ${token2}`; - } - exports2.getAuthString = getAuthString; - function getProxyAgent(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgent(destinationUrl); - } - exports2.getProxyAgent = getProxyAgent; - function getApiBaseUrl() { - return process.env['GITHUB_API_URL'] || 'https://api.github.com'; - } - exports2.getApiBaseUrl = getApiBaseUrl; } }); -// node_modules/universal-user-agent/dist-node/index.js -var require_dist_node = __commonJS({ - 'node_modules/universal-user-agent/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function getUserAgent() { - if (typeof navigator === 'object' && 'userAgent' in navigator) { - return navigator.userAgent; +// node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js +var require_proxy2 = __commonJS({ + "node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getProxyUrl = getProxyUrl; + exports2.checkBypass = checkBypass; + function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === "https:"; + if (checkBypass(reqUrl)) { + return void 0; } - if (typeof process === 'object' && 'version' in process) { - return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + const proxyVar = (() => { + if (usingSsl) { + return process.env["https_proxy"] || process.env["HTTPS_PROXY"]; + } else { + return process.env["http_proxy"] || process.env["HTTP_PROXY"]; + } + })(); + if (proxyVar) { + try { + return new DecodedURL(proxyVar); + } catch (_a) { + if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) + return new DecodedURL(`http://${proxyVar}`); + } + } else { + return void 0; } - return ''; - } - exports2.getUserAgent = getUserAgent; - } -}); - -// node_modules/before-after-hook/lib/register.js -var require_register = __commonJS({ - 'node_modules/before-after-hook/lib/register.js'(exports2, 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 (!options) { - options = {}; - } - if (Array.isArray(name)) { - return name.reverse().reduce(function (callback, name2) { - return register.bind(null, state, name2, callback, options); - }, method)(); - } - return Promise.resolve().then(function () { - if (!state.registry[name]) { - return method(options); - } - return state.registry[name].reduce(function (method2, registered) { - return registered.hook.bind(null, method2, options); - }, method)(); - }); } - } -}); - -// node_modules/before-after-hook/lib/add.js -var require_add = __commonJS({ - 'node_modules/before-after-hook/lib/add.js'(exports2, module2) { - module2.exports = addHook; - function addHook(state, kind, name, 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)); - }; + function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; } - 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; - }); - }; + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; } - if (kind === 'error') { - hook = function (method, options) { - return Promise.resolve() - .then(method.bind(null, options)) - .catch(function (error) { - return orig(error, options); - }); - }; + const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; + if (!noProxy) { + return false; } - state.registry[name].push({ - hook, - orig - }); - } - } -}); - -// node_modules/before-after-hook/lib/remove.js -var require_remove = __commonJS({ - 'node_modules/before-after-hook/lib/remove.js'(exports2, module2) { - module2.exports = removeHook; - function removeHook(state, name, method) { - if (!state.registry[name]) { - return; + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } else if (reqUrl.protocol === "http:") { + reqPort = 80; + } else if (reqUrl.protocol === "https:") { + reqPort = 443; } - var index = state.registry[name] - .map(function (registered) { - return registered.orig; - }) - .indexOf(method); - if (index === -1) { - return; + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === "number") { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); } - state.registry[name].splice(index, 1); - } - } -}); - -// node_modules/before-after-hook/index.js -var require_before_after_hook = __commonJS({ - 'node_modules/before-after-hook/index.js'(exports2, 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); - }); + 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; } - function HookSingular() { - var singularHookName = 'h'; - var singularHookState = { - registry: {} - }; - var singularHook = register.bind(null, singularHookState, singularHookName); - bindApi(singularHook, singularHookState, singularHookName); - return singularHook; + 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]"); } - function HookCollection() { - var state = { - registry: {} - }; - var hook = register.bind(null, state); - bindApi(hook, state); - return hook; - } - 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; + var DecodedURL = class extends URL { + constructor(url, base) { + super(url, base); + this._decodedUsername = decodeURIComponent(super.username); + this._decodedPassword = decodeURIComponent(super.password); } - 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; + get username() { + return this._decodedUsername; + } + get password() { + return this._decodedPassword; + } + }; } }); -// node_modules/is-plain-object/dist/is-plain-object.js -var require_is_plain_object = __commonJS({ - 'node_modules/is-plain-object/dist/is-plain-object.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function isObject(o) { - 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; - } - exports2.isPlainObject = isPlainObject; +// node_modules/undici/lib/core/symbols.js +var require_symbols = __commonJS({ + "node_modules/undici/lib/core/symbols.js"(exports2, 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"), + 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"), + kBody: Symbol("abstracted request body"), + 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"), + kResume: Symbol("resume"), + kOnError: Symbol("on error"), + 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"), + kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), + kConstruct: Symbol("constructable"), + kListeners: Symbol("listeners"), + kHTTPContext: Symbol("http context"), + kMaxConcurrentStreams: Symbol("max concurrent streams"), + kNoProxyAgent: Symbol("no proxy agent"), + kHttpProxyAgent: Symbol("http proxy agent"), + kHttpsProxyAgent: Symbol("https proxy agent") + }; } }); -// node_modules/@octokit/endpoint/dist-node/index.js -var require_dist_node2 = __commonJS({ - 'node_modules/@octokit/endpoint/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var isPlainObject = require_is_plain_object(); - var universalUserAgent = require_dist_node(); - function lowercaseKeys(object) { - if (!object) { - return {}; +// node_modules/undici/lib/core/errors.js +var require_errors = __commonJS({ + "node_modules/undici/lib/core/errors.js"(exports2, module2) { + "use strict"; + var kUndiciError = Symbol.for("undici.error.UND_ERR"); + var UndiciError = class extends Error { + constructor(message) { + super(message); + this.name = "UndiciError"; + this.code = "UND_ERR"; } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); - } - function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.isPlainObject(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] - }); - } - }); - return result; - } - function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } + static [Symbol.hasInstance](instance) { + return instance && instance[kUndiciError] === true; } - return obj; - } - function merge(defaults, route, 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.headers = lowercaseKeys(options.headers); - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); - 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 = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, '')); - return mergedOptions; - } - function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? '&' : '?'; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; + [kUndiciError] = true; + }; + var kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"); + var ConnectTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "ConnectTimeoutError"; + this.message = message || "Connect Timeout Error"; + this.code = "UND_ERR_CONNECT_TIMEOUT"; } - 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; - function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, '').split(/,/); - } - function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; + static [Symbol.hasInstance](instance) { + return instance && instance[kConnectTimeoutError] === true; } - 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; - }, {}); - } - 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(''); - } - function encodeUnreserved(str) { - 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); - if (key) { - return encodeUnreserved(key) + '=' + value; - } else { - return value; + [kConnectTimeoutError] = true; + }; + var kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"); + var HeadersTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "HeadersTimeoutError"; + this.message = message || "Headers Timeout Error"; + this.code = "UND_ERR_HEADERS_TIMEOUT"; } - } - function isDefined(value) { - return value !== void 0 && value !== null; - } - function isKeyOperator(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)); - } - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : '')); - } else { - if (modifier === '*') { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value2) { - result.push(encodeValue(operator, value2, isKeyOperator(operator) ? key : '')); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + '=' + tmp.join(',')); - } else if (tmp.length !== 0) { - result.push(tmp.join(',')); - } - } - } - } else { - if (operator === ';') { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === '' && (operator === '&' || operator === '?')) { - result.push(encodeUnreserved(key) + '='); - } else if (value === '') { - result.push(''); - } + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersTimeoutError] === true; } - return result; - } - function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; - } - function expand(template, context) { - var operators = ['+', '#', '.', '/', ';', '?', '&']; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - 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; - } - return (values.length !== 0 ? operator : '') + values.join(separator); - } else { - return values.join(','); - } - } else { - return encodeReserved(literal); - } - }); - } - 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 parameters = omit(options, ['method', 'baseUrl', 'url', 'headers', 'request', 'mediaType']); - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); - if (!/^http/.test(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); - if (!isBinaryRequest) { - if (options.mediaType.format) { - headers.accept = headers.accept - .split(/,/) - .map(preview => - preview.replace( - /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, - `application/vnd$1$2.${options.mediaType.format}` - ) - ) - .join(','); - } - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader - .concat(options.mediaType.previews) - .map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : '+json'; - return `application/vnd.github.${preview}-preview${format}`; - }) - .join(','); - } + [kHeadersTimeoutError] = true; + }; + var kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"); + var HeadersOverflowError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "HeadersOverflowError"; + this.message = message || "Headers Overflow Error"; + this.code = "UND_ERR_HEADERS_OVERFLOW"; } - if (['GET', 'HEAD'].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ('data' in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } else { - headers['content-length'] = 0; - } - } + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersOverflowError] === true; } - if (!headers['content-type'] && typeof body !== 'undefined') { - headers['content-type'] = 'application/json; charset=utf-8'; + [kHeadersOverflowError] = true; + }; + var kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"); + var BodyTimeoutError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "BodyTimeoutError"; + this.message = message || "Body Timeout Error"; + this.code = "UND_ERR_BODY_TIMEOUT"; } - if (['PATCH', 'PUT'].includes(method) && typeof body === 'undefined') { - body = ''; + static [Symbol.hasInstance](instance) { + return instance && instance[kBodyTimeoutError] === true; } - return Object.assign( - { - method, - url, - headers - }, - typeof body !== 'undefined' - ? { - body - } - : null, - options.request - ? { - request: options.request - } - : null - ); - } - function endpointWithDefaults(defaults, route, options) { - return parse2(merge(defaults, route, options)); - } - function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS2 = merge(oldDefaults, newDefaults); - const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); - return Object.assign(endpoint2, { - DEFAULTS: DEFAULTS2, - defaults: withDefaults.bind(null, DEFAULTS2), - merge: merge.bind(null, DEFAULTS2), - parse: parse2 - }); - } - var VERSION = '6.0.12'; - var userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; - var DEFAULTS = { - method: 'GET', - baseUrl: 'https://api.github.com', - headers: { - accept: 'application/vnd.github.v3+json', - 'user-agent': userAgent - }, - mediaType: { - format: '', - previews: [] + [kBodyTimeoutError] = true; + }; + var kResponseStatusCodeError = Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"); + var ResponseStatusCodeError = class extends UndiciError { + constructor(message, statusCode, headers, body) { + super(message); + 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; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseStatusCodeError] === true; + } + [kResponseStatusCodeError] = true; }; - var endpoint = withDefaults(null, DEFAULTS); - exports2.endpoint = endpoint; - } -}); - -// node_modules/webidl-conversions/lib/index.js -var require_lib2 = __commonJS({ - 'node_modules/webidl-conversions/lib/index.js'(exports2, module2) { - 'use strict'; - var conversions = {}; - module2.exports = conversions; - function sign(x) { - return x < 0 ? -1 : 1; - } - function evenRound(x) { - if (x % 1 === 0.5 && (x & 1) === 0) { - return Math.floor(x); - } else { - return Math.round(x); - } - } - function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function (V, opts) { - if (!opts) opts = {}; - let x = +V; - if (opts.enforceRange) { - if (!Number.isFinite(x)) { - throw new TypeError('Argument is not a finite number'); - } - x = sign(x) * Math.floor(Math.abs(x)); - if (x < lowerBound || x > upperBound) { - throw new TypeError('Argument is not in byte range'); - } - return x; - } - if (!isNaN(x) && opts.clamp) { - x = evenRound(x); - if (x < lowerBound) x = lowerBound; - if (x > upperBound) x = upperBound; - return x; - } - if (!Number.isFinite(x) || x === 0) { - return 0; - } - x = sign(x) * Math.floor(Math.abs(x)); - x = x % moduloVal; - if (!typeOpts.unsigned && x >= moduloBound) { - return x - moduloVal; - } else if (typeOpts.unsigned) { - if (x < 0) { - x += moduloVal; - } else if (x === -0) { - return 0; - } - } - return x; - }; - } - conversions['void'] = function () { - return void 0; - }; - conversions['boolean'] = function (val) { - return !!val; - }; - conversions['byte'] = createNumberConversion(8, { unsigned: false }); - conversions['octet'] = createNumberConversion(8, { unsigned: true }); - conversions['short'] = createNumberConversion(16, { unsigned: false }); - conversions['unsigned short'] = createNumberConversion(16, { unsigned: true }); - conversions['long'] = createNumberConversion(32, { unsigned: false }); - conversions['unsigned long'] = createNumberConversion(32, { unsigned: true }); - conversions['long long'] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); - conversions['unsigned long long'] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions['double'] = function (V) { - const x = +V; - if (!Number.isFinite(x)) { - throw new TypeError('Argument is not a finite floating-point value'); + var kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG"); + var InvalidArgumentError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "InvalidArgumentError"; + this.message = message || "Invalid Argument Error"; + this.code = "UND_ERR_INVALID_ARG"; } - return x; + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidArgumentError] === true; + } + [kInvalidArgumentError] = true; }; - conversions['unrestricted double'] = function (V) { - const x = +V; - if (isNaN(x)) { - throw new TypeError('Argument is NaN'); + var kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"); + var InvalidReturnValueError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "InvalidReturnValueError"; + this.message = message || "Invalid Return Value Error"; + this.code = "UND_ERR_INVALID_RETURN_VALUE"; } - return x; + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidReturnValueError] === true; + } + [kInvalidReturnValueError] = true; }; - conversions['float'] = conversions['double']; - conversions['unrestricted float'] = conversions['unrestricted double']; - conversions['DOMString'] = function (V, opts) { - if (!opts) opts = {}; - if (opts.treatNullAsEmptyString && V === null) { - return ''; + var kAbortError = Symbol.for("undici.error.UND_ERR_ABORT"); + var AbortError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "AbortError"; + this.message = message || "The operation was aborted"; + this.code = "UND_ERR_ABORT"; } - return String(V); + static [Symbol.hasInstance](instance) { + return instance && instance[kAbortError] === true; + } + [kAbortError] = true; }; - conversions['ByteString'] = function (V, opts) { - const x = String(V); - let c = void 0; - for (let i = 0; (c = x.codePointAt(i)) !== void 0; ++i) { - if (c > 255) { - throw new TypeError('Argument is not a valid bytestring'); - } + var kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED"); + var RequestAbortedError = class extends AbortError { + constructor(message) { + super(message); + this.name = "AbortError"; + this.message = message || "Request aborted"; + this.code = "UND_ERR_ABORTED"; } - return x; + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestAbortedError] === true; + } + [kRequestAbortedError] = true; }; - conversions['USVString'] = function (V) { - const S = String(V); - const n = S.length; - const U = []; - for (let i = 0; i < n; ++i) { - const c = S.charCodeAt(i); - if (c < 55296 || c > 57343) { - U.push(String.fromCodePoint(c)); - } else if (56320 <= c && c <= 57343) { - U.push(String.fromCodePoint(65533)); - } else { - if (i === n - 1) { - U.push(String.fromCodePoint(65533)); - } else { - const d = S.charCodeAt(i + 1); - if (56320 <= d && d <= 57343) { - const a = c & 1023; - const b = d & 1023; - U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); - ++i; - } else { - U.push(String.fromCodePoint(65533)); - } - } - } + var kInformationalError = Symbol.for("undici.error.UND_ERR_INFO"); + var InformationalError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "InformationalError"; + this.message = message || "Request information"; + this.code = "UND_ERR_INFO"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kInformationalError] === true; } - return U.join(''); + [kInformationalError] = true; }; - conversions['Date'] = function (V, opts) { - if (!(V instanceof Date)) { - throw new TypeError('Argument is not a Date object'); + var kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"); + var RequestContentLengthMismatchError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "RequestContentLengthMismatchError"; + this.message = message || "Request body length does not match content-length header"; + this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; } - if (isNaN(V)) { - return void 0; + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestContentLengthMismatchError] === true; } - return V; + [kRequestContentLengthMismatchError] = true; + }; + var kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"); + var ResponseContentLengthMismatchError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "ResponseContentLengthMismatchError"; + this.message = message || "Response body length does not match content-length header"; + this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseContentLengthMismatchError] === true; + } + [kResponseContentLengthMismatchError] = true; }; - conversions['RegExp'] = function (V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); + var kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED"); + var ClientDestroyedError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "ClientDestroyedError"; + this.message = message || "The client is destroyed"; + this.code = "UND_ERR_DESTROYED"; } - return V; + static [Symbol.hasInstance](instance) { + return instance && instance[kClientDestroyedError] === true; + } + [kClientDestroyedError] = true; }; - } -}); - -// node_modules/whatwg-url/lib/utils.js -var require_utils3 = __commonJS({ - 'node_modules/whatwg-url/lib/utils.js'(exports2, module2) { - 'use strict'; - module2.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + var kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED"); + var ClientClosedError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "ClientClosedError"; + this.message = message || "The client is closed"; + this.code = "UND_ERR_CLOSED"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kClientClosedError] === true; + } + [kClientClosedError] = true; + }; + var kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET"); + var SocketError = class extends UndiciError { + constructor(message, socket) { + super(message); + this.name = "SocketError"; + this.message = message || "Socket error"; + this.code = "UND_ERR_SOCKET"; + this.socket = socket; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kSocketError] === true; + } + [kSocketError] = true; + }; + var kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"); + var NotSupportedError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "NotSupportedError"; + this.message = message || "Not supported error"; + this.code = "UND_ERR_NOT_SUPPORTED"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kNotSupportedError] === true; + } + [kNotSupportedError] = true; + }; + var kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"); + var BalancedPoolMissingUpstreamError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "MissingUpstreamError"; + this.message = message || "No upstream has been added to the BalancedPool"; + this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kBalancedPoolMissingUpstreamError] === true; + } + [kBalancedPoolMissingUpstreamError] = true; + }; + var kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER"); + var HTTPParserError = class extends Error { + constructor(message, code, data) { + super(message); + this.name = "HTTPParserError"; + this.code = code ? `HPE_${code}` : void 0; + this.data = data ? data.toString() : void 0; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kHTTPParserError] === true; } + [kHTTPParserError] = true; }; - module2.exports.wrapperSymbol = Symbol('wrapper'); - module2.exports.implSymbol = Symbol('impl'); - module2.exports.wrapperForImpl = function (impl) { - return impl[module2.exports.wrapperSymbol]; + var kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"); + var ResponseExceededMaxSizeError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "ResponseExceededMaxSizeError"; + this.message = message || "Response content exceeded max size"; + this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseExceededMaxSizeError] === true; + } + [kResponseExceededMaxSizeError] = true; + }; + var kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY"); + var RequestRetryError = class extends UndiciError { + constructor(message, code, { headers, data }) { + super(message); + this.name = "RequestRetryError"; + this.message = message || "Request retry error"; + this.code = "UND_ERR_REQ_RETRY"; + this.statusCode = code; + this.data = data; + this.headers = headers; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestRetryError] === true; + } + [kRequestRetryError] = true; + }; + var kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE"); + var ResponseError = class extends UndiciError { + constructor(message, code, { headers, data }) { + super(message); + this.name = "ResponseError"; + this.message = message || "Response error"; + this.code = "UND_ERR_RESPONSE"; + this.statusCode = code; + this.data = data; + this.headers = headers; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseError] === true; + } + [kResponseError] = true; }; - module2.exports.implForWrapper = function (wrapper) { - return wrapper[module2.exports.implSymbol]; + var kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS"); + var SecureProxyConnectionError = class extends UndiciError { + constructor(cause, message, options) { + super(message, { cause, ...options ?? {} }); + this.name = "SecureProxyConnectionError"; + this.message = message || "Secure Proxy Connection failed"; + this.code = "UND_ERR_PRX_TLS"; + this.cause = cause; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kSecureProxyConnectionError] === true; + } + [kSecureProxyConnectionError] = true; + }; + module2.exports = { + AbortError, + HTTPParserError, + UndiciError, + HeadersTimeoutError, + HeadersOverflowError, + BodyTimeoutError, + RequestContentLengthMismatchError, + ConnectTimeoutError, + ResponseStatusCodeError, + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError, + ClientDestroyedError, + ClientClosedError, + InformationalError, + SocketError, + NotSupportedError, + ResponseContentLengthMismatchError, + BalancedPoolMissingUpstreamError, + ResponseExceededMaxSizeError, + RequestRetryError, + ResponseError, + SecureProxyConnectionError }; } }); -// node_modules/tr46/lib/mappingTable.json -var require_mappingTable = __commonJS({ - 'node_modules/tr46/lib/mappingTable.json'(exports2, module2) { - module2.exports = [ - [[0, 44], 'disallowed_STD3_valid'], - [[45, 46], 'valid'], - [[47, 47], 'disallowed_STD3_valid'], - [[48, 57], 'valid'], - [[58, 64], 'disallowed_STD3_valid'], - [[65, 65], 'mapped', [97]], - [[66, 66], 'mapped', [98]], - [[67, 67], 'mapped', [99]], - [[68, 68], 'mapped', [100]], - [[69, 69], 'mapped', [101]], - [[70, 70], 'mapped', [102]], - [[71, 71], 'mapped', [103]], - [[72, 72], 'mapped', [104]], - [[73, 73], 'mapped', [105]], - [[74, 74], 'mapped', [106]], - [[75, 75], 'mapped', [107]], - [[76, 76], 'mapped', [108]], - [[77, 77], 'mapped', [109]], - [[78, 78], 'mapped', [110]], - [[79, 79], 'mapped', [111]], - [[80, 80], 'mapped', [112]], - [[81, 81], 'mapped', [113]], - [[82, 82], 'mapped', [114]], - [[83, 83], 'mapped', [115]], - [[84, 84], 'mapped', [116]], - [[85, 85], 'mapped', [117]], - [[86, 86], 'mapped', [118]], - [[87, 87], 'mapped', [119]], - [[88, 88], 'mapped', [120]], - [[89, 89], 'mapped', [121]], - [[90, 90], 'mapped', [122]], - [[91, 96], 'disallowed_STD3_valid'], - [[97, 122], 'valid'], - [[123, 127], 'disallowed_STD3_valid'], - [[128, 159], 'disallowed'], - [[160, 160], 'disallowed_STD3_mapped', [32]], - [[161, 167], 'valid', [], 'NV8'], - [[168, 168], 'disallowed_STD3_mapped', [32, 776]], - [[169, 169], 'valid', [], 'NV8'], - [[170, 170], 'mapped', [97]], - [[171, 172], 'valid', [], 'NV8'], - [[173, 173], 'ignored'], - [[174, 174], 'valid', [], 'NV8'], - [[175, 175], 'disallowed_STD3_mapped', [32, 772]], - [[176, 177], 'valid', [], 'NV8'], - [[178, 178], 'mapped', [50]], - [[179, 179], 'mapped', [51]], - [[180, 180], 'disallowed_STD3_mapped', [32, 769]], - [[181, 181], 'mapped', [956]], - [[182, 182], 'valid', [], 'NV8'], - [[183, 183], 'valid'], - [[184, 184], 'disallowed_STD3_mapped', [32, 807]], - [[185, 185], 'mapped', [49]], - [[186, 186], 'mapped', [111]], - [[187, 187], 'valid', [], 'NV8'], - [[188, 188], 'mapped', [49, 8260, 52]], - [[189, 189], 'mapped', [49, 8260, 50]], - [[190, 190], 'mapped', [51, 8260, 52]], - [[191, 191], 'valid', [], 'NV8'], - [[192, 192], 'mapped', [224]], - [[193, 193], 'mapped', [225]], - [[194, 194], 'mapped', [226]], - [[195, 195], 'mapped', [227]], - [[196, 196], 'mapped', [228]], - [[197, 197], 'mapped', [229]], - [[198, 198], 'mapped', [230]], - [[199, 199], 'mapped', [231]], - [[200, 200], 'mapped', [232]], - [[201, 201], 'mapped', [233]], - [[202, 202], 'mapped', [234]], - [[203, 203], 'mapped', [235]], - [[204, 204], 'mapped', [236]], - [[205, 205], 'mapped', [237]], - [[206, 206], 'mapped', [238]], - [[207, 207], 'mapped', [239]], - [[208, 208], 'mapped', [240]], - [[209, 209], 'mapped', [241]], - [[210, 210], 'mapped', [242]], - [[211, 211], 'mapped', [243]], - [[212, 212], 'mapped', [244]], - [[213, 213], 'mapped', [245]], - [[214, 214], 'mapped', [246]], - [[215, 215], 'valid', [], 'NV8'], - [[216, 216], 'mapped', [248]], - [[217, 217], 'mapped', [249]], - [[218, 218], 'mapped', [250]], - [[219, 219], 'mapped', [251]], - [[220, 220], 'mapped', [252]], - [[221, 221], 'mapped', [253]], - [[222, 222], 'mapped', [254]], - [[223, 223], 'deviation', [115, 115]], - [[224, 246], 'valid'], - [[247, 247], 'valid', [], 'NV8'], - [[248, 255], 'valid'], - [[256, 256], 'mapped', [257]], - [[257, 257], 'valid'], - [[258, 258], 'mapped', [259]], - [[259, 259], 'valid'], - [[260, 260], 'mapped', [261]], - [[261, 261], 'valid'], - [[262, 262], 'mapped', [263]], - [[263, 263], 'valid'], - [[264, 264], 'mapped', [265]], - [[265, 265], 'valid'], - [[266, 266], 'mapped', [267]], - [[267, 267], 'valid'], - [[268, 268], 'mapped', [269]], - [[269, 269], 'valid'], - [[270, 270], 'mapped', [271]], - [[271, 271], 'valid'], - [[272, 272], 'mapped', [273]], - [[273, 273], 'valid'], - [[274, 274], 'mapped', [275]], - [[275, 275], 'valid'], - [[276, 276], 'mapped', [277]], - [[277, 277], 'valid'], - [[278, 278], 'mapped', [279]], - [[279, 279], 'valid'], - [[280, 280], 'mapped', [281]], - [[281, 281], 'valid'], - [[282, 282], 'mapped', [283]], - [[283, 283], 'valid'], - [[284, 284], 'mapped', [285]], - [[285, 285], 'valid'], - [[286, 286], 'mapped', [287]], - [[287, 287], 'valid'], - [[288, 288], 'mapped', [289]], - [[289, 289], 'valid'], - [[290, 290], 'mapped', [291]], - [[291, 291], 'valid'], - [[292, 292], 'mapped', [293]], - [[293, 293], 'valid'], - [[294, 294], 'mapped', [295]], - [[295, 295], 'valid'], - [[296, 296], 'mapped', [297]], - [[297, 297], 'valid'], - [[298, 298], 'mapped', [299]], - [[299, 299], 'valid'], - [[300, 300], 'mapped', [301]], - [[301, 301], 'valid'], - [[302, 302], 'mapped', [303]], - [[303, 303], 'valid'], - [[304, 304], 'mapped', [105, 775]], - [[305, 305], 'valid'], - [[306, 307], 'mapped', [105, 106]], - [[308, 308], 'mapped', [309]], - [[309, 309], 'valid'], - [[310, 310], 'mapped', [311]], - [[311, 312], 'valid'], - [[313, 313], 'mapped', [314]], - [[314, 314], 'valid'], - [[315, 315], 'mapped', [316]], - [[316, 316], 'valid'], - [[317, 317], 'mapped', [318]], - [[318, 318], 'valid'], - [[319, 320], 'mapped', [108, 183]], - [[321, 321], 'mapped', [322]], - [[322, 322], 'valid'], - [[323, 323], 'mapped', [324]], - [[324, 324], 'valid'], - [[325, 325], 'mapped', [326]], - [[326, 326], 'valid'], - [[327, 327], 'mapped', [328]], - [[328, 328], 'valid'], - [[329, 329], 'mapped', [700, 110]], - [[330, 330], 'mapped', [331]], - [[331, 331], 'valid'], - [[332, 332], 'mapped', [333]], - [[333, 333], 'valid'], - [[334, 334], 'mapped', [335]], - [[335, 335], 'valid'], - [[336, 336], 'mapped', [337]], - [[337, 337], 'valid'], - [[338, 338], 'mapped', [339]], - [[339, 339], 'valid'], - [[340, 340], 'mapped', [341]], - [[341, 341], 'valid'], - [[342, 342], 'mapped', [343]], - [[343, 343], 'valid'], - [[344, 344], 'mapped', [345]], - [[345, 345], 'valid'], - [[346, 346], 'mapped', [347]], - [[347, 347], 'valid'], - [[348, 348], 'mapped', [349]], - [[349, 349], 'valid'], - [[350, 350], 'mapped', [351]], - [[351, 351], 'valid'], - [[352, 352], 'mapped', [353]], - [[353, 353], 'valid'], - [[354, 354], 'mapped', [355]], - [[355, 355], 'valid'], - [[356, 356], 'mapped', [357]], - [[357, 357], 'valid'], - [[358, 358], 'mapped', [359]], - [[359, 359], 'valid'], - [[360, 360], 'mapped', [361]], - [[361, 361], 'valid'], - [[362, 362], 'mapped', [363]], - [[363, 363], 'valid'], - [[364, 364], 'mapped', [365]], - [[365, 365], 'valid'], - [[366, 366], 'mapped', [367]], - [[367, 367], 'valid'], - [[368, 368], 'mapped', [369]], - [[369, 369], 'valid'], - [[370, 370], 'mapped', [371]], - [[371, 371], 'valid'], - [[372, 372], 'mapped', [373]], - [[373, 373], 'valid'], - [[374, 374], 'mapped', [375]], - [[375, 375], 'valid'], - [[376, 376], 'mapped', [255]], - [[377, 377], 'mapped', [378]], - [[378, 378], 'valid'], - [[379, 379], 'mapped', [380]], - [[380, 380], 'valid'], - [[381, 381], 'mapped', [382]], - [[382, 382], 'valid'], - [[383, 383], 'mapped', [115]], - [[384, 384], 'valid'], - [[385, 385], 'mapped', [595]], - [[386, 386], 'mapped', [387]], - [[387, 387], 'valid'], - [[388, 388], 'mapped', [389]], - [[389, 389], 'valid'], - [[390, 390], 'mapped', [596]], - [[391, 391], 'mapped', [392]], - [[392, 392], 'valid'], - [[393, 393], 'mapped', [598]], - [[394, 394], 'mapped', [599]], - [[395, 395], 'mapped', [396]], - [[396, 397], 'valid'], - [[398, 398], 'mapped', [477]], - [[399, 399], 'mapped', [601]], - [[400, 400], 'mapped', [603]], - [[401, 401], 'mapped', [402]], - [[402, 402], 'valid'], - [[403, 403], 'mapped', [608]], - [[404, 404], 'mapped', [611]], - [[405, 405], 'valid'], - [[406, 406], 'mapped', [617]], - [[407, 407], 'mapped', [616]], - [[408, 408], 'mapped', [409]], - [[409, 411], 'valid'], - [[412, 412], 'mapped', [623]], - [[413, 413], 'mapped', [626]], - [[414, 414], 'valid'], - [[415, 415], 'mapped', [629]], - [[416, 416], 'mapped', [417]], - [[417, 417], 'valid'], - [[418, 418], 'mapped', [419]], - [[419, 419], 'valid'], - [[420, 420], 'mapped', [421]], - [[421, 421], 'valid'], - [[422, 422], 'mapped', [640]], - [[423, 423], 'mapped', [424]], - [[424, 424], 'valid'], - [[425, 425], 'mapped', [643]], - [[426, 427], 'valid'], - [[428, 428], 'mapped', [429]], - [[429, 429], 'valid'], - [[430, 430], 'mapped', [648]], - [[431, 431], 'mapped', [432]], - [[432, 432], 'valid'], - [[433, 433], 'mapped', [650]], - [[434, 434], 'mapped', [651]], - [[435, 435], 'mapped', [436]], - [[436, 436], 'valid'], - [[437, 437], 'mapped', [438]], - [[438, 438], 'valid'], - [[439, 439], 'mapped', [658]], - [[440, 440], 'mapped', [441]], - [[441, 443], 'valid'], - [[444, 444], 'mapped', [445]], - [[445, 451], 'valid'], - [[452, 454], 'mapped', [100, 382]], - [[455, 457], 'mapped', [108, 106]], - [[458, 460], 'mapped', [110, 106]], - [[461, 461], 'mapped', [462]], - [[462, 462], 'valid'], - [[463, 463], 'mapped', [464]], - [[464, 464], 'valid'], - [[465, 465], 'mapped', [466]], - [[466, 466], 'valid'], - [[467, 467], 'mapped', [468]], - [[468, 468], 'valid'], - [[469, 469], 'mapped', [470]], - [[470, 470], 'valid'], - [[471, 471], 'mapped', [472]], - [[472, 472], 'valid'], - [[473, 473], 'mapped', [474]], - [[474, 474], 'valid'], - [[475, 475], 'mapped', [476]], - [[476, 477], 'valid'], - [[478, 478], 'mapped', [479]], - [[479, 479], 'valid'], - [[480, 480], 'mapped', [481]], - [[481, 481], 'valid'], - [[482, 482], 'mapped', [483]], - [[483, 483], 'valid'], - [[484, 484], 'mapped', [485]], - [[485, 485], 'valid'], - [[486, 486], 'mapped', [487]], - [[487, 487], 'valid'], - [[488, 488], 'mapped', [489]], - [[489, 489], 'valid'], - [[490, 490], 'mapped', [491]], - [[491, 491], 'valid'], - [[492, 492], 'mapped', [493]], - [[493, 493], 'valid'], - [[494, 494], 'mapped', [495]], - [[495, 496], 'valid'], - [[497, 499], 'mapped', [100, 122]], - [[500, 500], 'mapped', [501]], - [[501, 501], 'valid'], - [[502, 502], 'mapped', [405]], - [[503, 503], 'mapped', [447]], - [[504, 504], 'mapped', [505]], - [[505, 505], 'valid'], - [[506, 506], 'mapped', [507]], - [[507, 507], 'valid'], - [[508, 508], 'mapped', [509]], - [[509, 509], 'valid'], - [[510, 510], 'mapped', [511]], - [[511, 511], 'valid'], - [[512, 512], 'mapped', [513]], - [[513, 513], 'valid'], - [[514, 514], 'mapped', [515]], - [[515, 515], 'valid'], - [[516, 516], 'mapped', [517]], - [[517, 517], 'valid'], - [[518, 518], 'mapped', [519]], - [[519, 519], 'valid'], - [[520, 520], 'mapped', [521]], - [[521, 521], 'valid'], - [[522, 522], 'mapped', [523]], - [[523, 523], 'valid'], - [[524, 524], 'mapped', [525]], - [[525, 525], 'valid'], - [[526, 526], 'mapped', [527]], - [[527, 527], 'valid'], - [[528, 528], 'mapped', [529]], - [[529, 529], 'valid'], - [[530, 530], 'mapped', [531]], - [[531, 531], 'valid'], - [[532, 532], 'mapped', [533]], - [[533, 533], 'valid'], - [[534, 534], 'mapped', [535]], - [[535, 535], 'valid'], - [[536, 536], 'mapped', [537]], - [[537, 537], 'valid'], - [[538, 538], 'mapped', [539]], - [[539, 539], 'valid'], - [[540, 540], 'mapped', [541]], - [[541, 541], 'valid'], - [[542, 542], 'mapped', [543]], - [[543, 543], 'valid'], - [[544, 544], 'mapped', [414]], - [[545, 545], 'valid'], - [[546, 546], 'mapped', [547]], - [[547, 547], 'valid'], - [[548, 548], 'mapped', [549]], - [[549, 549], 'valid'], - [[550, 550], 'mapped', [551]], - [[551, 551], 'valid'], - [[552, 552], 'mapped', [553]], - [[553, 553], 'valid'], - [[554, 554], 'mapped', [555]], - [[555, 555], 'valid'], - [[556, 556], 'mapped', [557]], - [[557, 557], 'valid'], - [[558, 558], 'mapped', [559]], - [[559, 559], 'valid'], - [[560, 560], 'mapped', [561]], - [[561, 561], 'valid'], - [[562, 562], 'mapped', [563]], - [[563, 563], 'valid'], - [[564, 566], 'valid'], - [[567, 569], 'valid'], - [[570, 570], 'mapped', [11365]], - [[571, 571], 'mapped', [572]], - [[572, 572], 'valid'], - [[573, 573], 'mapped', [410]], - [[574, 574], 'mapped', [11366]], - [[575, 576], 'valid'], - [[577, 577], 'mapped', [578]], - [[578, 578], 'valid'], - [[579, 579], 'mapped', [384]], - [[580, 580], 'mapped', [649]], - [[581, 581], 'mapped', [652]], - [[582, 582], 'mapped', [583]], - [[583, 583], 'valid'], - [[584, 584], 'mapped', [585]], - [[585, 585], 'valid'], - [[586, 586], 'mapped', [587]], - [[587, 587], 'valid'], - [[588, 588], 'mapped', [589]], - [[589, 589], 'valid'], - [[590, 590], 'mapped', [591]], - [[591, 591], 'valid'], - [[592, 680], 'valid'], - [[681, 685], 'valid'], - [[686, 687], 'valid'], - [[688, 688], 'mapped', [104]], - [[689, 689], 'mapped', [614]], - [[690, 690], 'mapped', [106]], - [[691, 691], 'mapped', [114]], - [[692, 692], 'mapped', [633]], - [[693, 693], 'mapped', [635]], - [[694, 694], 'mapped', [641]], - [[695, 695], 'mapped', [119]], - [[696, 696], 'mapped', [121]], - [[697, 705], 'valid'], - [[706, 709], 'valid', [], 'NV8'], - [[710, 721], 'valid'], - [[722, 727], 'valid', [], 'NV8'], - [[728, 728], 'disallowed_STD3_mapped', [32, 774]], - [[729, 729], 'disallowed_STD3_mapped', [32, 775]], - [[730, 730], 'disallowed_STD3_mapped', [32, 778]], - [[731, 731], 'disallowed_STD3_mapped', [32, 808]], - [[732, 732], 'disallowed_STD3_mapped', [32, 771]], - [[733, 733], 'disallowed_STD3_mapped', [32, 779]], - [[734, 734], 'valid', [], 'NV8'], - [[735, 735], 'valid', [], 'NV8'], - [[736, 736], 'mapped', [611]], - [[737, 737], 'mapped', [108]], - [[738, 738], 'mapped', [115]], - [[739, 739], 'mapped', [120]], - [[740, 740], 'mapped', [661]], - [[741, 745], 'valid', [], 'NV8'], - [[746, 747], 'valid', [], 'NV8'], - [[748, 748], 'valid'], - [[749, 749], 'valid', [], 'NV8'], - [[750, 750], 'valid'], - [[751, 767], 'valid', [], 'NV8'], - [[768, 831], 'valid'], - [[832, 832], 'mapped', [768]], - [[833, 833], 'mapped', [769]], - [[834, 834], 'valid'], - [[835, 835], 'mapped', [787]], - [[836, 836], 'mapped', [776, 769]], - [[837, 837], 'mapped', [953]], - [[838, 846], 'valid'], - [[847, 847], 'ignored'], - [[848, 855], 'valid'], - [[856, 860], 'valid'], - [[861, 863], 'valid'], - [[864, 865], 'valid'], - [[866, 866], 'valid'], - [[867, 879], 'valid'], - [[880, 880], 'mapped', [881]], - [[881, 881], 'valid'], - [[882, 882], 'mapped', [883]], - [[883, 883], 'valid'], - [[884, 884], 'mapped', [697]], - [[885, 885], 'valid'], - [[886, 886], 'mapped', [887]], - [[887, 887], 'valid'], - [[888, 889], 'disallowed'], - [[890, 890], 'disallowed_STD3_mapped', [32, 953]], - [[891, 893], 'valid'], - [[894, 894], 'disallowed_STD3_mapped', [59]], - [[895, 895], 'mapped', [1011]], - [[896, 899], 'disallowed'], - [[900, 900], 'disallowed_STD3_mapped', [32, 769]], - [[901, 901], 'disallowed_STD3_mapped', [32, 776, 769]], - [[902, 902], 'mapped', [940]], - [[903, 903], 'mapped', [183]], - [[904, 904], 'mapped', [941]], - [[905, 905], 'mapped', [942]], - [[906, 906], 'mapped', [943]], - [[907, 907], 'disallowed'], - [[908, 908], 'mapped', [972]], - [[909, 909], 'disallowed'], - [[910, 910], 'mapped', [973]], - [[911, 911], 'mapped', [974]], - [[912, 912], 'valid'], - [[913, 913], 'mapped', [945]], - [[914, 914], 'mapped', [946]], - [[915, 915], 'mapped', [947]], - [[916, 916], 'mapped', [948]], - [[917, 917], 'mapped', [949]], - [[918, 918], 'mapped', [950]], - [[919, 919], 'mapped', [951]], - [[920, 920], 'mapped', [952]], - [[921, 921], 'mapped', [953]], - [[922, 922], 'mapped', [954]], - [[923, 923], 'mapped', [955]], - [[924, 924], 'mapped', [956]], - [[925, 925], 'mapped', [957]], - [[926, 926], 'mapped', [958]], - [[927, 927], 'mapped', [959]], - [[928, 928], 'mapped', [960]], - [[929, 929], 'mapped', [961]], - [[930, 930], 'disallowed'], - [[931, 931], 'mapped', [963]], - [[932, 932], 'mapped', [964]], - [[933, 933], 'mapped', [965]], - [[934, 934], 'mapped', [966]], - [[935, 935], 'mapped', [967]], - [[936, 936], 'mapped', [968]], - [[937, 937], 'mapped', [969]], - [[938, 938], 'mapped', [970]], - [[939, 939], 'mapped', [971]], - [[940, 961], 'valid'], - [[962, 962], 'deviation', [963]], - [[963, 974], 'valid'], - [[975, 975], 'mapped', [983]], - [[976, 976], 'mapped', [946]], - [[977, 977], 'mapped', [952]], - [[978, 978], 'mapped', [965]], - [[979, 979], 'mapped', [973]], - [[980, 980], 'mapped', [971]], - [[981, 981], 'mapped', [966]], - [[982, 982], 'mapped', [960]], - [[983, 983], 'valid'], - [[984, 984], 'mapped', [985]], - [[985, 985], 'valid'], - [[986, 986], 'mapped', [987]], - [[987, 987], 'valid'], - [[988, 988], 'mapped', [989]], - [[989, 989], 'valid'], - [[990, 990], 'mapped', [991]], - [[991, 991], 'valid'], - [[992, 992], 'mapped', [993]], - [[993, 993], 'valid'], - [[994, 994], 'mapped', [995]], - [[995, 995], 'valid'], - [[996, 996], 'mapped', [997]], - [[997, 997], 'valid'], - [[998, 998], 'mapped', [999]], - [[999, 999], 'valid'], - [[1e3, 1e3], 'mapped', [1001]], - [[1001, 1001], 'valid'], - [[1002, 1002], 'mapped', [1003]], - [[1003, 1003], 'valid'], - [[1004, 1004], 'mapped', [1005]], - [[1005, 1005], 'valid'], - [[1006, 1006], 'mapped', [1007]], - [[1007, 1007], 'valid'], - [[1008, 1008], 'mapped', [954]], - [[1009, 1009], 'mapped', [961]], - [[1010, 1010], 'mapped', [963]], - [[1011, 1011], 'valid'], - [[1012, 1012], 'mapped', [952]], - [[1013, 1013], 'mapped', [949]], - [[1014, 1014], 'valid', [], 'NV8'], - [[1015, 1015], 'mapped', [1016]], - [[1016, 1016], 'valid'], - [[1017, 1017], 'mapped', [963]], - [[1018, 1018], 'mapped', [1019]], - [[1019, 1019], 'valid'], - [[1020, 1020], 'valid'], - [[1021, 1021], 'mapped', [891]], - [[1022, 1022], 'mapped', [892]], - [[1023, 1023], 'mapped', [893]], - [[1024, 1024], 'mapped', [1104]], - [[1025, 1025], 'mapped', [1105]], - [[1026, 1026], 'mapped', [1106]], - [[1027, 1027], 'mapped', [1107]], - [[1028, 1028], 'mapped', [1108]], - [[1029, 1029], 'mapped', [1109]], - [[1030, 1030], 'mapped', [1110]], - [[1031, 1031], 'mapped', [1111]], - [[1032, 1032], 'mapped', [1112]], - [[1033, 1033], 'mapped', [1113]], - [[1034, 1034], 'mapped', [1114]], - [[1035, 1035], 'mapped', [1115]], - [[1036, 1036], 'mapped', [1116]], - [[1037, 1037], 'mapped', [1117]], - [[1038, 1038], 'mapped', [1118]], - [[1039, 1039], 'mapped', [1119]], - [[1040, 1040], 'mapped', [1072]], - [[1041, 1041], 'mapped', [1073]], - [[1042, 1042], 'mapped', [1074]], - [[1043, 1043], 'mapped', [1075]], - [[1044, 1044], 'mapped', [1076]], - [[1045, 1045], 'mapped', [1077]], - [[1046, 1046], 'mapped', [1078]], - [[1047, 1047], 'mapped', [1079]], - [[1048, 1048], 'mapped', [1080]], - [[1049, 1049], 'mapped', [1081]], - [[1050, 1050], 'mapped', [1082]], - [[1051, 1051], 'mapped', [1083]], - [[1052, 1052], 'mapped', [1084]], - [[1053, 1053], 'mapped', [1085]], - [[1054, 1054], 'mapped', [1086]], - [[1055, 1055], 'mapped', [1087]], - [[1056, 1056], 'mapped', [1088]], - [[1057, 1057], 'mapped', [1089]], - [[1058, 1058], 'mapped', [1090]], - [[1059, 1059], 'mapped', [1091]], - [[1060, 1060], 'mapped', [1092]], - [[1061, 1061], 'mapped', [1093]], - [[1062, 1062], 'mapped', [1094]], - [[1063, 1063], 'mapped', [1095]], - [[1064, 1064], 'mapped', [1096]], - [[1065, 1065], 'mapped', [1097]], - [[1066, 1066], 'mapped', [1098]], - [[1067, 1067], 'mapped', [1099]], - [[1068, 1068], 'mapped', [1100]], - [[1069, 1069], 'mapped', [1101]], - [[1070, 1070], 'mapped', [1102]], - [[1071, 1071], 'mapped', [1103]], - [[1072, 1103], 'valid'], - [[1104, 1104], 'valid'], - [[1105, 1116], 'valid'], - [[1117, 1117], 'valid'], - [[1118, 1119], 'valid'], - [[1120, 1120], 'mapped', [1121]], - [[1121, 1121], 'valid'], - [[1122, 1122], 'mapped', [1123]], - [[1123, 1123], 'valid'], - [[1124, 1124], 'mapped', [1125]], - [[1125, 1125], 'valid'], - [[1126, 1126], 'mapped', [1127]], - [[1127, 1127], 'valid'], - [[1128, 1128], 'mapped', [1129]], - [[1129, 1129], 'valid'], - [[1130, 1130], 'mapped', [1131]], - [[1131, 1131], 'valid'], - [[1132, 1132], 'mapped', [1133]], - [[1133, 1133], 'valid'], - [[1134, 1134], 'mapped', [1135]], - [[1135, 1135], 'valid'], - [[1136, 1136], 'mapped', [1137]], - [[1137, 1137], 'valid'], - [[1138, 1138], 'mapped', [1139]], - [[1139, 1139], 'valid'], - [[1140, 1140], 'mapped', [1141]], - [[1141, 1141], 'valid'], - [[1142, 1142], 'mapped', [1143]], - [[1143, 1143], 'valid'], - [[1144, 1144], 'mapped', [1145]], - [[1145, 1145], 'valid'], - [[1146, 1146], 'mapped', [1147]], - [[1147, 1147], 'valid'], - [[1148, 1148], 'mapped', [1149]], - [[1149, 1149], 'valid'], - [[1150, 1150], 'mapped', [1151]], - [[1151, 1151], 'valid'], - [[1152, 1152], 'mapped', [1153]], - [[1153, 1153], 'valid'], - [[1154, 1154], 'valid', [], 'NV8'], - [[1155, 1158], 'valid'], - [[1159, 1159], 'valid'], - [[1160, 1161], 'valid', [], 'NV8'], - [[1162, 1162], 'mapped', [1163]], - [[1163, 1163], 'valid'], - [[1164, 1164], 'mapped', [1165]], - [[1165, 1165], 'valid'], - [[1166, 1166], 'mapped', [1167]], - [[1167, 1167], 'valid'], - [[1168, 1168], 'mapped', [1169]], - [[1169, 1169], 'valid'], - [[1170, 1170], 'mapped', [1171]], - [[1171, 1171], 'valid'], - [[1172, 1172], 'mapped', [1173]], - [[1173, 1173], 'valid'], - [[1174, 1174], 'mapped', [1175]], - [[1175, 1175], 'valid'], - [[1176, 1176], 'mapped', [1177]], - [[1177, 1177], 'valid'], - [[1178, 1178], 'mapped', [1179]], - [[1179, 1179], 'valid'], - [[1180, 1180], 'mapped', [1181]], - [[1181, 1181], 'valid'], - [[1182, 1182], 'mapped', [1183]], - [[1183, 1183], 'valid'], - [[1184, 1184], 'mapped', [1185]], - [[1185, 1185], 'valid'], - [[1186, 1186], 'mapped', [1187]], - [[1187, 1187], 'valid'], - [[1188, 1188], 'mapped', [1189]], - [[1189, 1189], 'valid'], - [[1190, 1190], 'mapped', [1191]], - [[1191, 1191], 'valid'], - [[1192, 1192], 'mapped', [1193]], - [[1193, 1193], 'valid'], - [[1194, 1194], 'mapped', [1195]], - [[1195, 1195], 'valid'], - [[1196, 1196], 'mapped', [1197]], - [[1197, 1197], 'valid'], - [[1198, 1198], 'mapped', [1199]], - [[1199, 1199], 'valid'], - [[1200, 1200], 'mapped', [1201]], - [[1201, 1201], 'valid'], - [[1202, 1202], 'mapped', [1203]], - [[1203, 1203], 'valid'], - [[1204, 1204], 'mapped', [1205]], - [[1205, 1205], 'valid'], - [[1206, 1206], 'mapped', [1207]], - [[1207, 1207], 'valid'], - [[1208, 1208], 'mapped', [1209]], - [[1209, 1209], 'valid'], - [[1210, 1210], 'mapped', [1211]], - [[1211, 1211], 'valid'], - [[1212, 1212], 'mapped', [1213]], - [[1213, 1213], 'valid'], - [[1214, 1214], 'mapped', [1215]], - [[1215, 1215], 'valid'], - [[1216, 1216], 'disallowed'], - [[1217, 1217], 'mapped', [1218]], - [[1218, 1218], 'valid'], - [[1219, 1219], 'mapped', [1220]], - [[1220, 1220], 'valid'], - [[1221, 1221], 'mapped', [1222]], - [[1222, 1222], 'valid'], - [[1223, 1223], 'mapped', [1224]], - [[1224, 1224], 'valid'], - [[1225, 1225], 'mapped', [1226]], - [[1226, 1226], 'valid'], - [[1227, 1227], 'mapped', [1228]], - [[1228, 1228], 'valid'], - [[1229, 1229], 'mapped', [1230]], - [[1230, 1230], 'valid'], - [[1231, 1231], 'valid'], - [[1232, 1232], 'mapped', [1233]], - [[1233, 1233], 'valid'], - [[1234, 1234], 'mapped', [1235]], - [[1235, 1235], 'valid'], - [[1236, 1236], 'mapped', [1237]], - [[1237, 1237], 'valid'], - [[1238, 1238], 'mapped', [1239]], - [[1239, 1239], 'valid'], - [[1240, 1240], 'mapped', [1241]], - [[1241, 1241], 'valid'], - [[1242, 1242], 'mapped', [1243]], - [[1243, 1243], 'valid'], - [[1244, 1244], 'mapped', [1245]], - [[1245, 1245], 'valid'], - [[1246, 1246], 'mapped', [1247]], - [[1247, 1247], 'valid'], - [[1248, 1248], 'mapped', [1249]], - [[1249, 1249], 'valid'], - [[1250, 1250], 'mapped', [1251]], - [[1251, 1251], 'valid'], - [[1252, 1252], 'mapped', [1253]], - [[1253, 1253], 'valid'], - [[1254, 1254], 'mapped', [1255]], - [[1255, 1255], 'valid'], - [[1256, 1256], 'mapped', [1257]], - [[1257, 1257], 'valid'], - [[1258, 1258], 'mapped', [1259]], - [[1259, 1259], 'valid'], - [[1260, 1260], 'mapped', [1261]], - [[1261, 1261], 'valid'], - [[1262, 1262], 'mapped', [1263]], - [[1263, 1263], 'valid'], - [[1264, 1264], 'mapped', [1265]], - [[1265, 1265], 'valid'], - [[1266, 1266], 'mapped', [1267]], - [[1267, 1267], 'valid'], - [[1268, 1268], 'mapped', [1269]], - [[1269, 1269], 'valid'], - [[1270, 1270], 'mapped', [1271]], - [[1271, 1271], 'valid'], - [[1272, 1272], 'mapped', [1273]], - [[1273, 1273], 'valid'], - [[1274, 1274], 'mapped', [1275]], - [[1275, 1275], 'valid'], - [[1276, 1276], 'mapped', [1277]], - [[1277, 1277], 'valid'], - [[1278, 1278], 'mapped', [1279]], - [[1279, 1279], 'valid'], - [[1280, 1280], 'mapped', [1281]], - [[1281, 1281], 'valid'], - [[1282, 1282], 'mapped', [1283]], - [[1283, 1283], 'valid'], - [[1284, 1284], 'mapped', [1285]], - [[1285, 1285], 'valid'], - [[1286, 1286], 'mapped', [1287]], - [[1287, 1287], 'valid'], - [[1288, 1288], 'mapped', [1289]], - [[1289, 1289], 'valid'], - [[1290, 1290], 'mapped', [1291]], - [[1291, 1291], 'valid'], - [[1292, 1292], 'mapped', [1293]], - [[1293, 1293], 'valid'], - [[1294, 1294], 'mapped', [1295]], - [[1295, 1295], 'valid'], - [[1296, 1296], 'mapped', [1297]], - [[1297, 1297], 'valid'], - [[1298, 1298], 'mapped', [1299]], - [[1299, 1299], 'valid'], - [[1300, 1300], 'mapped', [1301]], - [[1301, 1301], 'valid'], - [[1302, 1302], 'mapped', [1303]], - [[1303, 1303], 'valid'], - [[1304, 1304], 'mapped', [1305]], - [[1305, 1305], 'valid'], - [[1306, 1306], 'mapped', [1307]], - [[1307, 1307], 'valid'], - [[1308, 1308], 'mapped', [1309]], - [[1309, 1309], 'valid'], - [[1310, 1310], 'mapped', [1311]], - [[1311, 1311], 'valid'], - [[1312, 1312], 'mapped', [1313]], - [[1313, 1313], 'valid'], - [[1314, 1314], 'mapped', [1315]], - [[1315, 1315], 'valid'], - [[1316, 1316], 'mapped', [1317]], - [[1317, 1317], 'valid'], - [[1318, 1318], 'mapped', [1319]], - [[1319, 1319], 'valid'], - [[1320, 1320], 'mapped', [1321]], - [[1321, 1321], 'valid'], - [[1322, 1322], 'mapped', [1323]], - [[1323, 1323], 'valid'], - [[1324, 1324], 'mapped', [1325]], - [[1325, 1325], 'valid'], - [[1326, 1326], 'mapped', [1327]], - [[1327, 1327], 'valid'], - [[1328, 1328], 'disallowed'], - [[1329, 1329], 'mapped', [1377]], - [[1330, 1330], 'mapped', [1378]], - [[1331, 1331], 'mapped', [1379]], - [[1332, 1332], 'mapped', [1380]], - [[1333, 1333], 'mapped', [1381]], - [[1334, 1334], 'mapped', [1382]], - [[1335, 1335], 'mapped', [1383]], - [[1336, 1336], 'mapped', [1384]], - [[1337, 1337], 'mapped', [1385]], - [[1338, 1338], 'mapped', [1386]], - [[1339, 1339], 'mapped', [1387]], - [[1340, 1340], 'mapped', [1388]], - [[1341, 1341], 'mapped', [1389]], - [[1342, 1342], 'mapped', [1390]], - [[1343, 1343], 'mapped', [1391]], - [[1344, 1344], 'mapped', [1392]], - [[1345, 1345], 'mapped', [1393]], - [[1346, 1346], 'mapped', [1394]], - [[1347, 1347], 'mapped', [1395]], - [[1348, 1348], 'mapped', [1396]], - [[1349, 1349], 'mapped', [1397]], - [[1350, 1350], 'mapped', [1398]], - [[1351, 1351], 'mapped', [1399]], - [[1352, 1352], 'mapped', [1400]], - [[1353, 1353], 'mapped', [1401]], - [[1354, 1354], 'mapped', [1402]], - [[1355, 1355], 'mapped', [1403]], - [[1356, 1356], 'mapped', [1404]], - [[1357, 1357], 'mapped', [1405]], - [[1358, 1358], 'mapped', [1406]], - [[1359, 1359], 'mapped', [1407]], - [[1360, 1360], 'mapped', [1408]], - [[1361, 1361], 'mapped', [1409]], - [[1362, 1362], 'mapped', [1410]], - [[1363, 1363], 'mapped', [1411]], - [[1364, 1364], 'mapped', [1412]], - [[1365, 1365], 'mapped', [1413]], - [[1366, 1366], 'mapped', [1414]], - [[1367, 1368], 'disallowed'], - [[1369, 1369], 'valid'], - [[1370, 1375], 'valid', [], 'NV8'], - [[1376, 1376], 'disallowed'], - [[1377, 1414], 'valid'], - [[1415, 1415], 'mapped', [1381, 1410]], - [[1416, 1416], 'disallowed'], - [[1417, 1417], 'valid', [], 'NV8'], - [[1418, 1418], 'valid', [], 'NV8'], - [[1419, 1420], 'disallowed'], - [[1421, 1422], 'valid', [], 'NV8'], - [[1423, 1423], 'valid', [], 'NV8'], - [[1424, 1424], 'disallowed'], - [[1425, 1441], 'valid'], - [[1442, 1442], 'valid'], - [[1443, 1455], 'valid'], - [[1456, 1465], 'valid'], - [[1466, 1466], 'valid'], - [[1467, 1469], 'valid'], - [[1470, 1470], 'valid', [], 'NV8'], - [[1471, 1471], 'valid'], - [[1472, 1472], 'valid', [], 'NV8'], - [[1473, 1474], 'valid'], - [[1475, 1475], 'valid', [], 'NV8'], - [[1476, 1476], 'valid'], - [[1477, 1477], 'valid'], - [[1478, 1478], 'valid', [], 'NV8'], - [[1479, 1479], 'valid'], - [[1480, 1487], 'disallowed'], - [[1488, 1514], 'valid'], - [[1515, 1519], 'disallowed'], - [[1520, 1524], 'valid'], - [[1525, 1535], 'disallowed'], - [[1536, 1539], 'disallowed'], - [[1540, 1540], 'disallowed'], - [[1541, 1541], 'disallowed'], - [[1542, 1546], 'valid', [], 'NV8'], - [[1547, 1547], 'valid', [], 'NV8'], - [[1548, 1548], 'valid', [], 'NV8'], - [[1549, 1551], 'valid', [], 'NV8'], - [[1552, 1557], 'valid'], - [[1558, 1562], 'valid'], - [[1563, 1563], 'valid', [], 'NV8'], - [[1564, 1564], 'disallowed'], - [[1565, 1565], 'disallowed'], - [[1566, 1566], 'valid', [], 'NV8'], - [[1567, 1567], 'valid', [], 'NV8'], - [[1568, 1568], 'valid'], - [[1569, 1594], 'valid'], - [[1595, 1599], 'valid'], - [[1600, 1600], 'valid', [], 'NV8'], - [[1601, 1618], 'valid'], - [[1619, 1621], 'valid'], - [[1622, 1624], 'valid'], - [[1625, 1630], 'valid'], - [[1631, 1631], 'valid'], - [[1632, 1641], 'valid'], - [[1642, 1645], 'valid', [], 'NV8'], - [[1646, 1647], 'valid'], - [[1648, 1652], 'valid'], - [[1653, 1653], 'mapped', [1575, 1652]], - [[1654, 1654], 'mapped', [1608, 1652]], - [[1655, 1655], 'mapped', [1735, 1652]], - [[1656, 1656], 'mapped', [1610, 1652]], - [[1657, 1719], 'valid'], - [[1720, 1721], 'valid'], - [[1722, 1726], 'valid'], - [[1727, 1727], 'valid'], - [[1728, 1742], 'valid'], - [[1743, 1743], 'valid'], - [[1744, 1747], 'valid'], - [[1748, 1748], 'valid', [], 'NV8'], - [[1749, 1756], 'valid'], - [[1757, 1757], 'disallowed'], - [[1758, 1758], 'valid', [], 'NV8'], - [[1759, 1768], 'valid'], - [[1769, 1769], 'valid', [], 'NV8'], - [[1770, 1773], 'valid'], - [[1774, 1775], 'valid'], - [[1776, 1785], 'valid'], - [[1786, 1790], 'valid'], - [[1791, 1791], 'valid'], - [[1792, 1805], 'valid', [], 'NV8'], - [[1806, 1806], 'disallowed'], - [[1807, 1807], 'disallowed'], - [[1808, 1836], 'valid'], - [[1837, 1839], 'valid'], - [[1840, 1866], 'valid'], - [[1867, 1868], 'disallowed'], - [[1869, 1871], 'valid'], - [[1872, 1901], 'valid'], - [[1902, 1919], 'valid'], - [[1920, 1968], 'valid'], - [[1969, 1969], 'valid'], - [[1970, 1983], 'disallowed'], - [[1984, 2037], 'valid'], - [[2038, 2042], 'valid', [], 'NV8'], - [[2043, 2047], 'disallowed'], - [[2048, 2093], 'valid'], - [[2094, 2095], 'disallowed'], - [[2096, 2110], 'valid', [], 'NV8'], - [[2111, 2111], 'disallowed'], - [[2112, 2139], 'valid'], - [[2140, 2141], 'disallowed'], - [[2142, 2142], 'valid', [], 'NV8'], - [[2143, 2207], 'disallowed'], - [[2208, 2208], 'valid'], - [[2209, 2209], 'valid'], - [[2210, 2220], 'valid'], - [[2221, 2226], 'valid'], - [[2227, 2228], 'valid'], - [[2229, 2274], 'disallowed'], - [[2275, 2275], 'valid'], - [[2276, 2302], 'valid'], - [[2303, 2303], 'valid'], - [[2304, 2304], 'valid'], - [[2305, 2307], 'valid'], - [[2308, 2308], 'valid'], - [[2309, 2361], 'valid'], - [[2362, 2363], 'valid'], - [[2364, 2381], 'valid'], - [[2382, 2382], 'valid'], - [[2383, 2383], 'valid'], - [[2384, 2388], 'valid'], - [[2389, 2389], 'valid'], - [[2390, 2391], 'valid'], - [[2392, 2392], 'mapped', [2325, 2364]], - [[2393, 2393], 'mapped', [2326, 2364]], - [[2394, 2394], 'mapped', [2327, 2364]], - [[2395, 2395], 'mapped', [2332, 2364]], - [[2396, 2396], 'mapped', [2337, 2364]], - [[2397, 2397], 'mapped', [2338, 2364]], - [[2398, 2398], 'mapped', [2347, 2364]], - [[2399, 2399], 'mapped', [2351, 2364]], - [[2400, 2403], 'valid'], - [[2404, 2405], 'valid', [], 'NV8'], - [[2406, 2415], 'valid'], - [[2416, 2416], 'valid', [], 'NV8'], - [[2417, 2418], 'valid'], - [[2419, 2423], 'valid'], - [[2424, 2424], 'valid'], - [[2425, 2426], 'valid'], - [[2427, 2428], 'valid'], - [[2429, 2429], 'valid'], - [[2430, 2431], 'valid'], - [[2432, 2432], 'valid'], - [[2433, 2435], 'valid'], - [[2436, 2436], 'disallowed'], - [[2437, 2444], 'valid'], - [[2445, 2446], 'disallowed'], - [[2447, 2448], 'valid'], - [[2449, 2450], 'disallowed'], - [[2451, 2472], 'valid'], - [[2473, 2473], 'disallowed'], - [[2474, 2480], 'valid'], - [[2481, 2481], 'disallowed'], - [[2482, 2482], 'valid'], - [[2483, 2485], 'disallowed'], - [[2486, 2489], 'valid'], - [[2490, 2491], 'disallowed'], - [[2492, 2492], 'valid'], - [[2493, 2493], 'valid'], - [[2494, 2500], 'valid'], - [[2501, 2502], 'disallowed'], - [[2503, 2504], 'valid'], - [[2505, 2506], 'disallowed'], - [[2507, 2509], 'valid'], - [[2510, 2510], 'valid'], - [[2511, 2518], 'disallowed'], - [[2519, 2519], 'valid'], - [[2520, 2523], 'disallowed'], - [[2524, 2524], 'mapped', [2465, 2492]], - [[2525, 2525], 'mapped', [2466, 2492]], - [[2526, 2526], 'disallowed'], - [[2527, 2527], 'mapped', [2479, 2492]], - [[2528, 2531], 'valid'], - [[2532, 2533], 'disallowed'], - [[2534, 2545], 'valid'], - [[2546, 2554], 'valid', [], 'NV8'], - [[2555, 2555], 'valid', [], 'NV8'], - [[2556, 2560], 'disallowed'], - [[2561, 2561], 'valid'], - [[2562, 2562], 'valid'], - [[2563, 2563], 'valid'], - [[2564, 2564], 'disallowed'], - [[2565, 2570], 'valid'], - [[2571, 2574], 'disallowed'], - [[2575, 2576], 'valid'], - [[2577, 2578], 'disallowed'], - [[2579, 2600], 'valid'], - [[2601, 2601], 'disallowed'], - [[2602, 2608], 'valid'], - [[2609, 2609], 'disallowed'], - [[2610, 2610], 'valid'], - [[2611, 2611], 'mapped', [2610, 2620]], - [[2612, 2612], 'disallowed'], - [[2613, 2613], 'valid'], - [[2614, 2614], 'mapped', [2616, 2620]], - [[2615, 2615], 'disallowed'], - [[2616, 2617], 'valid'], - [[2618, 2619], 'disallowed'], - [[2620, 2620], 'valid'], - [[2621, 2621], 'disallowed'], - [[2622, 2626], 'valid'], - [[2627, 2630], 'disallowed'], - [[2631, 2632], 'valid'], - [[2633, 2634], 'disallowed'], - [[2635, 2637], 'valid'], - [[2638, 2640], 'disallowed'], - [[2641, 2641], 'valid'], - [[2642, 2648], 'disallowed'], - [[2649, 2649], 'mapped', [2582, 2620]], - [[2650, 2650], 'mapped', [2583, 2620]], - [[2651, 2651], 'mapped', [2588, 2620]], - [[2652, 2652], 'valid'], - [[2653, 2653], 'disallowed'], - [[2654, 2654], 'mapped', [2603, 2620]], - [[2655, 2661], 'disallowed'], - [[2662, 2676], 'valid'], - [[2677, 2677], 'valid'], - [[2678, 2688], 'disallowed'], - [[2689, 2691], 'valid'], - [[2692, 2692], 'disallowed'], - [[2693, 2699], 'valid'], - [[2700, 2700], 'valid'], - [[2701, 2701], 'valid'], - [[2702, 2702], 'disallowed'], - [[2703, 2705], 'valid'], - [[2706, 2706], 'disallowed'], - [[2707, 2728], 'valid'], - [[2729, 2729], 'disallowed'], - [[2730, 2736], 'valid'], - [[2737, 2737], 'disallowed'], - [[2738, 2739], 'valid'], - [[2740, 2740], 'disallowed'], - [[2741, 2745], 'valid'], - [[2746, 2747], 'disallowed'], - [[2748, 2757], 'valid'], - [[2758, 2758], 'disallowed'], - [[2759, 2761], 'valid'], - [[2762, 2762], 'disallowed'], - [[2763, 2765], 'valid'], - [[2766, 2767], 'disallowed'], - [[2768, 2768], 'valid'], - [[2769, 2783], 'disallowed'], - [[2784, 2784], 'valid'], - [[2785, 2787], 'valid'], - [[2788, 2789], 'disallowed'], - [[2790, 2799], 'valid'], - [[2800, 2800], 'valid', [], 'NV8'], - [[2801, 2801], 'valid', [], 'NV8'], - [[2802, 2808], 'disallowed'], - [[2809, 2809], 'valid'], - [[2810, 2816], 'disallowed'], - [[2817, 2819], 'valid'], - [[2820, 2820], 'disallowed'], - [[2821, 2828], 'valid'], - [[2829, 2830], 'disallowed'], - [[2831, 2832], 'valid'], - [[2833, 2834], 'disallowed'], - [[2835, 2856], 'valid'], - [[2857, 2857], 'disallowed'], - [[2858, 2864], 'valid'], - [[2865, 2865], 'disallowed'], - [[2866, 2867], 'valid'], - [[2868, 2868], 'disallowed'], - [[2869, 2869], 'valid'], - [[2870, 2873], 'valid'], - [[2874, 2875], 'disallowed'], - [[2876, 2883], 'valid'], - [[2884, 2884], 'valid'], - [[2885, 2886], 'disallowed'], - [[2887, 2888], 'valid'], - [[2889, 2890], 'disallowed'], - [[2891, 2893], 'valid'], - [[2894, 2901], 'disallowed'], - [[2902, 2903], 'valid'], - [[2904, 2907], 'disallowed'], - [[2908, 2908], 'mapped', [2849, 2876]], - [[2909, 2909], 'mapped', [2850, 2876]], - [[2910, 2910], 'disallowed'], - [[2911, 2913], 'valid'], - [[2914, 2915], 'valid'], - [[2916, 2917], 'disallowed'], - [[2918, 2927], 'valid'], - [[2928, 2928], 'valid', [], 'NV8'], - [[2929, 2929], 'valid'], - [[2930, 2935], 'valid', [], 'NV8'], - [[2936, 2945], 'disallowed'], - [[2946, 2947], 'valid'], - [[2948, 2948], 'disallowed'], - [[2949, 2954], 'valid'], - [[2955, 2957], 'disallowed'], - [[2958, 2960], 'valid'], - [[2961, 2961], 'disallowed'], - [[2962, 2965], 'valid'], - [[2966, 2968], 'disallowed'], - [[2969, 2970], 'valid'], - [[2971, 2971], 'disallowed'], - [[2972, 2972], 'valid'], - [[2973, 2973], 'disallowed'], - [[2974, 2975], 'valid'], - [[2976, 2978], 'disallowed'], - [[2979, 2980], 'valid'], - [[2981, 2983], 'disallowed'], - [[2984, 2986], 'valid'], - [[2987, 2989], 'disallowed'], - [[2990, 2997], 'valid'], - [[2998, 2998], 'valid'], - [[2999, 3001], 'valid'], - [[3002, 3005], 'disallowed'], - [[3006, 3010], 'valid'], - [[3011, 3013], 'disallowed'], - [[3014, 3016], 'valid'], - [[3017, 3017], 'disallowed'], - [[3018, 3021], 'valid'], - [[3022, 3023], 'disallowed'], - [[3024, 3024], 'valid'], - [[3025, 3030], 'disallowed'], - [[3031, 3031], 'valid'], - [[3032, 3045], 'disallowed'], - [[3046, 3046], 'valid'], - [[3047, 3055], 'valid'], - [[3056, 3058], 'valid', [], 'NV8'], - [[3059, 3066], 'valid', [], 'NV8'], - [[3067, 3071], 'disallowed'], - [[3072, 3072], 'valid'], - [[3073, 3075], 'valid'], - [[3076, 3076], 'disallowed'], - [[3077, 3084], 'valid'], - [[3085, 3085], 'disallowed'], - [[3086, 3088], 'valid'], - [[3089, 3089], 'disallowed'], - [[3090, 3112], 'valid'], - [[3113, 3113], 'disallowed'], - [[3114, 3123], 'valid'], - [[3124, 3124], 'valid'], - [[3125, 3129], 'valid'], - [[3130, 3132], 'disallowed'], - [[3133, 3133], 'valid'], - [[3134, 3140], 'valid'], - [[3141, 3141], 'disallowed'], - [[3142, 3144], 'valid'], - [[3145, 3145], 'disallowed'], - [[3146, 3149], 'valid'], - [[3150, 3156], 'disallowed'], - [[3157, 3158], 'valid'], - [[3159, 3159], 'disallowed'], - [[3160, 3161], 'valid'], - [[3162, 3162], 'valid'], - [[3163, 3167], 'disallowed'], - [[3168, 3169], 'valid'], - [[3170, 3171], 'valid'], - [[3172, 3173], 'disallowed'], - [[3174, 3183], 'valid'], - [[3184, 3191], 'disallowed'], - [[3192, 3199], 'valid', [], 'NV8'], - [[3200, 3200], 'disallowed'], - [[3201, 3201], 'valid'], - [[3202, 3203], 'valid'], - [[3204, 3204], 'disallowed'], - [[3205, 3212], 'valid'], - [[3213, 3213], 'disallowed'], - [[3214, 3216], 'valid'], - [[3217, 3217], 'disallowed'], - [[3218, 3240], 'valid'], - [[3241, 3241], 'disallowed'], - [[3242, 3251], 'valid'], - [[3252, 3252], 'disallowed'], - [[3253, 3257], 'valid'], - [[3258, 3259], 'disallowed'], - [[3260, 3261], 'valid'], - [[3262, 3268], 'valid'], - [[3269, 3269], 'disallowed'], - [[3270, 3272], 'valid'], - [[3273, 3273], 'disallowed'], - [[3274, 3277], 'valid'], - [[3278, 3284], 'disallowed'], - [[3285, 3286], 'valid'], - [[3287, 3293], 'disallowed'], - [[3294, 3294], 'valid'], - [[3295, 3295], 'disallowed'], - [[3296, 3297], 'valid'], - [[3298, 3299], 'valid'], - [[3300, 3301], 'disallowed'], - [[3302, 3311], 'valid'], - [[3312, 3312], 'disallowed'], - [[3313, 3314], 'valid'], - [[3315, 3328], 'disallowed'], - [[3329, 3329], 'valid'], - [[3330, 3331], 'valid'], - [[3332, 3332], 'disallowed'], - [[3333, 3340], 'valid'], - [[3341, 3341], 'disallowed'], - [[3342, 3344], 'valid'], - [[3345, 3345], 'disallowed'], - [[3346, 3368], 'valid'], - [[3369, 3369], 'valid'], - [[3370, 3385], 'valid'], - [[3386, 3386], 'valid'], - [[3387, 3388], 'disallowed'], - [[3389, 3389], 'valid'], - [[3390, 3395], 'valid'], - [[3396, 3396], 'valid'], - [[3397, 3397], 'disallowed'], - [[3398, 3400], 'valid'], - [[3401, 3401], 'disallowed'], - [[3402, 3405], 'valid'], - [[3406, 3406], 'valid'], - [[3407, 3414], 'disallowed'], - [[3415, 3415], 'valid'], - [[3416, 3422], 'disallowed'], - [[3423, 3423], 'valid'], - [[3424, 3425], 'valid'], - [[3426, 3427], 'valid'], - [[3428, 3429], 'disallowed'], - [[3430, 3439], 'valid'], - [[3440, 3445], 'valid', [], 'NV8'], - [[3446, 3448], 'disallowed'], - [[3449, 3449], 'valid', [], 'NV8'], - [[3450, 3455], 'valid'], - [[3456, 3457], 'disallowed'], - [[3458, 3459], 'valid'], - [[3460, 3460], 'disallowed'], - [[3461, 3478], 'valid'], - [[3479, 3481], 'disallowed'], - [[3482, 3505], 'valid'], - [[3506, 3506], 'disallowed'], - [[3507, 3515], 'valid'], - [[3516, 3516], 'disallowed'], - [[3517, 3517], 'valid'], - [[3518, 3519], 'disallowed'], - [[3520, 3526], 'valid'], - [[3527, 3529], 'disallowed'], - [[3530, 3530], 'valid'], - [[3531, 3534], 'disallowed'], - [[3535, 3540], 'valid'], - [[3541, 3541], 'disallowed'], - [[3542, 3542], 'valid'], - [[3543, 3543], 'disallowed'], - [[3544, 3551], 'valid'], - [[3552, 3557], 'disallowed'], - [[3558, 3567], 'valid'], - [[3568, 3569], 'disallowed'], - [[3570, 3571], 'valid'], - [[3572, 3572], 'valid', [], 'NV8'], - [[3573, 3584], 'disallowed'], - [[3585, 3634], 'valid'], - [[3635, 3635], 'mapped', [3661, 3634]], - [[3636, 3642], 'valid'], - [[3643, 3646], 'disallowed'], - [[3647, 3647], 'valid', [], 'NV8'], - [[3648, 3662], 'valid'], - [[3663, 3663], 'valid', [], 'NV8'], - [[3664, 3673], 'valid'], - [[3674, 3675], 'valid', [], 'NV8'], - [[3676, 3712], 'disallowed'], - [[3713, 3714], 'valid'], - [[3715, 3715], 'disallowed'], - [[3716, 3716], 'valid'], - [[3717, 3718], 'disallowed'], - [[3719, 3720], 'valid'], - [[3721, 3721], 'disallowed'], - [[3722, 3722], 'valid'], - [[3723, 3724], 'disallowed'], - [[3725, 3725], 'valid'], - [[3726, 3731], 'disallowed'], - [[3732, 3735], 'valid'], - [[3736, 3736], 'disallowed'], - [[3737, 3743], 'valid'], - [[3744, 3744], 'disallowed'], - [[3745, 3747], 'valid'], - [[3748, 3748], 'disallowed'], - [[3749, 3749], 'valid'], - [[3750, 3750], 'disallowed'], - [[3751, 3751], 'valid'], - [[3752, 3753], 'disallowed'], - [[3754, 3755], 'valid'], - [[3756, 3756], 'disallowed'], - [[3757, 3762], 'valid'], - [[3763, 3763], 'mapped', [3789, 3762]], - [[3764, 3769], 'valid'], - [[3770, 3770], 'disallowed'], - [[3771, 3773], 'valid'], - [[3774, 3775], 'disallowed'], - [[3776, 3780], 'valid'], - [[3781, 3781], 'disallowed'], - [[3782, 3782], 'valid'], - [[3783, 3783], 'disallowed'], - [[3784, 3789], 'valid'], - [[3790, 3791], 'disallowed'], - [[3792, 3801], 'valid'], - [[3802, 3803], 'disallowed'], - [[3804, 3804], 'mapped', [3755, 3737]], - [[3805, 3805], 'mapped', [3755, 3745]], - [[3806, 3807], 'valid'], - [[3808, 3839], 'disallowed'], - [[3840, 3840], 'valid'], - [[3841, 3850], 'valid', [], 'NV8'], - [[3851, 3851], 'valid'], - [[3852, 3852], 'mapped', [3851]], - [[3853, 3863], 'valid', [], 'NV8'], - [[3864, 3865], 'valid'], - [[3866, 3871], 'valid', [], 'NV8'], - [[3872, 3881], 'valid'], - [[3882, 3892], 'valid', [], 'NV8'], - [[3893, 3893], 'valid'], - [[3894, 3894], 'valid', [], 'NV8'], - [[3895, 3895], 'valid'], - [[3896, 3896], 'valid', [], 'NV8'], - [[3897, 3897], 'valid'], - [[3898, 3901], 'valid', [], 'NV8'], - [[3902, 3906], 'valid'], - [[3907, 3907], 'mapped', [3906, 4023]], - [[3908, 3911], 'valid'], - [[3912, 3912], 'disallowed'], - [[3913, 3916], 'valid'], - [[3917, 3917], 'mapped', [3916, 4023]], - [[3918, 3921], 'valid'], - [[3922, 3922], 'mapped', [3921, 4023]], - [[3923, 3926], 'valid'], - [[3927, 3927], 'mapped', [3926, 4023]], - [[3928, 3931], 'valid'], - [[3932, 3932], 'mapped', [3931, 4023]], - [[3933, 3944], 'valid'], - [[3945, 3945], 'mapped', [3904, 4021]], - [[3946, 3946], 'valid'], - [[3947, 3948], 'valid'], - [[3949, 3952], 'disallowed'], - [[3953, 3954], 'valid'], - [[3955, 3955], 'mapped', [3953, 3954]], - [[3956, 3956], 'valid'], - [[3957, 3957], 'mapped', [3953, 3956]], - [[3958, 3958], 'mapped', [4018, 3968]], - [[3959, 3959], 'mapped', [4018, 3953, 3968]], - [[3960, 3960], 'mapped', [4019, 3968]], - [[3961, 3961], 'mapped', [4019, 3953, 3968]], - [[3962, 3968], 'valid'], - [[3969, 3969], 'mapped', [3953, 3968]], - [[3970, 3972], 'valid'], - [[3973, 3973], 'valid', [], 'NV8'], - [[3974, 3979], 'valid'], - [[3980, 3983], 'valid'], - [[3984, 3986], 'valid'], - [[3987, 3987], 'mapped', [3986, 4023]], - [[3988, 3989], 'valid'], - [[3990, 3990], 'valid'], - [[3991, 3991], 'valid'], - [[3992, 3992], 'disallowed'], - [[3993, 3996], 'valid'], - [[3997, 3997], 'mapped', [3996, 4023]], - [[3998, 4001], 'valid'], - [[4002, 4002], 'mapped', [4001, 4023]], - [[4003, 4006], 'valid'], - [[4007, 4007], 'mapped', [4006, 4023]], - [[4008, 4011], 'valid'], - [[4012, 4012], 'mapped', [4011, 4023]], - [[4013, 4013], 'valid'], - [[4014, 4016], 'valid'], - [[4017, 4023], 'valid'], - [[4024, 4024], 'valid'], - [[4025, 4025], 'mapped', [3984, 4021]], - [[4026, 4028], 'valid'], - [[4029, 4029], 'disallowed'], - [[4030, 4037], 'valid', [], 'NV8'], - [[4038, 4038], 'valid'], - [[4039, 4044], 'valid', [], 'NV8'], - [[4045, 4045], 'disallowed'], - [[4046, 4046], 'valid', [], 'NV8'], - [[4047, 4047], 'valid', [], 'NV8'], - [[4048, 4049], 'valid', [], 'NV8'], - [[4050, 4052], 'valid', [], 'NV8'], - [[4053, 4056], 'valid', [], 'NV8'], - [[4057, 4058], 'valid', [], 'NV8'], - [[4059, 4095], 'disallowed'], - [[4096, 4129], 'valid'], - [[4130, 4130], 'valid'], - [[4131, 4135], 'valid'], - [[4136, 4136], 'valid'], - [[4137, 4138], 'valid'], - [[4139, 4139], 'valid'], - [[4140, 4146], 'valid'], - [[4147, 4149], 'valid'], - [[4150, 4153], 'valid'], - [[4154, 4159], 'valid'], - [[4160, 4169], 'valid'], - [[4170, 4175], 'valid', [], 'NV8'], - [[4176, 4185], 'valid'], - [[4186, 4249], 'valid'], - [[4250, 4253], 'valid'], - [[4254, 4255], 'valid', [], 'NV8'], - [[4256, 4293], 'disallowed'], - [[4294, 4294], 'disallowed'], - [[4295, 4295], 'mapped', [11559]], - [[4296, 4300], 'disallowed'], - [[4301, 4301], 'mapped', [11565]], - [[4302, 4303], 'disallowed'], - [[4304, 4342], 'valid'], - [[4343, 4344], 'valid'], - [[4345, 4346], 'valid'], - [[4347, 4347], 'valid', [], 'NV8'], - [[4348, 4348], 'mapped', [4316]], - [[4349, 4351], 'valid'], - [[4352, 4441], 'valid', [], 'NV8'], - [[4442, 4446], 'valid', [], 'NV8'], - [[4447, 4448], 'disallowed'], - [[4449, 4514], 'valid', [], 'NV8'], - [[4515, 4519], 'valid', [], 'NV8'], - [[4520, 4601], 'valid', [], 'NV8'], - [[4602, 4607], 'valid', [], 'NV8'], - [[4608, 4614], 'valid'], - [[4615, 4615], 'valid'], - [[4616, 4678], 'valid'], - [[4679, 4679], 'valid'], - [[4680, 4680], 'valid'], - [[4681, 4681], 'disallowed'], - [[4682, 4685], 'valid'], - [[4686, 4687], 'disallowed'], - [[4688, 4694], 'valid'], - [[4695, 4695], 'disallowed'], - [[4696, 4696], 'valid'], - [[4697, 4697], 'disallowed'], - [[4698, 4701], 'valid'], - [[4702, 4703], 'disallowed'], - [[4704, 4742], 'valid'], - [[4743, 4743], 'valid'], - [[4744, 4744], 'valid'], - [[4745, 4745], 'disallowed'], - [[4746, 4749], 'valid'], - [[4750, 4751], 'disallowed'], - [[4752, 4782], 'valid'], - [[4783, 4783], 'valid'], - [[4784, 4784], 'valid'], - [[4785, 4785], 'disallowed'], - [[4786, 4789], 'valid'], - [[4790, 4791], 'disallowed'], - [[4792, 4798], 'valid'], - [[4799, 4799], 'disallowed'], - [[4800, 4800], 'valid'], - [[4801, 4801], 'disallowed'], - [[4802, 4805], 'valid'], - [[4806, 4807], 'disallowed'], - [[4808, 4814], 'valid'], - [[4815, 4815], 'valid'], - [[4816, 4822], 'valid'], - [[4823, 4823], 'disallowed'], - [[4824, 4846], 'valid'], - [[4847, 4847], 'valid'], - [[4848, 4878], 'valid'], - [[4879, 4879], 'valid'], - [[4880, 4880], 'valid'], - [[4881, 4881], 'disallowed'], - [[4882, 4885], 'valid'], - [[4886, 4887], 'disallowed'], - [[4888, 4894], 'valid'], - [[4895, 4895], 'valid'], - [[4896, 4934], 'valid'], - [[4935, 4935], 'valid'], - [[4936, 4954], 'valid'], - [[4955, 4956], 'disallowed'], - [[4957, 4958], 'valid'], - [[4959, 4959], 'valid'], - [[4960, 4960], 'valid', [], 'NV8'], - [[4961, 4988], 'valid', [], 'NV8'], - [[4989, 4991], 'disallowed'], - [[4992, 5007], 'valid'], - [[5008, 5017], 'valid', [], 'NV8'], - [[5018, 5023], 'disallowed'], - [[5024, 5108], 'valid'], - [[5109, 5109], 'valid'], - [[5110, 5111], 'disallowed'], - [[5112, 5112], 'mapped', [5104]], - [[5113, 5113], 'mapped', [5105]], - [[5114, 5114], 'mapped', [5106]], - [[5115, 5115], 'mapped', [5107]], - [[5116, 5116], 'mapped', [5108]], - [[5117, 5117], 'mapped', [5109]], - [[5118, 5119], 'disallowed'], - [[5120, 5120], 'valid', [], 'NV8'], - [[5121, 5740], 'valid'], - [[5741, 5742], 'valid', [], 'NV8'], - [[5743, 5750], 'valid'], - [[5751, 5759], 'valid'], - [[5760, 5760], 'disallowed'], - [[5761, 5786], 'valid'], - [[5787, 5788], 'valid', [], 'NV8'], - [[5789, 5791], 'disallowed'], - [[5792, 5866], 'valid'], - [[5867, 5872], 'valid', [], 'NV8'], - [[5873, 5880], 'valid'], - [[5881, 5887], 'disallowed'], - [[5888, 5900], 'valid'], - [[5901, 5901], 'disallowed'], - [[5902, 5908], 'valid'], - [[5909, 5919], 'disallowed'], - [[5920, 5940], 'valid'], - [[5941, 5942], 'valid', [], 'NV8'], - [[5943, 5951], 'disallowed'], - [[5952, 5971], 'valid'], - [[5972, 5983], 'disallowed'], - [[5984, 5996], 'valid'], - [[5997, 5997], 'disallowed'], - [[5998, 6e3], 'valid'], - [[6001, 6001], 'disallowed'], - [[6002, 6003], 'valid'], - [[6004, 6015], 'disallowed'], - [[6016, 6067], 'valid'], - [[6068, 6069], 'disallowed'], - [[6070, 6099], 'valid'], - [[6100, 6102], 'valid', [], 'NV8'], - [[6103, 6103], 'valid'], - [[6104, 6107], 'valid', [], 'NV8'], - [[6108, 6108], 'valid'], - [[6109, 6109], 'valid'], - [[6110, 6111], 'disallowed'], - [[6112, 6121], 'valid'], - [[6122, 6127], 'disallowed'], - [[6128, 6137], 'valid', [], 'NV8'], - [[6138, 6143], 'disallowed'], - [[6144, 6149], 'valid', [], 'NV8'], - [[6150, 6150], 'disallowed'], - [[6151, 6154], 'valid', [], 'NV8'], - [[6155, 6157], 'ignored'], - [[6158, 6158], 'disallowed'], - [[6159, 6159], 'disallowed'], - [[6160, 6169], 'valid'], - [[6170, 6175], 'disallowed'], - [[6176, 6263], 'valid'], - [[6264, 6271], 'disallowed'], - [[6272, 6313], 'valid'], - [[6314, 6314], 'valid'], - [[6315, 6319], 'disallowed'], - [[6320, 6389], 'valid'], - [[6390, 6399], 'disallowed'], - [[6400, 6428], 'valid'], - [[6429, 6430], 'valid'], - [[6431, 6431], 'disallowed'], - [[6432, 6443], 'valid'], - [[6444, 6447], 'disallowed'], - [[6448, 6459], 'valid'], - [[6460, 6463], 'disallowed'], - [[6464, 6464], 'valid', [], 'NV8'], - [[6465, 6467], 'disallowed'], - [[6468, 6469], 'valid', [], 'NV8'], - [[6470, 6509], 'valid'], - [[6510, 6511], 'disallowed'], - [[6512, 6516], 'valid'], - [[6517, 6527], 'disallowed'], - [[6528, 6569], 'valid'], - [[6570, 6571], 'valid'], - [[6572, 6575], 'disallowed'], - [[6576, 6601], 'valid'], - [[6602, 6607], 'disallowed'], - [[6608, 6617], 'valid'], - [[6618, 6618], 'valid', [], 'XV8'], - [[6619, 6621], 'disallowed'], - [[6622, 6623], 'valid', [], 'NV8'], - [[6624, 6655], 'valid', [], 'NV8'], - [[6656, 6683], 'valid'], - [[6684, 6685], 'disallowed'], - [[6686, 6687], 'valid', [], 'NV8'], - [[6688, 6750], 'valid'], - [[6751, 6751], 'disallowed'], - [[6752, 6780], 'valid'], - [[6781, 6782], 'disallowed'], - [[6783, 6793], 'valid'], - [[6794, 6799], 'disallowed'], - [[6800, 6809], 'valid'], - [[6810, 6815], 'disallowed'], - [[6816, 6822], 'valid', [], 'NV8'], - [[6823, 6823], 'valid'], - [[6824, 6829], 'valid', [], 'NV8'], - [[6830, 6831], 'disallowed'], - [[6832, 6845], 'valid'], - [[6846, 6846], 'valid', [], 'NV8'], - [[6847, 6911], 'disallowed'], - [[6912, 6987], 'valid'], - [[6988, 6991], 'disallowed'], - [[6992, 7001], 'valid'], - [[7002, 7018], 'valid', [], 'NV8'], - [[7019, 7027], 'valid'], - [[7028, 7036], 'valid', [], 'NV8'], - [[7037, 7039], 'disallowed'], - [[7040, 7082], 'valid'], - [[7083, 7085], 'valid'], - [[7086, 7097], 'valid'], - [[7098, 7103], 'valid'], - [[7104, 7155], 'valid'], - [[7156, 7163], 'disallowed'], - [[7164, 7167], 'valid', [], 'NV8'], - [[7168, 7223], 'valid'], - [[7224, 7226], 'disallowed'], - [[7227, 7231], 'valid', [], 'NV8'], - [[7232, 7241], 'valid'], - [[7242, 7244], 'disallowed'], - [[7245, 7293], 'valid'], - [[7294, 7295], 'valid', [], 'NV8'], - [[7296, 7359], 'disallowed'], - [[7360, 7367], 'valid', [], 'NV8'], - [[7368, 7375], 'disallowed'], - [[7376, 7378], 'valid'], - [[7379, 7379], 'valid', [], 'NV8'], - [[7380, 7410], 'valid'], - [[7411, 7414], 'valid'], - [[7415, 7415], 'disallowed'], - [[7416, 7417], 'valid'], - [[7418, 7423], 'disallowed'], - [[7424, 7467], 'valid'], - [[7468, 7468], 'mapped', [97]], - [[7469, 7469], 'mapped', [230]], - [[7470, 7470], 'mapped', [98]], - [[7471, 7471], 'valid'], - [[7472, 7472], 'mapped', [100]], - [[7473, 7473], 'mapped', [101]], - [[7474, 7474], 'mapped', [477]], - [[7475, 7475], 'mapped', [103]], - [[7476, 7476], 'mapped', [104]], - [[7477, 7477], 'mapped', [105]], - [[7478, 7478], 'mapped', [106]], - [[7479, 7479], 'mapped', [107]], - [[7480, 7480], 'mapped', [108]], - [[7481, 7481], 'mapped', [109]], - [[7482, 7482], 'mapped', [110]], - [[7483, 7483], 'valid'], - [[7484, 7484], 'mapped', [111]], - [[7485, 7485], 'mapped', [547]], - [[7486, 7486], 'mapped', [112]], - [[7487, 7487], 'mapped', [114]], - [[7488, 7488], 'mapped', [116]], - [[7489, 7489], 'mapped', [117]], - [[7490, 7490], 'mapped', [119]], - [[7491, 7491], 'mapped', [97]], - [[7492, 7492], 'mapped', [592]], - [[7493, 7493], 'mapped', [593]], - [[7494, 7494], 'mapped', [7426]], - [[7495, 7495], 'mapped', [98]], - [[7496, 7496], 'mapped', [100]], - [[7497, 7497], 'mapped', [101]], - [[7498, 7498], 'mapped', [601]], - [[7499, 7499], 'mapped', [603]], - [[7500, 7500], 'mapped', [604]], - [[7501, 7501], 'mapped', [103]], - [[7502, 7502], 'valid'], - [[7503, 7503], 'mapped', [107]], - [[7504, 7504], 'mapped', [109]], - [[7505, 7505], 'mapped', [331]], - [[7506, 7506], 'mapped', [111]], - [[7507, 7507], 'mapped', [596]], - [[7508, 7508], 'mapped', [7446]], - [[7509, 7509], 'mapped', [7447]], - [[7510, 7510], 'mapped', [112]], - [[7511, 7511], 'mapped', [116]], - [[7512, 7512], 'mapped', [117]], - [[7513, 7513], 'mapped', [7453]], - [[7514, 7514], 'mapped', [623]], - [[7515, 7515], 'mapped', [118]], - [[7516, 7516], 'mapped', [7461]], - [[7517, 7517], 'mapped', [946]], - [[7518, 7518], 'mapped', [947]], - [[7519, 7519], 'mapped', [948]], - [[7520, 7520], 'mapped', [966]], - [[7521, 7521], 'mapped', [967]], - [[7522, 7522], 'mapped', [105]], - [[7523, 7523], 'mapped', [114]], - [[7524, 7524], 'mapped', [117]], - [[7525, 7525], 'mapped', [118]], - [[7526, 7526], 'mapped', [946]], - [[7527, 7527], 'mapped', [947]], - [[7528, 7528], 'mapped', [961]], - [[7529, 7529], 'mapped', [966]], - [[7530, 7530], 'mapped', [967]], - [[7531, 7531], 'valid'], - [[7532, 7543], 'valid'], - [[7544, 7544], 'mapped', [1085]], - [[7545, 7578], 'valid'], - [[7579, 7579], 'mapped', [594]], - [[7580, 7580], 'mapped', [99]], - [[7581, 7581], 'mapped', [597]], - [[7582, 7582], 'mapped', [240]], - [[7583, 7583], 'mapped', [604]], - [[7584, 7584], 'mapped', [102]], - [[7585, 7585], 'mapped', [607]], - [[7586, 7586], 'mapped', [609]], - [[7587, 7587], 'mapped', [613]], - [[7588, 7588], 'mapped', [616]], - [[7589, 7589], 'mapped', [617]], - [[7590, 7590], 'mapped', [618]], - [[7591, 7591], 'mapped', [7547]], - [[7592, 7592], 'mapped', [669]], - [[7593, 7593], 'mapped', [621]], - [[7594, 7594], 'mapped', [7557]], - [[7595, 7595], 'mapped', [671]], - [[7596, 7596], 'mapped', [625]], - [[7597, 7597], 'mapped', [624]], - [[7598, 7598], 'mapped', [626]], - [[7599, 7599], 'mapped', [627]], - [[7600, 7600], 'mapped', [628]], - [[7601, 7601], 'mapped', [629]], - [[7602, 7602], 'mapped', [632]], - [[7603, 7603], 'mapped', [642]], - [[7604, 7604], 'mapped', [643]], - [[7605, 7605], 'mapped', [427]], - [[7606, 7606], 'mapped', [649]], - [[7607, 7607], 'mapped', [650]], - [[7608, 7608], 'mapped', [7452]], - [[7609, 7609], 'mapped', [651]], - [[7610, 7610], 'mapped', [652]], - [[7611, 7611], 'mapped', [122]], - [[7612, 7612], 'mapped', [656]], - [[7613, 7613], 'mapped', [657]], - [[7614, 7614], 'mapped', [658]], - [[7615, 7615], 'mapped', [952]], - [[7616, 7619], 'valid'], - [[7620, 7626], 'valid'], - [[7627, 7654], 'valid'], - [[7655, 7669], 'valid'], - [[7670, 7675], 'disallowed'], - [[7676, 7676], 'valid'], - [[7677, 7677], 'valid'], - [[7678, 7679], 'valid'], - [[7680, 7680], 'mapped', [7681]], - [[7681, 7681], 'valid'], - [[7682, 7682], 'mapped', [7683]], - [[7683, 7683], 'valid'], - [[7684, 7684], 'mapped', [7685]], - [[7685, 7685], 'valid'], - [[7686, 7686], 'mapped', [7687]], - [[7687, 7687], 'valid'], - [[7688, 7688], 'mapped', [7689]], - [[7689, 7689], 'valid'], - [[7690, 7690], 'mapped', [7691]], - [[7691, 7691], 'valid'], - [[7692, 7692], 'mapped', [7693]], - [[7693, 7693], 'valid'], - [[7694, 7694], 'mapped', [7695]], - [[7695, 7695], 'valid'], - [[7696, 7696], 'mapped', [7697]], - [[7697, 7697], 'valid'], - [[7698, 7698], 'mapped', [7699]], - [[7699, 7699], 'valid'], - [[7700, 7700], 'mapped', [7701]], - [[7701, 7701], 'valid'], - [[7702, 7702], 'mapped', [7703]], - [[7703, 7703], 'valid'], - [[7704, 7704], 'mapped', [7705]], - [[7705, 7705], 'valid'], - [[7706, 7706], 'mapped', [7707]], - [[7707, 7707], 'valid'], - [[7708, 7708], 'mapped', [7709]], - [[7709, 7709], 'valid'], - [[7710, 7710], 'mapped', [7711]], - [[7711, 7711], 'valid'], - [[7712, 7712], 'mapped', [7713]], - [[7713, 7713], 'valid'], - [[7714, 7714], 'mapped', [7715]], - [[7715, 7715], 'valid'], - [[7716, 7716], 'mapped', [7717]], - [[7717, 7717], 'valid'], - [[7718, 7718], 'mapped', [7719]], - [[7719, 7719], 'valid'], - [[7720, 7720], 'mapped', [7721]], - [[7721, 7721], 'valid'], - [[7722, 7722], 'mapped', [7723]], - [[7723, 7723], 'valid'], - [[7724, 7724], 'mapped', [7725]], - [[7725, 7725], 'valid'], - [[7726, 7726], 'mapped', [7727]], - [[7727, 7727], 'valid'], - [[7728, 7728], 'mapped', [7729]], - [[7729, 7729], 'valid'], - [[7730, 7730], 'mapped', [7731]], - [[7731, 7731], 'valid'], - [[7732, 7732], 'mapped', [7733]], - [[7733, 7733], 'valid'], - [[7734, 7734], 'mapped', [7735]], - [[7735, 7735], 'valid'], - [[7736, 7736], 'mapped', [7737]], - [[7737, 7737], 'valid'], - [[7738, 7738], 'mapped', [7739]], - [[7739, 7739], 'valid'], - [[7740, 7740], 'mapped', [7741]], - [[7741, 7741], 'valid'], - [[7742, 7742], 'mapped', [7743]], - [[7743, 7743], 'valid'], - [[7744, 7744], 'mapped', [7745]], - [[7745, 7745], 'valid'], - [[7746, 7746], 'mapped', [7747]], - [[7747, 7747], 'valid'], - [[7748, 7748], 'mapped', [7749]], - [[7749, 7749], 'valid'], - [[7750, 7750], 'mapped', [7751]], - [[7751, 7751], 'valid'], - [[7752, 7752], 'mapped', [7753]], - [[7753, 7753], 'valid'], - [[7754, 7754], 'mapped', [7755]], - [[7755, 7755], 'valid'], - [[7756, 7756], 'mapped', [7757]], - [[7757, 7757], 'valid'], - [[7758, 7758], 'mapped', [7759]], - [[7759, 7759], 'valid'], - [[7760, 7760], 'mapped', [7761]], - [[7761, 7761], 'valid'], - [[7762, 7762], 'mapped', [7763]], - [[7763, 7763], 'valid'], - [[7764, 7764], 'mapped', [7765]], - [[7765, 7765], 'valid'], - [[7766, 7766], 'mapped', [7767]], - [[7767, 7767], 'valid'], - [[7768, 7768], 'mapped', [7769]], - [[7769, 7769], 'valid'], - [[7770, 7770], 'mapped', [7771]], - [[7771, 7771], 'valid'], - [[7772, 7772], 'mapped', [7773]], - [[7773, 7773], 'valid'], - [[7774, 7774], 'mapped', [7775]], - [[7775, 7775], 'valid'], - [[7776, 7776], 'mapped', [7777]], - [[7777, 7777], 'valid'], - [[7778, 7778], 'mapped', [7779]], - [[7779, 7779], 'valid'], - [[7780, 7780], 'mapped', [7781]], - [[7781, 7781], 'valid'], - [[7782, 7782], 'mapped', [7783]], - [[7783, 7783], 'valid'], - [[7784, 7784], 'mapped', [7785]], - [[7785, 7785], 'valid'], - [[7786, 7786], 'mapped', [7787]], - [[7787, 7787], 'valid'], - [[7788, 7788], 'mapped', [7789]], - [[7789, 7789], 'valid'], - [[7790, 7790], 'mapped', [7791]], - [[7791, 7791], 'valid'], - [[7792, 7792], 'mapped', [7793]], - [[7793, 7793], 'valid'], - [[7794, 7794], 'mapped', [7795]], - [[7795, 7795], 'valid'], - [[7796, 7796], 'mapped', [7797]], - [[7797, 7797], 'valid'], - [[7798, 7798], 'mapped', [7799]], - [[7799, 7799], 'valid'], - [[7800, 7800], 'mapped', [7801]], - [[7801, 7801], 'valid'], - [[7802, 7802], 'mapped', [7803]], - [[7803, 7803], 'valid'], - [[7804, 7804], 'mapped', [7805]], - [[7805, 7805], 'valid'], - [[7806, 7806], 'mapped', [7807]], - [[7807, 7807], 'valid'], - [[7808, 7808], 'mapped', [7809]], - [[7809, 7809], 'valid'], - [[7810, 7810], 'mapped', [7811]], - [[7811, 7811], 'valid'], - [[7812, 7812], 'mapped', [7813]], - [[7813, 7813], 'valid'], - [[7814, 7814], 'mapped', [7815]], - [[7815, 7815], 'valid'], - [[7816, 7816], 'mapped', [7817]], - [[7817, 7817], 'valid'], - [[7818, 7818], 'mapped', [7819]], - [[7819, 7819], 'valid'], - [[7820, 7820], 'mapped', [7821]], - [[7821, 7821], 'valid'], - [[7822, 7822], 'mapped', [7823]], - [[7823, 7823], 'valid'], - [[7824, 7824], 'mapped', [7825]], - [[7825, 7825], 'valid'], - [[7826, 7826], 'mapped', [7827]], - [[7827, 7827], 'valid'], - [[7828, 7828], 'mapped', [7829]], - [[7829, 7833], 'valid'], - [[7834, 7834], 'mapped', [97, 702]], - [[7835, 7835], 'mapped', [7777]], - [[7836, 7837], 'valid'], - [[7838, 7838], 'mapped', [115, 115]], - [[7839, 7839], 'valid'], - [[7840, 7840], 'mapped', [7841]], - [[7841, 7841], 'valid'], - [[7842, 7842], 'mapped', [7843]], - [[7843, 7843], 'valid'], - [[7844, 7844], 'mapped', [7845]], - [[7845, 7845], 'valid'], - [[7846, 7846], 'mapped', [7847]], - [[7847, 7847], 'valid'], - [[7848, 7848], 'mapped', [7849]], - [[7849, 7849], 'valid'], - [[7850, 7850], 'mapped', [7851]], - [[7851, 7851], 'valid'], - [[7852, 7852], 'mapped', [7853]], - [[7853, 7853], 'valid'], - [[7854, 7854], 'mapped', [7855]], - [[7855, 7855], 'valid'], - [[7856, 7856], 'mapped', [7857]], - [[7857, 7857], 'valid'], - [[7858, 7858], 'mapped', [7859]], - [[7859, 7859], 'valid'], - [[7860, 7860], 'mapped', [7861]], - [[7861, 7861], 'valid'], - [[7862, 7862], 'mapped', [7863]], - [[7863, 7863], 'valid'], - [[7864, 7864], 'mapped', [7865]], - [[7865, 7865], 'valid'], - [[7866, 7866], 'mapped', [7867]], - [[7867, 7867], 'valid'], - [[7868, 7868], 'mapped', [7869]], - [[7869, 7869], 'valid'], - [[7870, 7870], 'mapped', [7871]], - [[7871, 7871], 'valid'], - [[7872, 7872], 'mapped', [7873]], - [[7873, 7873], 'valid'], - [[7874, 7874], 'mapped', [7875]], - [[7875, 7875], 'valid'], - [[7876, 7876], 'mapped', [7877]], - [[7877, 7877], 'valid'], - [[7878, 7878], 'mapped', [7879]], - [[7879, 7879], 'valid'], - [[7880, 7880], 'mapped', [7881]], - [[7881, 7881], 'valid'], - [[7882, 7882], 'mapped', [7883]], - [[7883, 7883], 'valid'], - [[7884, 7884], 'mapped', [7885]], - [[7885, 7885], 'valid'], - [[7886, 7886], 'mapped', [7887]], - [[7887, 7887], 'valid'], - [[7888, 7888], 'mapped', [7889]], - [[7889, 7889], 'valid'], - [[7890, 7890], 'mapped', [7891]], - [[7891, 7891], 'valid'], - [[7892, 7892], 'mapped', [7893]], - [[7893, 7893], 'valid'], - [[7894, 7894], 'mapped', [7895]], - [[7895, 7895], 'valid'], - [[7896, 7896], 'mapped', [7897]], - [[7897, 7897], 'valid'], - [[7898, 7898], 'mapped', [7899]], - [[7899, 7899], 'valid'], - [[7900, 7900], 'mapped', [7901]], - [[7901, 7901], 'valid'], - [[7902, 7902], 'mapped', [7903]], - [[7903, 7903], 'valid'], - [[7904, 7904], 'mapped', [7905]], - [[7905, 7905], 'valid'], - [[7906, 7906], 'mapped', [7907]], - [[7907, 7907], 'valid'], - [[7908, 7908], 'mapped', [7909]], - [[7909, 7909], 'valid'], - [[7910, 7910], 'mapped', [7911]], - [[7911, 7911], 'valid'], - [[7912, 7912], 'mapped', [7913]], - [[7913, 7913], 'valid'], - [[7914, 7914], 'mapped', [7915]], - [[7915, 7915], 'valid'], - [[7916, 7916], 'mapped', [7917]], - [[7917, 7917], 'valid'], - [[7918, 7918], 'mapped', [7919]], - [[7919, 7919], 'valid'], - [[7920, 7920], 'mapped', [7921]], - [[7921, 7921], 'valid'], - [[7922, 7922], 'mapped', [7923]], - [[7923, 7923], 'valid'], - [[7924, 7924], 'mapped', [7925]], - [[7925, 7925], 'valid'], - [[7926, 7926], 'mapped', [7927]], - [[7927, 7927], 'valid'], - [[7928, 7928], 'mapped', [7929]], - [[7929, 7929], 'valid'], - [[7930, 7930], 'mapped', [7931]], - [[7931, 7931], 'valid'], - [[7932, 7932], 'mapped', [7933]], - [[7933, 7933], 'valid'], - [[7934, 7934], 'mapped', [7935]], - [[7935, 7935], 'valid'], - [[7936, 7943], 'valid'], - [[7944, 7944], 'mapped', [7936]], - [[7945, 7945], 'mapped', [7937]], - [[7946, 7946], 'mapped', [7938]], - [[7947, 7947], 'mapped', [7939]], - [[7948, 7948], 'mapped', [7940]], - [[7949, 7949], 'mapped', [7941]], - [[7950, 7950], 'mapped', [7942]], - [[7951, 7951], 'mapped', [7943]], - [[7952, 7957], 'valid'], - [[7958, 7959], 'disallowed'], - [[7960, 7960], 'mapped', [7952]], - [[7961, 7961], 'mapped', [7953]], - [[7962, 7962], 'mapped', [7954]], - [[7963, 7963], 'mapped', [7955]], - [[7964, 7964], 'mapped', [7956]], - [[7965, 7965], 'mapped', [7957]], - [[7966, 7967], 'disallowed'], - [[7968, 7975], 'valid'], - [[7976, 7976], 'mapped', [7968]], - [[7977, 7977], 'mapped', [7969]], - [[7978, 7978], 'mapped', [7970]], - [[7979, 7979], 'mapped', [7971]], - [[7980, 7980], 'mapped', [7972]], - [[7981, 7981], 'mapped', [7973]], - [[7982, 7982], 'mapped', [7974]], - [[7983, 7983], 'mapped', [7975]], - [[7984, 7991], 'valid'], - [[7992, 7992], 'mapped', [7984]], - [[7993, 7993], 'mapped', [7985]], - [[7994, 7994], 'mapped', [7986]], - [[7995, 7995], 'mapped', [7987]], - [[7996, 7996], 'mapped', [7988]], - [[7997, 7997], 'mapped', [7989]], - [[7998, 7998], 'mapped', [7990]], - [[7999, 7999], 'mapped', [7991]], - [[8e3, 8005], 'valid'], - [[8006, 8007], 'disallowed'], - [[8008, 8008], 'mapped', [8e3]], - [[8009, 8009], 'mapped', [8001]], - [[8010, 8010], 'mapped', [8002]], - [[8011, 8011], 'mapped', [8003]], - [[8012, 8012], 'mapped', [8004]], - [[8013, 8013], 'mapped', [8005]], - [[8014, 8015], 'disallowed'], - [[8016, 8023], 'valid'], - [[8024, 8024], 'disallowed'], - [[8025, 8025], 'mapped', [8017]], - [[8026, 8026], 'disallowed'], - [[8027, 8027], 'mapped', [8019]], - [[8028, 8028], 'disallowed'], - [[8029, 8029], 'mapped', [8021]], - [[8030, 8030], 'disallowed'], - [[8031, 8031], 'mapped', [8023]], - [[8032, 8039], 'valid'], - [[8040, 8040], 'mapped', [8032]], - [[8041, 8041], 'mapped', [8033]], - [[8042, 8042], 'mapped', [8034]], - [[8043, 8043], 'mapped', [8035]], - [[8044, 8044], 'mapped', [8036]], - [[8045, 8045], 'mapped', [8037]], - [[8046, 8046], 'mapped', [8038]], - [[8047, 8047], 'mapped', [8039]], - [[8048, 8048], 'valid'], - [[8049, 8049], 'mapped', [940]], - [[8050, 8050], 'valid'], - [[8051, 8051], 'mapped', [941]], - [[8052, 8052], 'valid'], - [[8053, 8053], 'mapped', [942]], - [[8054, 8054], 'valid'], - [[8055, 8055], 'mapped', [943]], - [[8056, 8056], 'valid'], - [[8057, 8057], 'mapped', [972]], - [[8058, 8058], 'valid'], - [[8059, 8059], 'mapped', [973]], - [[8060, 8060], 'valid'], - [[8061, 8061], 'mapped', [974]], - [[8062, 8063], 'disallowed'], - [[8064, 8064], 'mapped', [7936, 953]], - [[8065, 8065], 'mapped', [7937, 953]], - [[8066, 8066], 'mapped', [7938, 953]], - [[8067, 8067], 'mapped', [7939, 953]], - [[8068, 8068], 'mapped', [7940, 953]], - [[8069, 8069], 'mapped', [7941, 953]], - [[8070, 8070], 'mapped', [7942, 953]], - [[8071, 8071], 'mapped', [7943, 953]], - [[8072, 8072], 'mapped', [7936, 953]], - [[8073, 8073], 'mapped', [7937, 953]], - [[8074, 8074], 'mapped', [7938, 953]], - [[8075, 8075], 'mapped', [7939, 953]], - [[8076, 8076], 'mapped', [7940, 953]], - [[8077, 8077], 'mapped', [7941, 953]], - [[8078, 8078], 'mapped', [7942, 953]], - [[8079, 8079], 'mapped', [7943, 953]], - [[8080, 8080], 'mapped', [7968, 953]], - [[8081, 8081], 'mapped', [7969, 953]], - [[8082, 8082], 'mapped', [7970, 953]], - [[8083, 8083], 'mapped', [7971, 953]], - [[8084, 8084], 'mapped', [7972, 953]], - [[8085, 8085], 'mapped', [7973, 953]], - [[8086, 8086], 'mapped', [7974, 953]], - [[8087, 8087], 'mapped', [7975, 953]], - [[8088, 8088], 'mapped', [7968, 953]], - [[8089, 8089], 'mapped', [7969, 953]], - [[8090, 8090], 'mapped', [7970, 953]], - [[8091, 8091], 'mapped', [7971, 953]], - [[8092, 8092], 'mapped', [7972, 953]], - [[8093, 8093], 'mapped', [7973, 953]], - [[8094, 8094], 'mapped', [7974, 953]], - [[8095, 8095], 'mapped', [7975, 953]], - [[8096, 8096], 'mapped', [8032, 953]], - [[8097, 8097], 'mapped', [8033, 953]], - [[8098, 8098], 'mapped', [8034, 953]], - [[8099, 8099], 'mapped', [8035, 953]], - [[8100, 8100], 'mapped', [8036, 953]], - [[8101, 8101], 'mapped', [8037, 953]], - [[8102, 8102], 'mapped', [8038, 953]], - [[8103, 8103], 'mapped', [8039, 953]], - [[8104, 8104], 'mapped', [8032, 953]], - [[8105, 8105], 'mapped', [8033, 953]], - [[8106, 8106], 'mapped', [8034, 953]], - [[8107, 8107], 'mapped', [8035, 953]], - [[8108, 8108], 'mapped', [8036, 953]], - [[8109, 8109], 'mapped', [8037, 953]], - [[8110, 8110], 'mapped', [8038, 953]], - [[8111, 8111], 'mapped', [8039, 953]], - [[8112, 8113], 'valid'], - [[8114, 8114], 'mapped', [8048, 953]], - [[8115, 8115], 'mapped', [945, 953]], - [[8116, 8116], 'mapped', [940, 953]], - [[8117, 8117], 'disallowed'], - [[8118, 8118], 'valid'], - [[8119, 8119], 'mapped', [8118, 953]], - [[8120, 8120], 'mapped', [8112]], - [[8121, 8121], 'mapped', [8113]], - [[8122, 8122], 'mapped', [8048]], - [[8123, 8123], 'mapped', [940]], - [[8124, 8124], 'mapped', [945, 953]], - [[8125, 8125], 'disallowed_STD3_mapped', [32, 787]], - [[8126, 8126], 'mapped', [953]], - [[8127, 8127], 'disallowed_STD3_mapped', [32, 787]], - [[8128, 8128], 'disallowed_STD3_mapped', [32, 834]], - [[8129, 8129], 'disallowed_STD3_mapped', [32, 776, 834]], - [[8130, 8130], 'mapped', [8052, 953]], - [[8131, 8131], 'mapped', [951, 953]], - [[8132, 8132], 'mapped', [942, 953]], - [[8133, 8133], 'disallowed'], - [[8134, 8134], 'valid'], - [[8135, 8135], 'mapped', [8134, 953]], - [[8136, 8136], 'mapped', [8050]], - [[8137, 8137], 'mapped', [941]], - [[8138, 8138], 'mapped', [8052]], - [[8139, 8139], 'mapped', [942]], - [[8140, 8140], 'mapped', [951, 953]], - [[8141, 8141], 'disallowed_STD3_mapped', [32, 787, 768]], - [[8142, 8142], 'disallowed_STD3_mapped', [32, 787, 769]], - [[8143, 8143], 'disallowed_STD3_mapped', [32, 787, 834]], - [[8144, 8146], 'valid'], - [[8147, 8147], 'mapped', [912]], - [[8148, 8149], 'disallowed'], - [[8150, 8151], 'valid'], - [[8152, 8152], 'mapped', [8144]], - [[8153, 8153], 'mapped', [8145]], - [[8154, 8154], 'mapped', [8054]], - [[8155, 8155], 'mapped', [943]], - [[8156, 8156], 'disallowed'], - [[8157, 8157], 'disallowed_STD3_mapped', [32, 788, 768]], - [[8158, 8158], 'disallowed_STD3_mapped', [32, 788, 769]], - [[8159, 8159], 'disallowed_STD3_mapped', [32, 788, 834]], - [[8160, 8162], 'valid'], - [[8163, 8163], 'mapped', [944]], - [[8164, 8167], 'valid'], - [[8168, 8168], 'mapped', [8160]], - [[8169, 8169], 'mapped', [8161]], - [[8170, 8170], 'mapped', [8058]], - [[8171, 8171], 'mapped', [973]], - [[8172, 8172], 'mapped', [8165]], - [[8173, 8173], 'disallowed_STD3_mapped', [32, 776, 768]], - [[8174, 8174], 'disallowed_STD3_mapped', [32, 776, 769]], - [[8175, 8175], 'disallowed_STD3_mapped', [96]], - [[8176, 8177], 'disallowed'], - [[8178, 8178], 'mapped', [8060, 953]], - [[8179, 8179], 'mapped', [969, 953]], - [[8180, 8180], 'mapped', [974, 953]], - [[8181, 8181], 'disallowed'], - [[8182, 8182], 'valid'], - [[8183, 8183], 'mapped', [8182, 953]], - [[8184, 8184], 'mapped', [8056]], - [[8185, 8185], 'mapped', [972]], - [[8186, 8186], 'mapped', [8060]], - [[8187, 8187], 'mapped', [974]], - [[8188, 8188], 'mapped', [969, 953]], - [[8189, 8189], 'disallowed_STD3_mapped', [32, 769]], - [[8190, 8190], 'disallowed_STD3_mapped', [32, 788]], - [[8191, 8191], 'disallowed'], - [[8192, 8202], 'disallowed_STD3_mapped', [32]], - [[8203, 8203], 'ignored'], - [[8204, 8205], 'deviation', []], - [[8206, 8207], 'disallowed'], - [[8208, 8208], 'valid', [], 'NV8'], - [[8209, 8209], 'mapped', [8208]], - [[8210, 8214], 'valid', [], 'NV8'], - [[8215, 8215], 'disallowed_STD3_mapped', [32, 819]], - [[8216, 8227], 'valid', [], 'NV8'], - [[8228, 8230], 'disallowed'], - [[8231, 8231], 'valid', [], 'NV8'], - [[8232, 8238], 'disallowed'], - [[8239, 8239], 'disallowed_STD3_mapped', [32]], - [[8240, 8242], 'valid', [], 'NV8'], - [[8243, 8243], 'mapped', [8242, 8242]], - [[8244, 8244], 'mapped', [8242, 8242, 8242]], - [[8245, 8245], 'valid', [], 'NV8'], - [[8246, 8246], 'mapped', [8245, 8245]], - [[8247, 8247], 'mapped', [8245, 8245, 8245]], - [[8248, 8251], 'valid', [], 'NV8'], - [[8252, 8252], 'disallowed_STD3_mapped', [33, 33]], - [[8253, 8253], 'valid', [], 'NV8'], - [[8254, 8254], 'disallowed_STD3_mapped', [32, 773]], - [[8255, 8262], 'valid', [], 'NV8'], - [[8263, 8263], 'disallowed_STD3_mapped', [63, 63]], - [[8264, 8264], 'disallowed_STD3_mapped', [63, 33]], - [[8265, 8265], 'disallowed_STD3_mapped', [33, 63]], - [[8266, 8269], 'valid', [], 'NV8'], - [[8270, 8274], 'valid', [], 'NV8'], - [[8275, 8276], 'valid', [], 'NV8'], - [[8277, 8278], 'valid', [], 'NV8'], - [[8279, 8279], 'mapped', [8242, 8242, 8242, 8242]], - [[8280, 8286], 'valid', [], 'NV8'], - [[8287, 8287], 'disallowed_STD3_mapped', [32]], - [[8288, 8288], 'ignored'], - [[8289, 8291], 'disallowed'], - [[8292, 8292], 'ignored'], - [[8293, 8293], 'disallowed'], - [[8294, 8297], 'disallowed'], - [[8298, 8303], 'disallowed'], - [[8304, 8304], 'mapped', [48]], - [[8305, 8305], 'mapped', [105]], - [[8306, 8307], 'disallowed'], - [[8308, 8308], 'mapped', [52]], - [[8309, 8309], 'mapped', [53]], - [[8310, 8310], 'mapped', [54]], - [[8311, 8311], 'mapped', [55]], - [[8312, 8312], 'mapped', [56]], - [[8313, 8313], 'mapped', [57]], - [[8314, 8314], 'disallowed_STD3_mapped', [43]], - [[8315, 8315], 'mapped', [8722]], - [[8316, 8316], 'disallowed_STD3_mapped', [61]], - [[8317, 8317], 'disallowed_STD3_mapped', [40]], - [[8318, 8318], 'disallowed_STD3_mapped', [41]], - [[8319, 8319], 'mapped', [110]], - [[8320, 8320], 'mapped', [48]], - [[8321, 8321], 'mapped', [49]], - [[8322, 8322], 'mapped', [50]], - [[8323, 8323], 'mapped', [51]], - [[8324, 8324], 'mapped', [52]], - [[8325, 8325], 'mapped', [53]], - [[8326, 8326], 'mapped', [54]], - [[8327, 8327], 'mapped', [55]], - [[8328, 8328], 'mapped', [56]], - [[8329, 8329], 'mapped', [57]], - [[8330, 8330], 'disallowed_STD3_mapped', [43]], - [[8331, 8331], 'mapped', [8722]], - [[8332, 8332], 'disallowed_STD3_mapped', [61]], - [[8333, 8333], 'disallowed_STD3_mapped', [40]], - [[8334, 8334], 'disallowed_STD3_mapped', [41]], - [[8335, 8335], 'disallowed'], - [[8336, 8336], 'mapped', [97]], - [[8337, 8337], 'mapped', [101]], - [[8338, 8338], 'mapped', [111]], - [[8339, 8339], 'mapped', [120]], - [[8340, 8340], 'mapped', [601]], - [[8341, 8341], 'mapped', [104]], - [[8342, 8342], 'mapped', [107]], - [[8343, 8343], 'mapped', [108]], - [[8344, 8344], 'mapped', [109]], - [[8345, 8345], 'mapped', [110]], - [[8346, 8346], 'mapped', [112]], - [[8347, 8347], 'mapped', [115]], - [[8348, 8348], 'mapped', [116]], - [[8349, 8351], 'disallowed'], - [[8352, 8359], 'valid', [], 'NV8'], - [[8360, 8360], 'mapped', [114, 115]], - [[8361, 8362], 'valid', [], 'NV8'], - [[8363, 8363], 'valid', [], 'NV8'], - [[8364, 8364], 'valid', [], 'NV8'], - [[8365, 8367], 'valid', [], 'NV8'], - [[8368, 8369], 'valid', [], 'NV8'], - [[8370, 8373], 'valid', [], 'NV8'], - [[8374, 8376], 'valid', [], 'NV8'], - [[8377, 8377], 'valid', [], 'NV8'], - [[8378, 8378], 'valid', [], 'NV8'], - [[8379, 8381], 'valid', [], 'NV8'], - [[8382, 8382], 'valid', [], 'NV8'], - [[8383, 8399], 'disallowed'], - [[8400, 8417], 'valid', [], 'NV8'], - [[8418, 8419], 'valid', [], 'NV8'], - [[8420, 8426], 'valid', [], 'NV8'], - [[8427, 8427], 'valid', [], 'NV8'], - [[8428, 8431], 'valid', [], 'NV8'], - [[8432, 8432], 'valid', [], 'NV8'], - [[8433, 8447], 'disallowed'], - [[8448, 8448], 'disallowed_STD3_mapped', [97, 47, 99]], - [[8449, 8449], 'disallowed_STD3_mapped', [97, 47, 115]], - [[8450, 8450], 'mapped', [99]], - [[8451, 8451], 'mapped', [176, 99]], - [[8452, 8452], 'valid', [], 'NV8'], - [[8453, 8453], 'disallowed_STD3_mapped', [99, 47, 111]], - [[8454, 8454], 'disallowed_STD3_mapped', [99, 47, 117]], - [[8455, 8455], 'mapped', [603]], - [[8456, 8456], 'valid', [], 'NV8'], - [[8457, 8457], 'mapped', [176, 102]], - [[8458, 8458], 'mapped', [103]], - [[8459, 8462], 'mapped', [104]], - [[8463, 8463], 'mapped', [295]], - [[8464, 8465], 'mapped', [105]], - [[8466, 8467], 'mapped', [108]], - [[8468, 8468], 'valid', [], 'NV8'], - [[8469, 8469], 'mapped', [110]], - [[8470, 8470], 'mapped', [110, 111]], - [[8471, 8472], 'valid', [], 'NV8'], - [[8473, 8473], 'mapped', [112]], - [[8474, 8474], 'mapped', [113]], - [[8475, 8477], 'mapped', [114]], - [[8478, 8479], 'valid', [], 'NV8'], - [[8480, 8480], 'mapped', [115, 109]], - [[8481, 8481], 'mapped', [116, 101, 108]], - [[8482, 8482], 'mapped', [116, 109]], - [[8483, 8483], 'valid', [], 'NV8'], - [[8484, 8484], 'mapped', [122]], - [[8485, 8485], 'valid', [], 'NV8'], - [[8486, 8486], 'mapped', [969]], - [[8487, 8487], 'valid', [], 'NV8'], - [[8488, 8488], 'mapped', [122]], - [[8489, 8489], 'valid', [], 'NV8'], - [[8490, 8490], 'mapped', [107]], - [[8491, 8491], 'mapped', [229]], - [[8492, 8492], 'mapped', [98]], - [[8493, 8493], 'mapped', [99]], - [[8494, 8494], 'valid', [], 'NV8'], - [[8495, 8496], 'mapped', [101]], - [[8497, 8497], 'mapped', [102]], - [[8498, 8498], 'disallowed'], - [[8499, 8499], 'mapped', [109]], - [[8500, 8500], 'mapped', [111]], - [[8501, 8501], 'mapped', [1488]], - [[8502, 8502], 'mapped', [1489]], - [[8503, 8503], 'mapped', [1490]], - [[8504, 8504], 'mapped', [1491]], - [[8505, 8505], 'mapped', [105]], - [[8506, 8506], 'valid', [], 'NV8'], - [[8507, 8507], 'mapped', [102, 97, 120]], - [[8508, 8508], 'mapped', [960]], - [[8509, 8510], 'mapped', [947]], - [[8511, 8511], 'mapped', [960]], - [[8512, 8512], 'mapped', [8721]], - [[8513, 8516], 'valid', [], 'NV8'], - [[8517, 8518], 'mapped', [100]], - [[8519, 8519], 'mapped', [101]], - [[8520, 8520], 'mapped', [105]], - [[8521, 8521], 'mapped', [106]], - [[8522, 8523], 'valid', [], 'NV8'], - [[8524, 8524], 'valid', [], 'NV8'], - [[8525, 8525], 'valid', [], 'NV8'], - [[8526, 8526], 'valid'], - [[8527, 8527], 'valid', [], 'NV8'], - [[8528, 8528], 'mapped', [49, 8260, 55]], - [[8529, 8529], 'mapped', [49, 8260, 57]], - [[8530, 8530], 'mapped', [49, 8260, 49, 48]], - [[8531, 8531], 'mapped', [49, 8260, 51]], - [[8532, 8532], 'mapped', [50, 8260, 51]], - [[8533, 8533], 'mapped', [49, 8260, 53]], - [[8534, 8534], 'mapped', [50, 8260, 53]], - [[8535, 8535], 'mapped', [51, 8260, 53]], - [[8536, 8536], 'mapped', [52, 8260, 53]], - [[8537, 8537], 'mapped', [49, 8260, 54]], - [[8538, 8538], 'mapped', [53, 8260, 54]], - [[8539, 8539], 'mapped', [49, 8260, 56]], - [[8540, 8540], 'mapped', [51, 8260, 56]], - [[8541, 8541], 'mapped', [53, 8260, 56]], - [[8542, 8542], 'mapped', [55, 8260, 56]], - [[8543, 8543], 'mapped', [49, 8260]], - [[8544, 8544], 'mapped', [105]], - [[8545, 8545], 'mapped', [105, 105]], - [[8546, 8546], 'mapped', [105, 105, 105]], - [[8547, 8547], 'mapped', [105, 118]], - [[8548, 8548], 'mapped', [118]], - [[8549, 8549], 'mapped', [118, 105]], - [[8550, 8550], 'mapped', [118, 105, 105]], - [[8551, 8551], 'mapped', [118, 105, 105, 105]], - [[8552, 8552], 'mapped', [105, 120]], - [[8553, 8553], 'mapped', [120]], - [[8554, 8554], 'mapped', [120, 105]], - [[8555, 8555], 'mapped', [120, 105, 105]], - [[8556, 8556], 'mapped', [108]], - [[8557, 8557], 'mapped', [99]], - [[8558, 8558], 'mapped', [100]], - [[8559, 8559], 'mapped', [109]], - [[8560, 8560], 'mapped', [105]], - [[8561, 8561], 'mapped', [105, 105]], - [[8562, 8562], 'mapped', [105, 105, 105]], - [[8563, 8563], 'mapped', [105, 118]], - [[8564, 8564], 'mapped', [118]], - [[8565, 8565], 'mapped', [118, 105]], - [[8566, 8566], 'mapped', [118, 105, 105]], - [[8567, 8567], 'mapped', [118, 105, 105, 105]], - [[8568, 8568], 'mapped', [105, 120]], - [[8569, 8569], 'mapped', [120]], - [[8570, 8570], 'mapped', [120, 105]], - [[8571, 8571], 'mapped', [120, 105, 105]], - [[8572, 8572], 'mapped', [108]], - [[8573, 8573], 'mapped', [99]], - [[8574, 8574], 'mapped', [100]], - [[8575, 8575], 'mapped', [109]], - [[8576, 8578], 'valid', [], 'NV8'], - [[8579, 8579], 'disallowed'], - [[8580, 8580], 'valid'], - [[8581, 8584], 'valid', [], 'NV8'], - [[8585, 8585], 'mapped', [48, 8260, 51]], - [[8586, 8587], 'valid', [], 'NV8'], - [[8588, 8591], 'disallowed'], - [[8592, 8682], 'valid', [], 'NV8'], - [[8683, 8691], 'valid', [], 'NV8'], - [[8692, 8703], 'valid', [], 'NV8'], - [[8704, 8747], 'valid', [], 'NV8'], - [[8748, 8748], 'mapped', [8747, 8747]], - [[8749, 8749], 'mapped', [8747, 8747, 8747]], - [[8750, 8750], 'valid', [], 'NV8'], - [[8751, 8751], 'mapped', [8750, 8750]], - [[8752, 8752], 'mapped', [8750, 8750, 8750]], - [[8753, 8799], 'valid', [], 'NV8'], - [[8800, 8800], 'disallowed_STD3_valid'], - [[8801, 8813], 'valid', [], 'NV8'], - [[8814, 8815], 'disallowed_STD3_valid'], - [[8816, 8945], 'valid', [], 'NV8'], - [[8946, 8959], 'valid', [], 'NV8'], - [[8960, 8960], 'valid', [], 'NV8'], - [[8961, 8961], 'valid', [], 'NV8'], - [[8962, 9e3], 'valid', [], 'NV8'], - [[9001, 9001], 'mapped', [12296]], - [[9002, 9002], 'mapped', [12297]], - [[9003, 9082], 'valid', [], 'NV8'], - [[9083, 9083], 'valid', [], 'NV8'], - [[9084, 9084], 'valid', [], 'NV8'], - [[9085, 9114], 'valid', [], 'NV8'], - [[9115, 9166], 'valid', [], 'NV8'], - [[9167, 9168], 'valid', [], 'NV8'], - [[9169, 9179], 'valid', [], 'NV8'], - [[9180, 9191], 'valid', [], 'NV8'], - [[9192, 9192], 'valid', [], 'NV8'], - [[9193, 9203], 'valid', [], 'NV8'], - [[9204, 9210], 'valid', [], 'NV8'], - [[9211, 9215], 'disallowed'], - [[9216, 9252], 'valid', [], 'NV8'], - [[9253, 9254], 'valid', [], 'NV8'], - [[9255, 9279], 'disallowed'], - [[9280, 9290], 'valid', [], 'NV8'], - [[9291, 9311], 'disallowed'], - [[9312, 9312], 'mapped', [49]], - [[9313, 9313], 'mapped', [50]], - [[9314, 9314], 'mapped', [51]], - [[9315, 9315], 'mapped', [52]], - [[9316, 9316], 'mapped', [53]], - [[9317, 9317], 'mapped', [54]], - [[9318, 9318], 'mapped', [55]], - [[9319, 9319], 'mapped', [56]], - [[9320, 9320], 'mapped', [57]], - [[9321, 9321], 'mapped', [49, 48]], - [[9322, 9322], 'mapped', [49, 49]], - [[9323, 9323], 'mapped', [49, 50]], - [[9324, 9324], 'mapped', [49, 51]], - [[9325, 9325], 'mapped', [49, 52]], - [[9326, 9326], 'mapped', [49, 53]], - [[9327, 9327], 'mapped', [49, 54]], - [[9328, 9328], 'mapped', [49, 55]], - [[9329, 9329], 'mapped', [49, 56]], - [[9330, 9330], 'mapped', [49, 57]], - [[9331, 9331], 'mapped', [50, 48]], - [[9332, 9332], 'disallowed_STD3_mapped', [40, 49, 41]], - [[9333, 9333], 'disallowed_STD3_mapped', [40, 50, 41]], - [[9334, 9334], 'disallowed_STD3_mapped', [40, 51, 41]], - [[9335, 9335], 'disallowed_STD3_mapped', [40, 52, 41]], - [[9336, 9336], 'disallowed_STD3_mapped', [40, 53, 41]], - [[9337, 9337], 'disallowed_STD3_mapped', [40, 54, 41]], - [[9338, 9338], 'disallowed_STD3_mapped', [40, 55, 41]], - [[9339, 9339], 'disallowed_STD3_mapped', [40, 56, 41]], - [[9340, 9340], 'disallowed_STD3_mapped', [40, 57, 41]], - [[9341, 9341], 'disallowed_STD3_mapped', [40, 49, 48, 41]], - [[9342, 9342], 'disallowed_STD3_mapped', [40, 49, 49, 41]], - [[9343, 9343], 'disallowed_STD3_mapped', [40, 49, 50, 41]], - [[9344, 9344], 'disallowed_STD3_mapped', [40, 49, 51, 41]], - [[9345, 9345], 'disallowed_STD3_mapped', [40, 49, 52, 41]], - [[9346, 9346], 'disallowed_STD3_mapped', [40, 49, 53, 41]], - [[9347, 9347], 'disallowed_STD3_mapped', [40, 49, 54, 41]], - [[9348, 9348], 'disallowed_STD3_mapped', [40, 49, 55, 41]], - [[9349, 9349], 'disallowed_STD3_mapped', [40, 49, 56, 41]], - [[9350, 9350], 'disallowed_STD3_mapped', [40, 49, 57, 41]], - [[9351, 9351], 'disallowed_STD3_mapped', [40, 50, 48, 41]], - [[9352, 9371], 'disallowed'], - [[9372, 9372], 'disallowed_STD3_mapped', [40, 97, 41]], - [[9373, 9373], 'disallowed_STD3_mapped', [40, 98, 41]], - [[9374, 9374], 'disallowed_STD3_mapped', [40, 99, 41]], - [[9375, 9375], 'disallowed_STD3_mapped', [40, 100, 41]], - [[9376, 9376], 'disallowed_STD3_mapped', [40, 101, 41]], - [[9377, 9377], 'disallowed_STD3_mapped', [40, 102, 41]], - [[9378, 9378], 'disallowed_STD3_mapped', [40, 103, 41]], - [[9379, 9379], 'disallowed_STD3_mapped', [40, 104, 41]], - [[9380, 9380], 'disallowed_STD3_mapped', [40, 105, 41]], - [[9381, 9381], 'disallowed_STD3_mapped', [40, 106, 41]], - [[9382, 9382], 'disallowed_STD3_mapped', [40, 107, 41]], - [[9383, 9383], 'disallowed_STD3_mapped', [40, 108, 41]], - [[9384, 9384], 'disallowed_STD3_mapped', [40, 109, 41]], - [[9385, 9385], 'disallowed_STD3_mapped', [40, 110, 41]], - [[9386, 9386], 'disallowed_STD3_mapped', [40, 111, 41]], - [[9387, 9387], 'disallowed_STD3_mapped', [40, 112, 41]], - [[9388, 9388], 'disallowed_STD3_mapped', [40, 113, 41]], - [[9389, 9389], 'disallowed_STD3_mapped', [40, 114, 41]], - [[9390, 9390], 'disallowed_STD3_mapped', [40, 115, 41]], - [[9391, 9391], 'disallowed_STD3_mapped', [40, 116, 41]], - [[9392, 9392], 'disallowed_STD3_mapped', [40, 117, 41]], - [[9393, 9393], 'disallowed_STD3_mapped', [40, 118, 41]], - [[9394, 9394], 'disallowed_STD3_mapped', [40, 119, 41]], - [[9395, 9395], 'disallowed_STD3_mapped', [40, 120, 41]], - [[9396, 9396], 'disallowed_STD3_mapped', [40, 121, 41]], - [[9397, 9397], 'disallowed_STD3_mapped', [40, 122, 41]], - [[9398, 9398], 'mapped', [97]], - [[9399, 9399], 'mapped', [98]], - [[9400, 9400], 'mapped', [99]], - [[9401, 9401], 'mapped', [100]], - [[9402, 9402], 'mapped', [101]], - [[9403, 9403], 'mapped', [102]], - [[9404, 9404], 'mapped', [103]], - [[9405, 9405], 'mapped', [104]], - [[9406, 9406], 'mapped', [105]], - [[9407, 9407], 'mapped', [106]], - [[9408, 9408], 'mapped', [107]], - [[9409, 9409], 'mapped', [108]], - [[9410, 9410], 'mapped', [109]], - [[9411, 9411], 'mapped', [110]], - [[9412, 9412], 'mapped', [111]], - [[9413, 9413], 'mapped', [112]], - [[9414, 9414], 'mapped', [113]], - [[9415, 9415], 'mapped', [114]], - [[9416, 9416], 'mapped', [115]], - [[9417, 9417], 'mapped', [116]], - [[9418, 9418], 'mapped', [117]], - [[9419, 9419], 'mapped', [118]], - [[9420, 9420], 'mapped', [119]], - [[9421, 9421], 'mapped', [120]], - [[9422, 9422], 'mapped', [121]], - [[9423, 9423], 'mapped', [122]], - [[9424, 9424], 'mapped', [97]], - [[9425, 9425], 'mapped', [98]], - [[9426, 9426], 'mapped', [99]], - [[9427, 9427], 'mapped', [100]], - [[9428, 9428], 'mapped', [101]], - [[9429, 9429], 'mapped', [102]], - [[9430, 9430], 'mapped', [103]], - [[9431, 9431], 'mapped', [104]], - [[9432, 9432], 'mapped', [105]], - [[9433, 9433], 'mapped', [106]], - [[9434, 9434], 'mapped', [107]], - [[9435, 9435], 'mapped', [108]], - [[9436, 9436], 'mapped', [109]], - [[9437, 9437], 'mapped', [110]], - [[9438, 9438], 'mapped', [111]], - [[9439, 9439], 'mapped', [112]], - [[9440, 9440], 'mapped', [113]], - [[9441, 9441], 'mapped', [114]], - [[9442, 9442], 'mapped', [115]], - [[9443, 9443], 'mapped', [116]], - [[9444, 9444], 'mapped', [117]], - [[9445, 9445], 'mapped', [118]], - [[9446, 9446], 'mapped', [119]], - [[9447, 9447], 'mapped', [120]], - [[9448, 9448], 'mapped', [121]], - [[9449, 9449], 'mapped', [122]], - [[9450, 9450], 'mapped', [48]], - [[9451, 9470], 'valid', [], 'NV8'], - [[9471, 9471], 'valid', [], 'NV8'], - [[9472, 9621], 'valid', [], 'NV8'], - [[9622, 9631], 'valid', [], 'NV8'], - [[9632, 9711], 'valid', [], 'NV8'], - [[9712, 9719], 'valid', [], 'NV8'], - [[9720, 9727], 'valid', [], 'NV8'], - [[9728, 9747], 'valid', [], 'NV8'], - [[9748, 9749], 'valid', [], 'NV8'], - [[9750, 9751], 'valid', [], 'NV8'], - [[9752, 9752], 'valid', [], 'NV8'], - [[9753, 9753], 'valid', [], 'NV8'], - [[9754, 9839], 'valid', [], 'NV8'], - [[9840, 9841], 'valid', [], 'NV8'], - [[9842, 9853], 'valid', [], 'NV8'], - [[9854, 9855], 'valid', [], 'NV8'], - [[9856, 9865], 'valid', [], 'NV8'], - [[9866, 9873], 'valid', [], 'NV8'], - [[9874, 9884], 'valid', [], 'NV8'], - [[9885, 9885], 'valid', [], 'NV8'], - [[9886, 9887], 'valid', [], 'NV8'], - [[9888, 9889], 'valid', [], 'NV8'], - [[9890, 9905], 'valid', [], 'NV8'], - [[9906, 9906], 'valid', [], 'NV8'], - [[9907, 9916], 'valid', [], 'NV8'], - [[9917, 9919], 'valid', [], 'NV8'], - [[9920, 9923], 'valid', [], 'NV8'], - [[9924, 9933], 'valid', [], 'NV8'], - [[9934, 9934], 'valid', [], 'NV8'], - [[9935, 9953], 'valid', [], 'NV8'], - [[9954, 9954], 'valid', [], 'NV8'], - [[9955, 9955], 'valid', [], 'NV8'], - [[9956, 9959], 'valid', [], 'NV8'], - [[9960, 9983], 'valid', [], 'NV8'], - [[9984, 9984], 'valid', [], 'NV8'], - [[9985, 9988], 'valid', [], 'NV8'], - [[9989, 9989], 'valid', [], 'NV8'], - [[9990, 9993], 'valid', [], 'NV8'], - [[9994, 9995], 'valid', [], 'NV8'], - [[9996, 10023], 'valid', [], 'NV8'], - [[10024, 10024], 'valid', [], 'NV8'], - [[10025, 10059], 'valid', [], 'NV8'], - [[10060, 10060], 'valid', [], 'NV8'], - [[10061, 10061], 'valid', [], 'NV8'], - [[10062, 10062], 'valid', [], 'NV8'], - [[10063, 10066], 'valid', [], 'NV8'], - [[10067, 10069], 'valid', [], 'NV8'], - [[10070, 10070], 'valid', [], 'NV8'], - [[10071, 10071], 'valid', [], 'NV8'], - [[10072, 10078], 'valid', [], 'NV8'], - [[10079, 10080], 'valid', [], 'NV8'], - [[10081, 10087], 'valid', [], 'NV8'], - [[10088, 10101], 'valid', [], 'NV8'], - [[10102, 10132], 'valid', [], 'NV8'], - [[10133, 10135], 'valid', [], 'NV8'], - [[10136, 10159], 'valid', [], 'NV8'], - [[10160, 10160], 'valid', [], 'NV8'], - [[10161, 10174], 'valid', [], 'NV8'], - [[10175, 10175], 'valid', [], 'NV8'], - [[10176, 10182], 'valid', [], 'NV8'], - [[10183, 10186], 'valid', [], 'NV8'], - [[10187, 10187], 'valid', [], 'NV8'], - [[10188, 10188], 'valid', [], 'NV8'], - [[10189, 10189], 'valid', [], 'NV8'], - [[10190, 10191], 'valid', [], 'NV8'], - [[10192, 10219], 'valid', [], 'NV8'], - [[10220, 10223], 'valid', [], 'NV8'], - [[10224, 10239], 'valid', [], 'NV8'], - [[10240, 10495], 'valid', [], 'NV8'], - [[10496, 10763], 'valid', [], 'NV8'], - [[10764, 10764], 'mapped', [8747, 8747, 8747, 8747]], - [[10765, 10867], 'valid', [], 'NV8'], - [[10868, 10868], 'disallowed_STD3_mapped', [58, 58, 61]], - [[10869, 10869], 'disallowed_STD3_mapped', [61, 61]], - [[10870, 10870], 'disallowed_STD3_mapped', [61, 61, 61]], - [[10871, 10971], 'valid', [], 'NV8'], - [[10972, 10972], 'mapped', [10973, 824]], - [[10973, 11007], 'valid', [], 'NV8'], - [[11008, 11021], 'valid', [], 'NV8'], - [[11022, 11027], 'valid', [], 'NV8'], - [[11028, 11034], 'valid', [], 'NV8'], - [[11035, 11039], 'valid', [], 'NV8'], - [[11040, 11043], 'valid', [], 'NV8'], - [[11044, 11084], 'valid', [], 'NV8'], - [[11085, 11087], 'valid', [], 'NV8'], - [[11088, 11092], 'valid', [], 'NV8'], - [[11093, 11097], 'valid', [], 'NV8'], - [[11098, 11123], 'valid', [], 'NV8'], - [[11124, 11125], 'disallowed'], - [[11126, 11157], 'valid', [], 'NV8'], - [[11158, 11159], 'disallowed'], - [[11160, 11193], 'valid', [], 'NV8'], - [[11194, 11196], 'disallowed'], - [[11197, 11208], 'valid', [], 'NV8'], - [[11209, 11209], 'disallowed'], - [[11210, 11217], 'valid', [], 'NV8'], - [[11218, 11243], 'disallowed'], - [[11244, 11247], 'valid', [], 'NV8'], - [[11248, 11263], 'disallowed'], - [[11264, 11264], 'mapped', [11312]], - [[11265, 11265], 'mapped', [11313]], - [[11266, 11266], 'mapped', [11314]], - [[11267, 11267], 'mapped', [11315]], - [[11268, 11268], 'mapped', [11316]], - [[11269, 11269], 'mapped', [11317]], - [[11270, 11270], 'mapped', [11318]], - [[11271, 11271], 'mapped', [11319]], - [[11272, 11272], 'mapped', [11320]], - [[11273, 11273], 'mapped', [11321]], - [[11274, 11274], 'mapped', [11322]], - [[11275, 11275], 'mapped', [11323]], - [[11276, 11276], 'mapped', [11324]], - [[11277, 11277], 'mapped', [11325]], - [[11278, 11278], 'mapped', [11326]], - [[11279, 11279], 'mapped', [11327]], - [[11280, 11280], 'mapped', [11328]], - [[11281, 11281], 'mapped', [11329]], - [[11282, 11282], 'mapped', [11330]], - [[11283, 11283], 'mapped', [11331]], - [[11284, 11284], 'mapped', [11332]], - [[11285, 11285], 'mapped', [11333]], - [[11286, 11286], 'mapped', [11334]], - [[11287, 11287], 'mapped', [11335]], - [[11288, 11288], 'mapped', [11336]], - [[11289, 11289], 'mapped', [11337]], - [[11290, 11290], 'mapped', [11338]], - [[11291, 11291], 'mapped', [11339]], - [[11292, 11292], 'mapped', [11340]], - [[11293, 11293], 'mapped', [11341]], - [[11294, 11294], 'mapped', [11342]], - [[11295, 11295], 'mapped', [11343]], - [[11296, 11296], 'mapped', [11344]], - [[11297, 11297], 'mapped', [11345]], - [[11298, 11298], 'mapped', [11346]], - [[11299, 11299], 'mapped', [11347]], - [[11300, 11300], 'mapped', [11348]], - [[11301, 11301], 'mapped', [11349]], - [[11302, 11302], 'mapped', [11350]], - [[11303, 11303], 'mapped', [11351]], - [[11304, 11304], 'mapped', [11352]], - [[11305, 11305], 'mapped', [11353]], - [[11306, 11306], 'mapped', [11354]], - [[11307, 11307], 'mapped', [11355]], - [[11308, 11308], 'mapped', [11356]], - [[11309, 11309], 'mapped', [11357]], - [[11310, 11310], 'mapped', [11358]], - [[11311, 11311], 'disallowed'], - [[11312, 11358], 'valid'], - [[11359, 11359], 'disallowed'], - [[11360, 11360], 'mapped', [11361]], - [[11361, 11361], 'valid'], - [[11362, 11362], 'mapped', [619]], - [[11363, 11363], 'mapped', [7549]], - [[11364, 11364], 'mapped', [637]], - [[11365, 11366], 'valid'], - [[11367, 11367], 'mapped', [11368]], - [[11368, 11368], 'valid'], - [[11369, 11369], 'mapped', [11370]], - [[11370, 11370], 'valid'], - [[11371, 11371], 'mapped', [11372]], - [[11372, 11372], 'valid'], - [[11373, 11373], 'mapped', [593]], - [[11374, 11374], 'mapped', [625]], - [[11375, 11375], 'mapped', [592]], - [[11376, 11376], 'mapped', [594]], - [[11377, 11377], 'valid'], - [[11378, 11378], 'mapped', [11379]], - [[11379, 11379], 'valid'], - [[11380, 11380], 'valid'], - [[11381, 11381], 'mapped', [11382]], - [[11382, 11383], 'valid'], - [[11384, 11387], 'valid'], - [[11388, 11388], 'mapped', [106]], - [[11389, 11389], 'mapped', [118]], - [[11390, 11390], 'mapped', [575]], - [[11391, 11391], 'mapped', [576]], - [[11392, 11392], 'mapped', [11393]], - [[11393, 11393], 'valid'], - [[11394, 11394], 'mapped', [11395]], - [[11395, 11395], 'valid'], - [[11396, 11396], 'mapped', [11397]], - [[11397, 11397], 'valid'], - [[11398, 11398], 'mapped', [11399]], - [[11399, 11399], 'valid'], - [[11400, 11400], 'mapped', [11401]], - [[11401, 11401], 'valid'], - [[11402, 11402], 'mapped', [11403]], - [[11403, 11403], 'valid'], - [[11404, 11404], 'mapped', [11405]], - [[11405, 11405], 'valid'], - [[11406, 11406], 'mapped', [11407]], - [[11407, 11407], 'valid'], - [[11408, 11408], 'mapped', [11409]], - [[11409, 11409], 'valid'], - [[11410, 11410], 'mapped', [11411]], - [[11411, 11411], 'valid'], - [[11412, 11412], 'mapped', [11413]], - [[11413, 11413], 'valid'], - [[11414, 11414], 'mapped', [11415]], - [[11415, 11415], 'valid'], - [[11416, 11416], 'mapped', [11417]], - [[11417, 11417], 'valid'], - [[11418, 11418], 'mapped', [11419]], - [[11419, 11419], 'valid'], - [[11420, 11420], 'mapped', [11421]], - [[11421, 11421], 'valid'], - [[11422, 11422], 'mapped', [11423]], - [[11423, 11423], 'valid'], - [[11424, 11424], 'mapped', [11425]], - [[11425, 11425], 'valid'], - [[11426, 11426], 'mapped', [11427]], - [[11427, 11427], 'valid'], - [[11428, 11428], 'mapped', [11429]], - [[11429, 11429], 'valid'], - [[11430, 11430], 'mapped', [11431]], - [[11431, 11431], 'valid'], - [[11432, 11432], 'mapped', [11433]], - [[11433, 11433], 'valid'], - [[11434, 11434], 'mapped', [11435]], - [[11435, 11435], 'valid'], - [[11436, 11436], 'mapped', [11437]], - [[11437, 11437], 'valid'], - [[11438, 11438], 'mapped', [11439]], - [[11439, 11439], 'valid'], - [[11440, 11440], 'mapped', [11441]], - [[11441, 11441], 'valid'], - [[11442, 11442], 'mapped', [11443]], - [[11443, 11443], 'valid'], - [[11444, 11444], 'mapped', [11445]], - [[11445, 11445], 'valid'], - [[11446, 11446], 'mapped', [11447]], - [[11447, 11447], 'valid'], - [[11448, 11448], 'mapped', [11449]], - [[11449, 11449], 'valid'], - [[11450, 11450], 'mapped', [11451]], - [[11451, 11451], 'valid'], - [[11452, 11452], 'mapped', [11453]], - [[11453, 11453], 'valid'], - [[11454, 11454], 'mapped', [11455]], - [[11455, 11455], 'valid'], - [[11456, 11456], 'mapped', [11457]], - [[11457, 11457], 'valid'], - [[11458, 11458], 'mapped', [11459]], - [[11459, 11459], 'valid'], - [[11460, 11460], 'mapped', [11461]], - [[11461, 11461], 'valid'], - [[11462, 11462], 'mapped', [11463]], - [[11463, 11463], 'valid'], - [[11464, 11464], 'mapped', [11465]], - [[11465, 11465], 'valid'], - [[11466, 11466], 'mapped', [11467]], - [[11467, 11467], 'valid'], - [[11468, 11468], 'mapped', [11469]], - [[11469, 11469], 'valid'], - [[11470, 11470], 'mapped', [11471]], - [[11471, 11471], 'valid'], - [[11472, 11472], 'mapped', [11473]], - [[11473, 11473], 'valid'], - [[11474, 11474], 'mapped', [11475]], - [[11475, 11475], 'valid'], - [[11476, 11476], 'mapped', [11477]], - [[11477, 11477], 'valid'], - [[11478, 11478], 'mapped', [11479]], - [[11479, 11479], 'valid'], - [[11480, 11480], 'mapped', [11481]], - [[11481, 11481], 'valid'], - [[11482, 11482], 'mapped', [11483]], - [[11483, 11483], 'valid'], - [[11484, 11484], 'mapped', [11485]], - [[11485, 11485], 'valid'], - [[11486, 11486], 'mapped', [11487]], - [[11487, 11487], 'valid'], - [[11488, 11488], 'mapped', [11489]], - [[11489, 11489], 'valid'], - [[11490, 11490], 'mapped', [11491]], - [[11491, 11492], 'valid'], - [[11493, 11498], 'valid', [], 'NV8'], - [[11499, 11499], 'mapped', [11500]], - [[11500, 11500], 'valid'], - [[11501, 11501], 'mapped', [11502]], - [[11502, 11505], 'valid'], - [[11506, 11506], 'mapped', [11507]], - [[11507, 11507], 'valid'], - [[11508, 11512], 'disallowed'], - [[11513, 11519], 'valid', [], 'NV8'], - [[11520, 11557], 'valid'], - [[11558, 11558], 'disallowed'], - [[11559, 11559], 'valid'], - [[11560, 11564], 'disallowed'], - [[11565, 11565], 'valid'], - [[11566, 11567], 'disallowed'], - [[11568, 11621], 'valid'], - [[11622, 11623], 'valid'], - [[11624, 11630], 'disallowed'], - [[11631, 11631], 'mapped', [11617]], - [[11632, 11632], 'valid', [], 'NV8'], - [[11633, 11646], 'disallowed'], - [[11647, 11647], 'valid'], - [[11648, 11670], 'valid'], - [[11671, 11679], 'disallowed'], - [[11680, 11686], 'valid'], - [[11687, 11687], 'disallowed'], - [[11688, 11694], 'valid'], - [[11695, 11695], 'disallowed'], - [[11696, 11702], 'valid'], - [[11703, 11703], 'disallowed'], - [[11704, 11710], 'valid'], - [[11711, 11711], 'disallowed'], - [[11712, 11718], 'valid'], - [[11719, 11719], 'disallowed'], - [[11720, 11726], 'valid'], - [[11727, 11727], 'disallowed'], - [[11728, 11734], 'valid'], - [[11735, 11735], 'disallowed'], - [[11736, 11742], 'valid'], - [[11743, 11743], 'disallowed'], - [[11744, 11775], 'valid'], - [[11776, 11799], 'valid', [], 'NV8'], - [[11800, 11803], 'valid', [], 'NV8'], - [[11804, 11805], 'valid', [], 'NV8'], - [[11806, 11822], 'valid', [], 'NV8'], - [[11823, 11823], 'valid'], - [[11824, 11824], 'valid', [], 'NV8'], - [[11825, 11825], 'valid', [], 'NV8'], - [[11826, 11835], 'valid', [], 'NV8'], - [[11836, 11842], 'valid', [], 'NV8'], - [[11843, 11903], 'disallowed'], - [[11904, 11929], 'valid', [], 'NV8'], - [[11930, 11930], 'disallowed'], - [[11931, 11934], 'valid', [], 'NV8'], - [[11935, 11935], 'mapped', [27597]], - [[11936, 12018], 'valid', [], 'NV8'], - [[12019, 12019], 'mapped', [40863]], - [[12020, 12031], 'disallowed'], - [[12032, 12032], 'mapped', [19968]], - [[12033, 12033], 'mapped', [20008]], - [[12034, 12034], 'mapped', [20022]], - [[12035, 12035], 'mapped', [20031]], - [[12036, 12036], 'mapped', [20057]], - [[12037, 12037], 'mapped', [20101]], - [[12038, 12038], 'mapped', [20108]], - [[12039, 12039], 'mapped', [20128]], - [[12040, 12040], 'mapped', [20154]], - [[12041, 12041], 'mapped', [20799]], - [[12042, 12042], 'mapped', [20837]], - [[12043, 12043], 'mapped', [20843]], - [[12044, 12044], 'mapped', [20866]], - [[12045, 12045], 'mapped', [20886]], - [[12046, 12046], 'mapped', [20907]], - [[12047, 12047], 'mapped', [20960]], - [[12048, 12048], 'mapped', [20981]], - [[12049, 12049], 'mapped', [20992]], - [[12050, 12050], 'mapped', [21147]], - [[12051, 12051], 'mapped', [21241]], - [[12052, 12052], 'mapped', [21269]], - [[12053, 12053], 'mapped', [21274]], - [[12054, 12054], 'mapped', [21304]], - [[12055, 12055], 'mapped', [21313]], - [[12056, 12056], 'mapped', [21340]], - [[12057, 12057], 'mapped', [21353]], - [[12058, 12058], 'mapped', [21378]], - [[12059, 12059], 'mapped', [21430]], - [[12060, 12060], 'mapped', [21448]], - [[12061, 12061], 'mapped', [21475]], - [[12062, 12062], 'mapped', [22231]], - [[12063, 12063], 'mapped', [22303]], - [[12064, 12064], 'mapped', [22763]], - [[12065, 12065], 'mapped', [22786]], - [[12066, 12066], 'mapped', [22794]], - [[12067, 12067], 'mapped', [22805]], - [[12068, 12068], 'mapped', [22823]], - [[12069, 12069], 'mapped', [22899]], - [[12070, 12070], 'mapped', [23376]], - [[12071, 12071], 'mapped', [23424]], - [[12072, 12072], 'mapped', [23544]], - [[12073, 12073], 'mapped', [23567]], - [[12074, 12074], 'mapped', [23586]], - [[12075, 12075], 'mapped', [23608]], - [[12076, 12076], 'mapped', [23662]], - [[12077, 12077], 'mapped', [23665]], - [[12078, 12078], 'mapped', [24027]], - [[12079, 12079], 'mapped', [24037]], - [[12080, 12080], 'mapped', [24049]], - [[12081, 12081], 'mapped', [24062]], - [[12082, 12082], 'mapped', [24178]], - [[12083, 12083], 'mapped', [24186]], - [[12084, 12084], 'mapped', [24191]], - [[12085, 12085], 'mapped', [24308]], - [[12086, 12086], 'mapped', [24318]], - [[12087, 12087], 'mapped', [24331]], - [[12088, 12088], 'mapped', [24339]], - [[12089, 12089], 'mapped', [24400]], - [[12090, 12090], 'mapped', [24417]], - [[12091, 12091], 'mapped', [24435]], - [[12092, 12092], 'mapped', [24515]], - [[12093, 12093], 'mapped', [25096]], - [[12094, 12094], 'mapped', [25142]], - [[12095, 12095], 'mapped', [25163]], - [[12096, 12096], 'mapped', [25903]], - [[12097, 12097], 'mapped', [25908]], - [[12098, 12098], 'mapped', [25991]], - [[12099, 12099], 'mapped', [26007]], - [[12100, 12100], 'mapped', [26020]], - [[12101, 12101], 'mapped', [26041]], - [[12102, 12102], 'mapped', [26080]], - [[12103, 12103], 'mapped', [26085]], - [[12104, 12104], 'mapped', [26352]], - [[12105, 12105], 'mapped', [26376]], - [[12106, 12106], 'mapped', [26408]], - [[12107, 12107], 'mapped', [27424]], - [[12108, 12108], 'mapped', [27490]], - [[12109, 12109], 'mapped', [27513]], - [[12110, 12110], 'mapped', [27571]], - [[12111, 12111], 'mapped', [27595]], - [[12112, 12112], 'mapped', [27604]], - [[12113, 12113], 'mapped', [27611]], - [[12114, 12114], 'mapped', [27663]], - [[12115, 12115], 'mapped', [27668]], - [[12116, 12116], 'mapped', [27700]], - [[12117, 12117], 'mapped', [28779]], - [[12118, 12118], 'mapped', [29226]], - [[12119, 12119], 'mapped', [29238]], - [[12120, 12120], 'mapped', [29243]], - [[12121, 12121], 'mapped', [29247]], - [[12122, 12122], 'mapped', [29255]], - [[12123, 12123], 'mapped', [29273]], - [[12124, 12124], 'mapped', [29275]], - [[12125, 12125], 'mapped', [29356]], - [[12126, 12126], 'mapped', [29572]], - [[12127, 12127], 'mapped', [29577]], - [[12128, 12128], 'mapped', [29916]], - [[12129, 12129], 'mapped', [29926]], - [[12130, 12130], 'mapped', [29976]], - [[12131, 12131], 'mapped', [29983]], - [[12132, 12132], 'mapped', [29992]], - [[12133, 12133], 'mapped', [3e4]], - [[12134, 12134], 'mapped', [30091]], - [[12135, 12135], 'mapped', [30098]], - [[12136, 12136], 'mapped', [30326]], - [[12137, 12137], 'mapped', [30333]], - [[12138, 12138], 'mapped', [30382]], - [[12139, 12139], 'mapped', [30399]], - [[12140, 12140], 'mapped', [30446]], - [[12141, 12141], 'mapped', [30683]], - [[12142, 12142], 'mapped', [30690]], - [[12143, 12143], 'mapped', [30707]], - [[12144, 12144], 'mapped', [31034]], - [[12145, 12145], 'mapped', [31160]], - [[12146, 12146], 'mapped', [31166]], - [[12147, 12147], 'mapped', [31348]], - [[12148, 12148], 'mapped', [31435]], - [[12149, 12149], 'mapped', [31481]], - [[12150, 12150], 'mapped', [31859]], - [[12151, 12151], 'mapped', [31992]], - [[12152, 12152], 'mapped', [32566]], - [[12153, 12153], 'mapped', [32593]], - [[12154, 12154], 'mapped', [32650]], - [[12155, 12155], 'mapped', [32701]], - [[12156, 12156], 'mapped', [32769]], - [[12157, 12157], 'mapped', [32780]], - [[12158, 12158], 'mapped', [32786]], - [[12159, 12159], 'mapped', [32819]], - [[12160, 12160], 'mapped', [32895]], - [[12161, 12161], 'mapped', [32905]], - [[12162, 12162], 'mapped', [33251]], - [[12163, 12163], 'mapped', [33258]], - [[12164, 12164], 'mapped', [33267]], - [[12165, 12165], 'mapped', [33276]], - [[12166, 12166], 'mapped', [33292]], - [[12167, 12167], 'mapped', [33307]], - [[12168, 12168], 'mapped', [33311]], - [[12169, 12169], 'mapped', [33390]], - [[12170, 12170], 'mapped', [33394]], - [[12171, 12171], 'mapped', [33400]], - [[12172, 12172], 'mapped', [34381]], - [[12173, 12173], 'mapped', [34411]], - [[12174, 12174], 'mapped', [34880]], - [[12175, 12175], 'mapped', [34892]], - [[12176, 12176], 'mapped', [34915]], - [[12177, 12177], 'mapped', [35198]], - [[12178, 12178], 'mapped', [35211]], - [[12179, 12179], 'mapped', [35282]], - [[12180, 12180], 'mapped', [35328]], - [[12181, 12181], 'mapped', [35895]], - [[12182, 12182], 'mapped', [35910]], - [[12183, 12183], 'mapped', [35925]], - [[12184, 12184], 'mapped', [35960]], - [[12185, 12185], 'mapped', [35997]], - [[12186, 12186], 'mapped', [36196]], - [[12187, 12187], 'mapped', [36208]], - [[12188, 12188], 'mapped', [36275]], - [[12189, 12189], 'mapped', [36523]], - [[12190, 12190], 'mapped', [36554]], - [[12191, 12191], 'mapped', [36763]], - [[12192, 12192], 'mapped', [36784]], - [[12193, 12193], 'mapped', [36789]], - [[12194, 12194], 'mapped', [37009]], - [[12195, 12195], 'mapped', [37193]], - [[12196, 12196], 'mapped', [37318]], - [[12197, 12197], 'mapped', [37324]], - [[12198, 12198], 'mapped', [37329]], - [[12199, 12199], 'mapped', [38263]], - [[12200, 12200], 'mapped', [38272]], - [[12201, 12201], 'mapped', [38428]], - [[12202, 12202], 'mapped', [38582]], - [[12203, 12203], 'mapped', [38585]], - [[12204, 12204], 'mapped', [38632]], - [[12205, 12205], 'mapped', [38737]], - [[12206, 12206], 'mapped', [38750]], - [[12207, 12207], 'mapped', [38754]], - [[12208, 12208], 'mapped', [38761]], - [[12209, 12209], 'mapped', [38859]], - [[12210, 12210], 'mapped', [38893]], - [[12211, 12211], 'mapped', [38899]], - [[12212, 12212], 'mapped', [38913]], - [[12213, 12213], 'mapped', [39080]], - [[12214, 12214], 'mapped', [39131]], - [[12215, 12215], 'mapped', [39135]], - [[12216, 12216], 'mapped', [39318]], - [[12217, 12217], 'mapped', [39321]], - [[12218, 12218], 'mapped', [39340]], - [[12219, 12219], 'mapped', [39592]], - [[12220, 12220], 'mapped', [39640]], - [[12221, 12221], 'mapped', [39647]], - [[12222, 12222], 'mapped', [39717]], - [[12223, 12223], 'mapped', [39727]], - [[12224, 12224], 'mapped', [39730]], - [[12225, 12225], 'mapped', [39740]], - [[12226, 12226], 'mapped', [39770]], - [[12227, 12227], 'mapped', [40165]], - [[12228, 12228], 'mapped', [40565]], - [[12229, 12229], 'mapped', [40575]], - [[12230, 12230], 'mapped', [40613]], - [[12231, 12231], 'mapped', [40635]], - [[12232, 12232], 'mapped', [40643]], - [[12233, 12233], 'mapped', [40653]], - [[12234, 12234], 'mapped', [40657]], - [[12235, 12235], 'mapped', [40697]], - [[12236, 12236], 'mapped', [40701]], - [[12237, 12237], 'mapped', [40718]], - [[12238, 12238], 'mapped', [40723]], - [[12239, 12239], 'mapped', [40736]], - [[12240, 12240], 'mapped', [40763]], - [[12241, 12241], 'mapped', [40778]], - [[12242, 12242], 'mapped', [40786]], - [[12243, 12243], 'mapped', [40845]], - [[12244, 12244], 'mapped', [40860]], - [[12245, 12245], 'mapped', [40864]], - [[12246, 12271], 'disallowed'], - [[12272, 12283], 'disallowed'], - [[12284, 12287], 'disallowed'], - [[12288, 12288], 'disallowed_STD3_mapped', [32]], - [[12289, 12289], 'valid', [], 'NV8'], - [[12290, 12290], 'mapped', [46]], - [[12291, 12292], 'valid', [], 'NV8'], - [[12293, 12295], 'valid'], - [[12296, 12329], 'valid', [], 'NV8'], - [[12330, 12333], 'valid'], - [[12334, 12341], 'valid', [], 'NV8'], - [[12342, 12342], 'mapped', [12306]], - [[12343, 12343], 'valid', [], 'NV8'], - [[12344, 12344], 'mapped', [21313]], - [[12345, 12345], 'mapped', [21316]], - [[12346, 12346], 'mapped', [21317]], - [[12347, 12347], 'valid', [], 'NV8'], - [[12348, 12348], 'valid'], - [[12349, 12349], 'valid', [], 'NV8'], - [[12350, 12350], 'valid', [], 'NV8'], - [[12351, 12351], 'valid', [], 'NV8'], - [[12352, 12352], 'disallowed'], - [[12353, 12436], 'valid'], - [[12437, 12438], 'valid'], - [[12439, 12440], 'disallowed'], - [[12441, 12442], 'valid'], - [[12443, 12443], 'disallowed_STD3_mapped', [32, 12441]], - [[12444, 12444], 'disallowed_STD3_mapped', [32, 12442]], - [[12445, 12446], 'valid'], - [[12447, 12447], 'mapped', [12424, 12426]], - [[12448, 12448], 'valid', [], 'NV8'], - [[12449, 12542], 'valid'], - [[12543, 12543], 'mapped', [12467, 12488]], - [[12544, 12548], 'disallowed'], - [[12549, 12588], 'valid'], - [[12589, 12589], 'valid'], - [[12590, 12592], 'disallowed'], - [[12593, 12593], 'mapped', [4352]], - [[12594, 12594], 'mapped', [4353]], - [[12595, 12595], 'mapped', [4522]], - [[12596, 12596], 'mapped', [4354]], - [[12597, 12597], 'mapped', [4524]], - [[12598, 12598], 'mapped', [4525]], - [[12599, 12599], 'mapped', [4355]], - [[12600, 12600], 'mapped', [4356]], - [[12601, 12601], 'mapped', [4357]], - [[12602, 12602], 'mapped', [4528]], - [[12603, 12603], 'mapped', [4529]], - [[12604, 12604], 'mapped', [4530]], - [[12605, 12605], 'mapped', [4531]], - [[12606, 12606], 'mapped', [4532]], - [[12607, 12607], 'mapped', [4533]], - [[12608, 12608], 'mapped', [4378]], - [[12609, 12609], 'mapped', [4358]], - [[12610, 12610], 'mapped', [4359]], - [[12611, 12611], 'mapped', [4360]], - [[12612, 12612], 'mapped', [4385]], - [[12613, 12613], 'mapped', [4361]], - [[12614, 12614], 'mapped', [4362]], - [[12615, 12615], 'mapped', [4363]], - [[12616, 12616], 'mapped', [4364]], - [[12617, 12617], 'mapped', [4365]], - [[12618, 12618], 'mapped', [4366]], - [[12619, 12619], 'mapped', [4367]], - [[12620, 12620], 'mapped', [4368]], - [[12621, 12621], 'mapped', [4369]], - [[12622, 12622], 'mapped', [4370]], - [[12623, 12623], 'mapped', [4449]], - [[12624, 12624], 'mapped', [4450]], - [[12625, 12625], 'mapped', [4451]], - [[12626, 12626], 'mapped', [4452]], - [[12627, 12627], 'mapped', [4453]], - [[12628, 12628], 'mapped', [4454]], - [[12629, 12629], 'mapped', [4455]], - [[12630, 12630], 'mapped', [4456]], - [[12631, 12631], 'mapped', [4457]], - [[12632, 12632], 'mapped', [4458]], - [[12633, 12633], 'mapped', [4459]], - [[12634, 12634], 'mapped', [4460]], - [[12635, 12635], 'mapped', [4461]], - [[12636, 12636], 'mapped', [4462]], - [[12637, 12637], 'mapped', [4463]], - [[12638, 12638], 'mapped', [4464]], - [[12639, 12639], 'mapped', [4465]], - [[12640, 12640], 'mapped', [4466]], - [[12641, 12641], 'mapped', [4467]], - [[12642, 12642], 'mapped', [4468]], - [[12643, 12643], 'mapped', [4469]], - [[12644, 12644], 'disallowed'], - [[12645, 12645], 'mapped', [4372]], - [[12646, 12646], 'mapped', [4373]], - [[12647, 12647], 'mapped', [4551]], - [[12648, 12648], 'mapped', [4552]], - [[12649, 12649], 'mapped', [4556]], - [[12650, 12650], 'mapped', [4558]], - [[12651, 12651], 'mapped', [4563]], - [[12652, 12652], 'mapped', [4567]], - [[12653, 12653], 'mapped', [4569]], - [[12654, 12654], 'mapped', [4380]], - [[12655, 12655], 'mapped', [4573]], - [[12656, 12656], 'mapped', [4575]], - [[12657, 12657], 'mapped', [4381]], - [[12658, 12658], 'mapped', [4382]], - [[12659, 12659], 'mapped', [4384]], - [[12660, 12660], 'mapped', [4386]], - [[12661, 12661], 'mapped', [4387]], - [[12662, 12662], 'mapped', [4391]], - [[12663, 12663], 'mapped', [4393]], - [[12664, 12664], 'mapped', [4395]], - [[12665, 12665], 'mapped', [4396]], - [[12666, 12666], 'mapped', [4397]], - [[12667, 12667], 'mapped', [4398]], - [[12668, 12668], 'mapped', [4399]], - [[12669, 12669], 'mapped', [4402]], - [[12670, 12670], 'mapped', [4406]], - [[12671, 12671], 'mapped', [4416]], - [[12672, 12672], 'mapped', [4423]], - [[12673, 12673], 'mapped', [4428]], - [[12674, 12674], 'mapped', [4593]], - [[12675, 12675], 'mapped', [4594]], - [[12676, 12676], 'mapped', [4439]], - [[12677, 12677], 'mapped', [4440]], - [[12678, 12678], 'mapped', [4441]], - [[12679, 12679], 'mapped', [4484]], - [[12680, 12680], 'mapped', [4485]], - [[12681, 12681], 'mapped', [4488]], - [[12682, 12682], 'mapped', [4497]], - [[12683, 12683], 'mapped', [4498]], - [[12684, 12684], 'mapped', [4500]], - [[12685, 12685], 'mapped', [4510]], - [[12686, 12686], 'mapped', [4513]], - [[12687, 12687], 'disallowed'], - [[12688, 12689], 'valid', [], 'NV8'], - [[12690, 12690], 'mapped', [19968]], - [[12691, 12691], 'mapped', [20108]], - [[12692, 12692], 'mapped', [19977]], - [[12693, 12693], 'mapped', [22235]], - [[12694, 12694], 'mapped', [19978]], - [[12695, 12695], 'mapped', [20013]], - [[12696, 12696], 'mapped', [19979]], - [[12697, 12697], 'mapped', [30002]], - [[12698, 12698], 'mapped', [20057]], - [[12699, 12699], 'mapped', [19993]], - [[12700, 12700], 'mapped', [19969]], - [[12701, 12701], 'mapped', [22825]], - [[12702, 12702], 'mapped', [22320]], - [[12703, 12703], 'mapped', [20154]], - [[12704, 12727], 'valid'], - [[12728, 12730], 'valid'], - [[12731, 12735], 'disallowed'], - [[12736, 12751], 'valid', [], 'NV8'], - [[12752, 12771], 'valid', [], 'NV8'], - [[12772, 12783], 'disallowed'], - [[12784, 12799], 'valid'], - [[12800, 12800], 'disallowed_STD3_mapped', [40, 4352, 41]], - [[12801, 12801], 'disallowed_STD3_mapped', [40, 4354, 41]], - [[12802, 12802], 'disallowed_STD3_mapped', [40, 4355, 41]], - [[12803, 12803], 'disallowed_STD3_mapped', [40, 4357, 41]], - [[12804, 12804], 'disallowed_STD3_mapped', [40, 4358, 41]], - [[12805, 12805], 'disallowed_STD3_mapped', [40, 4359, 41]], - [[12806, 12806], 'disallowed_STD3_mapped', [40, 4361, 41]], - [[12807, 12807], 'disallowed_STD3_mapped', [40, 4363, 41]], - [[12808, 12808], 'disallowed_STD3_mapped', [40, 4364, 41]], - [[12809, 12809], 'disallowed_STD3_mapped', [40, 4366, 41]], - [[12810, 12810], 'disallowed_STD3_mapped', [40, 4367, 41]], - [[12811, 12811], 'disallowed_STD3_mapped', [40, 4368, 41]], - [[12812, 12812], 'disallowed_STD3_mapped', [40, 4369, 41]], - [[12813, 12813], 'disallowed_STD3_mapped', [40, 4370, 41]], - [[12814, 12814], 'disallowed_STD3_mapped', [40, 44032, 41]], - [[12815, 12815], 'disallowed_STD3_mapped', [40, 45208, 41]], - [[12816, 12816], 'disallowed_STD3_mapped', [40, 45796, 41]], - [[12817, 12817], 'disallowed_STD3_mapped', [40, 46972, 41]], - [[12818, 12818], 'disallowed_STD3_mapped', [40, 47560, 41]], - [[12819, 12819], 'disallowed_STD3_mapped', [40, 48148, 41]], - [[12820, 12820], 'disallowed_STD3_mapped', [40, 49324, 41]], - [[12821, 12821], 'disallowed_STD3_mapped', [40, 50500, 41]], - [[12822, 12822], 'disallowed_STD3_mapped', [40, 51088, 41]], - [[12823, 12823], 'disallowed_STD3_mapped', [40, 52264, 41]], - [[12824, 12824], 'disallowed_STD3_mapped', [40, 52852, 41]], - [[12825, 12825], 'disallowed_STD3_mapped', [40, 53440, 41]], - [[12826, 12826], 'disallowed_STD3_mapped', [40, 54028, 41]], - [[12827, 12827], 'disallowed_STD3_mapped', [40, 54616, 41]], - [[12828, 12828], 'disallowed_STD3_mapped', [40, 51452, 41]], - [[12829, 12829], 'disallowed_STD3_mapped', [40, 50724, 51204, 41]], - [[12830, 12830], 'disallowed_STD3_mapped', [40, 50724, 54980, 41]], - [[12831, 12831], 'disallowed'], - [[12832, 12832], 'disallowed_STD3_mapped', [40, 19968, 41]], - [[12833, 12833], 'disallowed_STD3_mapped', [40, 20108, 41]], - [[12834, 12834], 'disallowed_STD3_mapped', [40, 19977, 41]], - [[12835, 12835], 'disallowed_STD3_mapped', [40, 22235, 41]], - [[12836, 12836], 'disallowed_STD3_mapped', [40, 20116, 41]], - [[12837, 12837], 'disallowed_STD3_mapped', [40, 20845, 41]], - [[12838, 12838], 'disallowed_STD3_mapped', [40, 19971, 41]], - [[12839, 12839], 'disallowed_STD3_mapped', [40, 20843, 41]], - [[12840, 12840], 'disallowed_STD3_mapped', [40, 20061, 41]], - [[12841, 12841], 'disallowed_STD3_mapped', [40, 21313, 41]], - [[12842, 12842], 'disallowed_STD3_mapped', [40, 26376, 41]], - [[12843, 12843], 'disallowed_STD3_mapped', [40, 28779, 41]], - [[12844, 12844], 'disallowed_STD3_mapped', [40, 27700, 41]], - [[12845, 12845], 'disallowed_STD3_mapped', [40, 26408, 41]], - [[12846, 12846], 'disallowed_STD3_mapped', [40, 37329, 41]], - [[12847, 12847], 'disallowed_STD3_mapped', [40, 22303, 41]], - [[12848, 12848], 'disallowed_STD3_mapped', [40, 26085, 41]], - [[12849, 12849], 'disallowed_STD3_mapped', [40, 26666, 41]], - [[12850, 12850], 'disallowed_STD3_mapped', [40, 26377, 41]], - [[12851, 12851], 'disallowed_STD3_mapped', [40, 31038, 41]], - [[12852, 12852], 'disallowed_STD3_mapped', [40, 21517, 41]], - [[12853, 12853], 'disallowed_STD3_mapped', [40, 29305, 41]], - [[12854, 12854], 'disallowed_STD3_mapped', [40, 36001, 41]], - [[12855, 12855], 'disallowed_STD3_mapped', [40, 31069, 41]], - [[12856, 12856], 'disallowed_STD3_mapped', [40, 21172, 41]], - [[12857, 12857], 'disallowed_STD3_mapped', [40, 20195, 41]], - [[12858, 12858], 'disallowed_STD3_mapped', [40, 21628, 41]], - [[12859, 12859], 'disallowed_STD3_mapped', [40, 23398, 41]], - [[12860, 12860], 'disallowed_STD3_mapped', [40, 30435, 41]], - [[12861, 12861], 'disallowed_STD3_mapped', [40, 20225, 41]], - [[12862, 12862], 'disallowed_STD3_mapped', [40, 36039, 41]], - [[12863, 12863], 'disallowed_STD3_mapped', [40, 21332, 41]], - [[12864, 12864], 'disallowed_STD3_mapped', [40, 31085, 41]], - [[12865, 12865], 'disallowed_STD3_mapped', [40, 20241, 41]], - [[12866, 12866], 'disallowed_STD3_mapped', [40, 33258, 41]], - [[12867, 12867], 'disallowed_STD3_mapped', [40, 33267, 41]], - [[12868, 12868], 'mapped', [21839]], - [[12869, 12869], 'mapped', [24188]], - [[12870, 12870], 'mapped', [25991]], - [[12871, 12871], 'mapped', [31631]], - [[12872, 12879], 'valid', [], 'NV8'], - [[12880, 12880], 'mapped', [112, 116, 101]], - [[12881, 12881], 'mapped', [50, 49]], - [[12882, 12882], 'mapped', [50, 50]], - [[12883, 12883], 'mapped', [50, 51]], - [[12884, 12884], 'mapped', [50, 52]], - [[12885, 12885], 'mapped', [50, 53]], - [[12886, 12886], 'mapped', [50, 54]], - [[12887, 12887], 'mapped', [50, 55]], - [[12888, 12888], 'mapped', [50, 56]], - [[12889, 12889], 'mapped', [50, 57]], - [[12890, 12890], 'mapped', [51, 48]], - [[12891, 12891], 'mapped', [51, 49]], - [[12892, 12892], 'mapped', [51, 50]], - [[12893, 12893], 'mapped', [51, 51]], - [[12894, 12894], 'mapped', [51, 52]], - [[12895, 12895], 'mapped', [51, 53]], - [[12896, 12896], 'mapped', [4352]], - [[12897, 12897], 'mapped', [4354]], - [[12898, 12898], 'mapped', [4355]], - [[12899, 12899], 'mapped', [4357]], - [[12900, 12900], 'mapped', [4358]], - [[12901, 12901], 'mapped', [4359]], - [[12902, 12902], 'mapped', [4361]], - [[12903, 12903], 'mapped', [4363]], - [[12904, 12904], 'mapped', [4364]], - [[12905, 12905], 'mapped', [4366]], - [[12906, 12906], 'mapped', [4367]], - [[12907, 12907], 'mapped', [4368]], - [[12908, 12908], 'mapped', [4369]], - [[12909, 12909], 'mapped', [4370]], - [[12910, 12910], 'mapped', [44032]], - [[12911, 12911], 'mapped', [45208]], - [[12912, 12912], 'mapped', [45796]], - [[12913, 12913], 'mapped', [46972]], - [[12914, 12914], 'mapped', [47560]], - [[12915, 12915], 'mapped', [48148]], - [[12916, 12916], 'mapped', [49324]], - [[12917, 12917], 'mapped', [50500]], - [[12918, 12918], 'mapped', [51088]], - [[12919, 12919], 'mapped', [52264]], - [[12920, 12920], 'mapped', [52852]], - [[12921, 12921], 'mapped', [53440]], - [[12922, 12922], 'mapped', [54028]], - [[12923, 12923], 'mapped', [54616]], - [[12924, 12924], 'mapped', [52280, 44256]], - [[12925, 12925], 'mapped', [51452, 51032]], - [[12926, 12926], 'mapped', [50864]], - [[12927, 12927], 'valid', [], 'NV8'], - [[12928, 12928], 'mapped', [19968]], - [[12929, 12929], 'mapped', [20108]], - [[12930, 12930], 'mapped', [19977]], - [[12931, 12931], 'mapped', [22235]], - [[12932, 12932], 'mapped', [20116]], - [[12933, 12933], 'mapped', [20845]], - [[12934, 12934], 'mapped', [19971]], - [[12935, 12935], 'mapped', [20843]], - [[12936, 12936], 'mapped', [20061]], - [[12937, 12937], 'mapped', [21313]], - [[12938, 12938], 'mapped', [26376]], - [[12939, 12939], 'mapped', [28779]], - [[12940, 12940], 'mapped', [27700]], - [[12941, 12941], 'mapped', [26408]], - [[12942, 12942], 'mapped', [37329]], - [[12943, 12943], 'mapped', [22303]], - [[12944, 12944], 'mapped', [26085]], - [[12945, 12945], 'mapped', [26666]], - [[12946, 12946], 'mapped', [26377]], - [[12947, 12947], 'mapped', [31038]], - [[12948, 12948], 'mapped', [21517]], - [[12949, 12949], 'mapped', [29305]], - [[12950, 12950], 'mapped', [36001]], - [[12951, 12951], 'mapped', [31069]], - [[12952, 12952], 'mapped', [21172]], - [[12953, 12953], 'mapped', [31192]], - [[12954, 12954], 'mapped', [30007]], - [[12955, 12955], 'mapped', [22899]], - [[12956, 12956], 'mapped', [36969]], - [[12957, 12957], 'mapped', [20778]], - [[12958, 12958], 'mapped', [21360]], - [[12959, 12959], 'mapped', [27880]], - [[12960, 12960], 'mapped', [38917]], - [[12961, 12961], 'mapped', [20241]], - [[12962, 12962], 'mapped', [20889]], - [[12963, 12963], 'mapped', [27491]], - [[12964, 12964], 'mapped', [19978]], - [[12965, 12965], 'mapped', [20013]], - [[12966, 12966], 'mapped', [19979]], - [[12967, 12967], 'mapped', [24038]], - [[12968, 12968], 'mapped', [21491]], - [[12969, 12969], 'mapped', [21307]], - [[12970, 12970], 'mapped', [23447]], - [[12971, 12971], 'mapped', [23398]], - [[12972, 12972], 'mapped', [30435]], - [[12973, 12973], 'mapped', [20225]], - [[12974, 12974], 'mapped', [36039]], - [[12975, 12975], 'mapped', [21332]], - [[12976, 12976], 'mapped', [22812]], - [[12977, 12977], 'mapped', [51, 54]], - [[12978, 12978], 'mapped', [51, 55]], - [[12979, 12979], 'mapped', [51, 56]], - [[12980, 12980], 'mapped', [51, 57]], - [[12981, 12981], 'mapped', [52, 48]], - [[12982, 12982], 'mapped', [52, 49]], - [[12983, 12983], 'mapped', [52, 50]], - [[12984, 12984], 'mapped', [52, 51]], - [[12985, 12985], 'mapped', [52, 52]], - [[12986, 12986], 'mapped', [52, 53]], - [[12987, 12987], 'mapped', [52, 54]], - [[12988, 12988], 'mapped', [52, 55]], - [[12989, 12989], 'mapped', [52, 56]], - [[12990, 12990], 'mapped', [52, 57]], - [[12991, 12991], 'mapped', [53, 48]], - [[12992, 12992], 'mapped', [49, 26376]], - [[12993, 12993], 'mapped', [50, 26376]], - [[12994, 12994], 'mapped', [51, 26376]], - [[12995, 12995], 'mapped', [52, 26376]], - [[12996, 12996], 'mapped', [53, 26376]], - [[12997, 12997], 'mapped', [54, 26376]], - [[12998, 12998], 'mapped', [55, 26376]], - [[12999, 12999], 'mapped', [56, 26376]], - [[13e3, 13e3], 'mapped', [57, 26376]], - [[13001, 13001], 'mapped', [49, 48, 26376]], - [[13002, 13002], 'mapped', [49, 49, 26376]], - [[13003, 13003], 'mapped', [49, 50, 26376]], - [[13004, 13004], 'mapped', [104, 103]], - [[13005, 13005], 'mapped', [101, 114, 103]], - [[13006, 13006], 'mapped', [101, 118]], - [[13007, 13007], 'mapped', [108, 116, 100]], - [[13008, 13008], 'mapped', [12450]], - [[13009, 13009], 'mapped', [12452]], - [[13010, 13010], 'mapped', [12454]], - [[13011, 13011], 'mapped', [12456]], - [[13012, 13012], 'mapped', [12458]], - [[13013, 13013], 'mapped', [12459]], - [[13014, 13014], 'mapped', [12461]], - [[13015, 13015], 'mapped', [12463]], - [[13016, 13016], 'mapped', [12465]], - [[13017, 13017], 'mapped', [12467]], - [[13018, 13018], 'mapped', [12469]], - [[13019, 13019], 'mapped', [12471]], - [[13020, 13020], 'mapped', [12473]], - [[13021, 13021], 'mapped', [12475]], - [[13022, 13022], 'mapped', [12477]], - [[13023, 13023], 'mapped', [12479]], - [[13024, 13024], 'mapped', [12481]], - [[13025, 13025], 'mapped', [12484]], - [[13026, 13026], 'mapped', [12486]], - [[13027, 13027], 'mapped', [12488]], - [[13028, 13028], 'mapped', [12490]], - [[13029, 13029], 'mapped', [12491]], - [[13030, 13030], 'mapped', [12492]], - [[13031, 13031], 'mapped', [12493]], - [[13032, 13032], 'mapped', [12494]], - [[13033, 13033], 'mapped', [12495]], - [[13034, 13034], 'mapped', [12498]], - [[13035, 13035], 'mapped', [12501]], - [[13036, 13036], 'mapped', [12504]], - [[13037, 13037], 'mapped', [12507]], - [[13038, 13038], 'mapped', [12510]], - [[13039, 13039], 'mapped', [12511]], - [[13040, 13040], 'mapped', [12512]], - [[13041, 13041], 'mapped', [12513]], - [[13042, 13042], 'mapped', [12514]], - [[13043, 13043], 'mapped', [12516]], - [[13044, 13044], 'mapped', [12518]], - [[13045, 13045], 'mapped', [12520]], - [[13046, 13046], 'mapped', [12521]], - [[13047, 13047], 'mapped', [12522]], - [[13048, 13048], 'mapped', [12523]], - [[13049, 13049], 'mapped', [12524]], - [[13050, 13050], 'mapped', [12525]], - [[13051, 13051], 'mapped', [12527]], - [[13052, 13052], 'mapped', [12528]], - [[13053, 13053], 'mapped', [12529]], - [[13054, 13054], 'mapped', [12530]], - [[13055, 13055], 'disallowed'], - [[13056, 13056], 'mapped', [12450, 12497, 12540, 12488]], - [[13057, 13057], 'mapped', [12450, 12523, 12501, 12449]], - [[13058, 13058], 'mapped', [12450, 12531, 12506, 12450]], - [[13059, 13059], 'mapped', [12450, 12540, 12523]], - [[13060, 13060], 'mapped', [12452, 12491, 12531, 12464]], - [[13061, 13061], 'mapped', [12452, 12531, 12481]], - [[13062, 13062], 'mapped', [12454, 12457, 12531]], - [[13063, 13063], 'mapped', [12456, 12473, 12463, 12540, 12489]], - [[13064, 13064], 'mapped', [12456, 12540, 12459, 12540]], - [[13065, 13065], 'mapped', [12458, 12531, 12473]], - [[13066, 13066], 'mapped', [12458, 12540, 12512]], - [[13067, 13067], 'mapped', [12459, 12452, 12522]], - [[13068, 13068], 'mapped', [12459, 12521, 12483, 12488]], - [[13069, 13069], 'mapped', [12459, 12525, 12522, 12540]], - [[13070, 13070], 'mapped', [12460, 12525, 12531]], - [[13071, 13071], 'mapped', [12460, 12531, 12510]], - [[13072, 13072], 'mapped', [12462, 12460]], - [[13073, 13073], 'mapped', [12462, 12491, 12540]], - [[13074, 13074], 'mapped', [12461, 12517, 12522, 12540]], - [[13075, 13075], 'mapped', [12462, 12523, 12480, 12540]], - [[13076, 13076], 'mapped', [12461, 12525]], - [[13077, 13077], 'mapped', [12461, 12525, 12464, 12521, 12512]], - [[13078, 13078], 'mapped', [12461, 12525, 12513, 12540, 12488, 12523]], - [[13079, 13079], 'mapped', [12461, 12525, 12527, 12483, 12488]], - [[13080, 13080], 'mapped', [12464, 12521, 12512]], - [[13081, 13081], 'mapped', [12464, 12521, 12512, 12488, 12531]], - [[13082, 13082], 'mapped', [12463, 12523, 12476, 12452, 12525]], - [[13083, 13083], 'mapped', [12463, 12525, 12540, 12493]], - [[13084, 13084], 'mapped', [12465, 12540, 12473]], - [[13085, 13085], 'mapped', [12467, 12523, 12490]], - [[13086, 13086], 'mapped', [12467, 12540, 12509]], - [[13087, 13087], 'mapped', [12469, 12452, 12463, 12523]], - [[13088, 13088], 'mapped', [12469, 12531, 12481, 12540, 12512]], - [[13089, 13089], 'mapped', [12471, 12522, 12531, 12464]], - [[13090, 13090], 'mapped', [12475, 12531, 12481]], - [[13091, 13091], 'mapped', [12475, 12531, 12488]], - [[13092, 13092], 'mapped', [12480, 12540, 12473]], - [[13093, 13093], 'mapped', [12487, 12471]], - [[13094, 13094], 'mapped', [12489, 12523]], - [[13095, 13095], 'mapped', [12488, 12531]], - [[13096, 13096], 'mapped', [12490, 12494]], - [[13097, 13097], 'mapped', [12494, 12483, 12488]], - [[13098, 13098], 'mapped', [12495, 12452, 12484]], - [[13099, 13099], 'mapped', [12497, 12540, 12475, 12531, 12488]], - [[13100, 13100], 'mapped', [12497, 12540, 12484]], - [[13101, 13101], 'mapped', [12496, 12540, 12524, 12523]], - [[13102, 13102], 'mapped', [12500, 12450, 12473, 12488, 12523]], - [[13103, 13103], 'mapped', [12500, 12463, 12523]], - [[13104, 13104], 'mapped', [12500, 12467]], - [[13105, 13105], 'mapped', [12499, 12523]], - [[13106, 13106], 'mapped', [12501, 12449, 12521, 12483, 12489]], - [[13107, 13107], 'mapped', [12501, 12451, 12540, 12488]], - [[13108, 13108], 'mapped', [12502, 12483, 12471, 12455, 12523]], - [[13109, 13109], 'mapped', [12501, 12521, 12531]], - [[13110, 13110], 'mapped', [12504, 12463, 12479, 12540, 12523]], - [[13111, 13111], 'mapped', [12506, 12477]], - [[13112, 13112], 'mapped', [12506, 12491, 12498]], - [[13113, 13113], 'mapped', [12504, 12523, 12484]], - [[13114, 13114], 'mapped', [12506, 12531, 12473]], - [[13115, 13115], 'mapped', [12506, 12540, 12472]], - [[13116, 13116], 'mapped', [12505, 12540, 12479]], - [[13117, 13117], 'mapped', [12509, 12452, 12531, 12488]], - [[13118, 13118], 'mapped', [12508, 12523, 12488]], - [[13119, 13119], 'mapped', [12507, 12531]], - [[13120, 13120], 'mapped', [12509, 12531, 12489]], - [[13121, 13121], 'mapped', [12507, 12540, 12523]], - [[13122, 13122], 'mapped', [12507, 12540, 12531]], - [[13123, 13123], 'mapped', [12510, 12452, 12463, 12525]], - [[13124, 13124], 'mapped', [12510, 12452, 12523]], - [[13125, 13125], 'mapped', [12510, 12483, 12495]], - [[13126, 13126], 'mapped', [12510, 12523, 12463]], - [[13127, 13127], 'mapped', [12510, 12531, 12471, 12519, 12531]], - [[13128, 13128], 'mapped', [12511, 12463, 12525, 12531]], - [[13129, 13129], 'mapped', [12511, 12522]], - [[13130, 13130], 'mapped', [12511, 12522, 12496, 12540, 12523]], - [[13131, 13131], 'mapped', [12513, 12460]], - [[13132, 13132], 'mapped', [12513, 12460, 12488, 12531]], - [[13133, 13133], 'mapped', [12513, 12540, 12488, 12523]], - [[13134, 13134], 'mapped', [12516, 12540, 12489]], - [[13135, 13135], 'mapped', [12516, 12540, 12523]], - [[13136, 13136], 'mapped', [12518, 12450, 12531]], - [[13137, 13137], 'mapped', [12522, 12483, 12488, 12523]], - [[13138, 13138], 'mapped', [12522, 12521]], - [[13139, 13139], 'mapped', [12523, 12500, 12540]], - [[13140, 13140], 'mapped', [12523, 12540, 12502, 12523]], - [[13141, 13141], 'mapped', [12524, 12512]], - [[13142, 13142], 'mapped', [12524, 12531, 12488, 12466, 12531]], - [[13143, 13143], 'mapped', [12527, 12483, 12488]], - [[13144, 13144], 'mapped', [48, 28857]], - [[13145, 13145], 'mapped', [49, 28857]], - [[13146, 13146], 'mapped', [50, 28857]], - [[13147, 13147], 'mapped', [51, 28857]], - [[13148, 13148], 'mapped', [52, 28857]], - [[13149, 13149], 'mapped', [53, 28857]], - [[13150, 13150], 'mapped', [54, 28857]], - [[13151, 13151], 'mapped', [55, 28857]], - [[13152, 13152], 'mapped', [56, 28857]], - [[13153, 13153], 'mapped', [57, 28857]], - [[13154, 13154], 'mapped', [49, 48, 28857]], - [[13155, 13155], 'mapped', [49, 49, 28857]], - [[13156, 13156], 'mapped', [49, 50, 28857]], - [[13157, 13157], 'mapped', [49, 51, 28857]], - [[13158, 13158], 'mapped', [49, 52, 28857]], - [[13159, 13159], 'mapped', [49, 53, 28857]], - [[13160, 13160], 'mapped', [49, 54, 28857]], - [[13161, 13161], 'mapped', [49, 55, 28857]], - [[13162, 13162], 'mapped', [49, 56, 28857]], - [[13163, 13163], 'mapped', [49, 57, 28857]], - [[13164, 13164], 'mapped', [50, 48, 28857]], - [[13165, 13165], 'mapped', [50, 49, 28857]], - [[13166, 13166], 'mapped', [50, 50, 28857]], - [[13167, 13167], 'mapped', [50, 51, 28857]], - [[13168, 13168], 'mapped', [50, 52, 28857]], - [[13169, 13169], 'mapped', [104, 112, 97]], - [[13170, 13170], 'mapped', [100, 97]], - [[13171, 13171], 'mapped', [97, 117]], - [[13172, 13172], 'mapped', [98, 97, 114]], - [[13173, 13173], 'mapped', [111, 118]], - [[13174, 13174], 'mapped', [112, 99]], - [[13175, 13175], 'mapped', [100, 109]], - [[13176, 13176], 'mapped', [100, 109, 50]], - [[13177, 13177], 'mapped', [100, 109, 51]], - [[13178, 13178], 'mapped', [105, 117]], - [[13179, 13179], 'mapped', [24179, 25104]], - [[13180, 13180], 'mapped', [26157, 21644]], - [[13181, 13181], 'mapped', [22823, 27491]], - [[13182, 13182], 'mapped', [26126, 27835]], - [[13183, 13183], 'mapped', [26666, 24335, 20250, 31038]], - [[13184, 13184], 'mapped', [112, 97]], - [[13185, 13185], 'mapped', [110, 97]], - [[13186, 13186], 'mapped', [956, 97]], - [[13187, 13187], 'mapped', [109, 97]], - [[13188, 13188], 'mapped', [107, 97]], - [[13189, 13189], 'mapped', [107, 98]], - [[13190, 13190], 'mapped', [109, 98]], - [[13191, 13191], 'mapped', [103, 98]], - [[13192, 13192], 'mapped', [99, 97, 108]], - [[13193, 13193], 'mapped', [107, 99, 97, 108]], - [[13194, 13194], 'mapped', [112, 102]], - [[13195, 13195], 'mapped', [110, 102]], - [[13196, 13196], 'mapped', [956, 102]], - [[13197, 13197], 'mapped', [956, 103]], - [[13198, 13198], 'mapped', [109, 103]], - [[13199, 13199], 'mapped', [107, 103]], - [[13200, 13200], 'mapped', [104, 122]], - [[13201, 13201], 'mapped', [107, 104, 122]], - [[13202, 13202], 'mapped', [109, 104, 122]], - [[13203, 13203], 'mapped', [103, 104, 122]], - [[13204, 13204], 'mapped', [116, 104, 122]], - [[13205, 13205], 'mapped', [956, 108]], - [[13206, 13206], 'mapped', [109, 108]], - [[13207, 13207], 'mapped', [100, 108]], - [[13208, 13208], 'mapped', [107, 108]], - [[13209, 13209], 'mapped', [102, 109]], - [[13210, 13210], 'mapped', [110, 109]], - [[13211, 13211], 'mapped', [956, 109]], - [[13212, 13212], 'mapped', [109, 109]], - [[13213, 13213], 'mapped', [99, 109]], - [[13214, 13214], 'mapped', [107, 109]], - [[13215, 13215], 'mapped', [109, 109, 50]], - [[13216, 13216], 'mapped', [99, 109, 50]], - [[13217, 13217], 'mapped', [109, 50]], - [[13218, 13218], 'mapped', [107, 109, 50]], - [[13219, 13219], 'mapped', [109, 109, 51]], - [[13220, 13220], 'mapped', [99, 109, 51]], - [[13221, 13221], 'mapped', [109, 51]], - [[13222, 13222], 'mapped', [107, 109, 51]], - [[13223, 13223], 'mapped', [109, 8725, 115]], - [[13224, 13224], 'mapped', [109, 8725, 115, 50]], - [[13225, 13225], 'mapped', [112, 97]], - [[13226, 13226], 'mapped', [107, 112, 97]], - [[13227, 13227], 'mapped', [109, 112, 97]], - [[13228, 13228], 'mapped', [103, 112, 97]], - [[13229, 13229], 'mapped', [114, 97, 100]], - [[13230, 13230], 'mapped', [114, 97, 100, 8725, 115]], - [[13231, 13231], 'mapped', [114, 97, 100, 8725, 115, 50]], - [[13232, 13232], 'mapped', [112, 115]], - [[13233, 13233], 'mapped', [110, 115]], - [[13234, 13234], 'mapped', [956, 115]], - [[13235, 13235], 'mapped', [109, 115]], - [[13236, 13236], 'mapped', [112, 118]], - [[13237, 13237], 'mapped', [110, 118]], - [[13238, 13238], 'mapped', [956, 118]], - [[13239, 13239], 'mapped', [109, 118]], - [[13240, 13240], 'mapped', [107, 118]], - [[13241, 13241], 'mapped', [109, 118]], - [[13242, 13242], 'mapped', [112, 119]], - [[13243, 13243], 'mapped', [110, 119]], - [[13244, 13244], 'mapped', [956, 119]], - [[13245, 13245], 'mapped', [109, 119]], - [[13246, 13246], 'mapped', [107, 119]], - [[13247, 13247], 'mapped', [109, 119]], - [[13248, 13248], 'mapped', [107, 969]], - [[13249, 13249], 'mapped', [109, 969]], - [[13250, 13250], 'disallowed'], - [[13251, 13251], 'mapped', [98, 113]], - [[13252, 13252], 'mapped', [99, 99]], - [[13253, 13253], 'mapped', [99, 100]], - [[13254, 13254], 'mapped', [99, 8725, 107, 103]], - [[13255, 13255], 'disallowed'], - [[13256, 13256], 'mapped', [100, 98]], - [[13257, 13257], 'mapped', [103, 121]], - [[13258, 13258], 'mapped', [104, 97]], - [[13259, 13259], 'mapped', [104, 112]], - [[13260, 13260], 'mapped', [105, 110]], - [[13261, 13261], 'mapped', [107, 107]], - [[13262, 13262], 'mapped', [107, 109]], - [[13263, 13263], 'mapped', [107, 116]], - [[13264, 13264], 'mapped', [108, 109]], - [[13265, 13265], 'mapped', [108, 110]], - [[13266, 13266], 'mapped', [108, 111, 103]], - [[13267, 13267], 'mapped', [108, 120]], - [[13268, 13268], 'mapped', [109, 98]], - [[13269, 13269], 'mapped', [109, 105, 108]], - [[13270, 13270], 'mapped', [109, 111, 108]], - [[13271, 13271], 'mapped', [112, 104]], - [[13272, 13272], 'disallowed'], - [[13273, 13273], 'mapped', [112, 112, 109]], - [[13274, 13274], 'mapped', [112, 114]], - [[13275, 13275], 'mapped', [115, 114]], - [[13276, 13276], 'mapped', [115, 118]], - [[13277, 13277], 'mapped', [119, 98]], - [[13278, 13278], 'mapped', [118, 8725, 109]], - [[13279, 13279], 'mapped', [97, 8725, 109]], - [[13280, 13280], 'mapped', [49, 26085]], - [[13281, 13281], 'mapped', [50, 26085]], - [[13282, 13282], 'mapped', [51, 26085]], - [[13283, 13283], 'mapped', [52, 26085]], - [[13284, 13284], 'mapped', [53, 26085]], - [[13285, 13285], 'mapped', [54, 26085]], - [[13286, 13286], 'mapped', [55, 26085]], - [[13287, 13287], 'mapped', [56, 26085]], - [[13288, 13288], 'mapped', [57, 26085]], - [[13289, 13289], 'mapped', [49, 48, 26085]], - [[13290, 13290], 'mapped', [49, 49, 26085]], - [[13291, 13291], 'mapped', [49, 50, 26085]], - [[13292, 13292], 'mapped', [49, 51, 26085]], - [[13293, 13293], 'mapped', [49, 52, 26085]], - [[13294, 13294], 'mapped', [49, 53, 26085]], - [[13295, 13295], 'mapped', [49, 54, 26085]], - [[13296, 13296], 'mapped', [49, 55, 26085]], - [[13297, 13297], 'mapped', [49, 56, 26085]], - [[13298, 13298], 'mapped', [49, 57, 26085]], - [[13299, 13299], 'mapped', [50, 48, 26085]], - [[13300, 13300], 'mapped', [50, 49, 26085]], - [[13301, 13301], 'mapped', [50, 50, 26085]], - [[13302, 13302], 'mapped', [50, 51, 26085]], - [[13303, 13303], 'mapped', [50, 52, 26085]], - [[13304, 13304], 'mapped', [50, 53, 26085]], - [[13305, 13305], 'mapped', [50, 54, 26085]], - [[13306, 13306], 'mapped', [50, 55, 26085]], - [[13307, 13307], 'mapped', [50, 56, 26085]], - [[13308, 13308], 'mapped', [50, 57, 26085]], - [[13309, 13309], 'mapped', [51, 48, 26085]], - [[13310, 13310], 'mapped', [51, 49, 26085]], - [[13311, 13311], 'mapped', [103, 97, 108]], - [[13312, 19893], 'valid'], - [[19894, 19903], 'disallowed'], - [[19904, 19967], 'valid', [], 'NV8'], - [[19968, 40869], 'valid'], - [[40870, 40891], 'valid'], - [[40892, 40899], 'valid'], - [[40900, 40907], 'valid'], - [[40908, 40908], 'valid'], - [[40909, 40917], 'valid'], - [[40918, 40959], 'disallowed'], - [[40960, 42124], 'valid'], - [[42125, 42127], 'disallowed'], - [[42128, 42145], 'valid', [], 'NV8'], - [[42146, 42147], 'valid', [], 'NV8'], - [[42148, 42163], 'valid', [], 'NV8'], - [[42164, 42164], 'valid', [], 'NV8'], - [[42165, 42176], 'valid', [], 'NV8'], - [[42177, 42177], 'valid', [], 'NV8'], - [[42178, 42180], 'valid', [], 'NV8'], - [[42181, 42181], 'valid', [], 'NV8'], - [[42182, 42182], 'valid', [], 'NV8'], - [[42183, 42191], 'disallowed'], - [[42192, 42237], 'valid'], - [[42238, 42239], 'valid', [], 'NV8'], - [[42240, 42508], 'valid'], - [[42509, 42511], 'valid', [], 'NV8'], - [[42512, 42539], 'valid'], - [[42540, 42559], 'disallowed'], - [[42560, 42560], 'mapped', [42561]], - [[42561, 42561], 'valid'], - [[42562, 42562], 'mapped', [42563]], - [[42563, 42563], 'valid'], - [[42564, 42564], 'mapped', [42565]], - [[42565, 42565], 'valid'], - [[42566, 42566], 'mapped', [42567]], - [[42567, 42567], 'valid'], - [[42568, 42568], 'mapped', [42569]], - [[42569, 42569], 'valid'], - [[42570, 42570], 'mapped', [42571]], - [[42571, 42571], 'valid'], - [[42572, 42572], 'mapped', [42573]], - [[42573, 42573], 'valid'], - [[42574, 42574], 'mapped', [42575]], - [[42575, 42575], 'valid'], - [[42576, 42576], 'mapped', [42577]], - [[42577, 42577], 'valid'], - [[42578, 42578], 'mapped', [42579]], - [[42579, 42579], 'valid'], - [[42580, 42580], 'mapped', [42581]], - [[42581, 42581], 'valid'], - [[42582, 42582], 'mapped', [42583]], - [[42583, 42583], 'valid'], - [[42584, 42584], 'mapped', [42585]], - [[42585, 42585], 'valid'], - [[42586, 42586], 'mapped', [42587]], - [[42587, 42587], 'valid'], - [[42588, 42588], 'mapped', [42589]], - [[42589, 42589], 'valid'], - [[42590, 42590], 'mapped', [42591]], - [[42591, 42591], 'valid'], - [[42592, 42592], 'mapped', [42593]], - [[42593, 42593], 'valid'], - [[42594, 42594], 'mapped', [42595]], - [[42595, 42595], 'valid'], - [[42596, 42596], 'mapped', [42597]], - [[42597, 42597], 'valid'], - [[42598, 42598], 'mapped', [42599]], - [[42599, 42599], 'valid'], - [[42600, 42600], 'mapped', [42601]], - [[42601, 42601], 'valid'], - [[42602, 42602], 'mapped', [42603]], - [[42603, 42603], 'valid'], - [[42604, 42604], 'mapped', [42605]], - [[42605, 42607], 'valid'], - [[42608, 42611], 'valid', [], 'NV8'], - [[42612, 42619], 'valid'], - [[42620, 42621], 'valid'], - [[42622, 42622], 'valid', [], 'NV8'], - [[42623, 42623], 'valid'], - [[42624, 42624], 'mapped', [42625]], - [[42625, 42625], 'valid'], - [[42626, 42626], 'mapped', [42627]], - [[42627, 42627], 'valid'], - [[42628, 42628], 'mapped', [42629]], - [[42629, 42629], 'valid'], - [[42630, 42630], 'mapped', [42631]], - [[42631, 42631], 'valid'], - [[42632, 42632], 'mapped', [42633]], - [[42633, 42633], 'valid'], - [[42634, 42634], 'mapped', [42635]], - [[42635, 42635], 'valid'], - [[42636, 42636], 'mapped', [42637]], - [[42637, 42637], 'valid'], - [[42638, 42638], 'mapped', [42639]], - [[42639, 42639], 'valid'], - [[42640, 42640], 'mapped', [42641]], - [[42641, 42641], 'valid'], - [[42642, 42642], 'mapped', [42643]], - [[42643, 42643], 'valid'], - [[42644, 42644], 'mapped', [42645]], - [[42645, 42645], 'valid'], - [[42646, 42646], 'mapped', [42647]], - [[42647, 42647], 'valid'], - [[42648, 42648], 'mapped', [42649]], - [[42649, 42649], 'valid'], - [[42650, 42650], 'mapped', [42651]], - [[42651, 42651], 'valid'], - [[42652, 42652], 'mapped', [1098]], - [[42653, 42653], 'mapped', [1100]], - [[42654, 42654], 'valid'], - [[42655, 42655], 'valid'], - [[42656, 42725], 'valid'], - [[42726, 42735], 'valid', [], 'NV8'], - [[42736, 42737], 'valid'], - [[42738, 42743], 'valid', [], 'NV8'], - [[42744, 42751], 'disallowed'], - [[42752, 42774], 'valid', [], 'NV8'], - [[42775, 42778], 'valid'], - [[42779, 42783], 'valid'], - [[42784, 42785], 'valid', [], 'NV8'], - [[42786, 42786], 'mapped', [42787]], - [[42787, 42787], 'valid'], - [[42788, 42788], 'mapped', [42789]], - [[42789, 42789], 'valid'], - [[42790, 42790], 'mapped', [42791]], - [[42791, 42791], 'valid'], - [[42792, 42792], 'mapped', [42793]], - [[42793, 42793], 'valid'], - [[42794, 42794], 'mapped', [42795]], - [[42795, 42795], 'valid'], - [[42796, 42796], 'mapped', [42797]], - [[42797, 42797], 'valid'], - [[42798, 42798], 'mapped', [42799]], - [[42799, 42801], 'valid'], - [[42802, 42802], 'mapped', [42803]], - [[42803, 42803], 'valid'], - [[42804, 42804], 'mapped', [42805]], - [[42805, 42805], 'valid'], - [[42806, 42806], 'mapped', [42807]], - [[42807, 42807], 'valid'], - [[42808, 42808], 'mapped', [42809]], - [[42809, 42809], 'valid'], - [[42810, 42810], 'mapped', [42811]], - [[42811, 42811], 'valid'], - [[42812, 42812], 'mapped', [42813]], - [[42813, 42813], 'valid'], - [[42814, 42814], 'mapped', [42815]], - [[42815, 42815], 'valid'], - [[42816, 42816], 'mapped', [42817]], - [[42817, 42817], 'valid'], - [[42818, 42818], 'mapped', [42819]], - [[42819, 42819], 'valid'], - [[42820, 42820], 'mapped', [42821]], - [[42821, 42821], 'valid'], - [[42822, 42822], 'mapped', [42823]], - [[42823, 42823], 'valid'], - [[42824, 42824], 'mapped', [42825]], - [[42825, 42825], 'valid'], - [[42826, 42826], 'mapped', [42827]], - [[42827, 42827], 'valid'], - [[42828, 42828], 'mapped', [42829]], - [[42829, 42829], 'valid'], - [[42830, 42830], 'mapped', [42831]], - [[42831, 42831], 'valid'], - [[42832, 42832], 'mapped', [42833]], - [[42833, 42833], 'valid'], - [[42834, 42834], 'mapped', [42835]], - [[42835, 42835], 'valid'], - [[42836, 42836], 'mapped', [42837]], - [[42837, 42837], 'valid'], - [[42838, 42838], 'mapped', [42839]], - [[42839, 42839], 'valid'], - [[42840, 42840], 'mapped', [42841]], - [[42841, 42841], 'valid'], - [[42842, 42842], 'mapped', [42843]], - [[42843, 42843], 'valid'], - [[42844, 42844], 'mapped', [42845]], - [[42845, 42845], 'valid'], - [[42846, 42846], 'mapped', [42847]], - [[42847, 42847], 'valid'], - [[42848, 42848], 'mapped', [42849]], - [[42849, 42849], 'valid'], - [[42850, 42850], 'mapped', [42851]], - [[42851, 42851], 'valid'], - [[42852, 42852], 'mapped', [42853]], - [[42853, 42853], 'valid'], - [[42854, 42854], 'mapped', [42855]], - [[42855, 42855], 'valid'], - [[42856, 42856], 'mapped', [42857]], - [[42857, 42857], 'valid'], - [[42858, 42858], 'mapped', [42859]], - [[42859, 42859], 'valid'], - [[42860, 42860], 'mapped', [42861]], - [[42861, 42861], 'valid'], - [[42862, 42862], 'mapped', [42863]], - [[42863, 42863], 'valid'], - [[42864, 42864], 'mapped', [42863]], - [[42865, 42872], 'valid'], - [[42873, 42873], 'mapped', [42874]], - [[42874, 42874], 'valid'], - [[42875, 42875], 'mapped', [42876]], - [[42876, 42876], 'valid'], - [[42877, 42877], 'mapped', [7545]], - [[42878, 42878], 'mapped', [42879]], - [[42879, 42879], 'valid'], - [[42880, 42880], 'mapped', [42881]], - [[42881, 42881], 'valid'], - [[42882, 42882], 'mapped', [42883]], - [[42883, 42883], 'valid'], - [[42884, 42884], 'mapped', [42885]], - [[42885, 42885], 'valid'], - [[42886, 42886], 'mapped', [42887]], - [[42887, 42888], 'valid'], - [[42889, 42890], 'valid', [], 'NV8'], - [[42891, 42891], 'mapped', [42892]], - [[42892, 42892], 'valid'], - [[42893, 42893], 'mapped', [613]], - [[42894, 42894], 'valid'], - [[42895, 42895], 'valid'], - [[42896, 42896], 'mapped', [42897]], - [[42897, 42897], 'valid'], - [[42898, 42898], 'mapped', [42899]], - [[42899, 42899], 'valid'], - [[42900, 42901], 'valid'], - [[42902, 42902], 'mapped', [42903]], - [[42903, 42903], 'valid'], - [[42904, 42904], 'mapped', [42905]], - [[42905, 42905], 'valid'], - [[42906, 42906], 'mapped', [42907]], - [[42907, 42907], 'valid'], - [[42908, 42908], 'mapped', [42909]], - [[42909, 42909], 'valid'], - [[42910, 42910], 'mapped', [42911]], - [[42911, 42911], 'valid'], - [[42912, 42912], 'mapped', [42913]], - [[42913, 42913], 'valid'], - [[42914, 42914], 'mapped', [42915]], - [[42915, 42915], 'valid'], - [[42916, 42916], 'mapped', [42917]], - [[42917, 42917], 'valid'], - [[42918, 42918], 'mapped', [42919]], - [[42919, 42919], 'valid'], - [[42920, 42920], 'mapped', [42921]], - [[42921, 42921], 'valid'], - [[42922, 42922], 'mapped', [614]], - [[42923, 42923], 'mapped', [604]], - [[42924, 42924], 'mapped', [609]], - [[42925, 42925], 'mapped', [620]], - [[42926, 42927], 'disallowed'], - [[42928, 42928], 'mapped', [670]], - [[42929, 42929], 'mapped', [647]], - [[42930, 42930], 'mapped', [669]], - [[42931, 42931], 'mapped', [43859]], - [[42932, 42932], 'mapped', [42933]], - [[42933, 42933], 'valid'], - [[42934, 42934], 'mapped', [42935]], - [[42935, 42935], 'valid'], - [[42936, 42998], 'disallowed'], - [[42999, 42999], 'valid'], - [[43e3, 43e3], 'mapped', [295]], - [[43001, 43001], 'mapped', [339]], - [[43002, 43002], 'valid'], - [[43003, 43007], 'valid'], - [[43008, 43047], 'valid'], - [[43048, 43051], 'valid', [], 'NV8'], - [[43052, 43055], 'disallowed'], - [[43056, 43065], 'valid', [], 'NV8'], - [[43066, 43071], 'disallowed'], - [[43072, 43123], 'valid'], - [[43124, 43127], 'valid', [], 'NV8'], - [[43128, 43135], 'disallowed'], - [[43136, 43204], 'valid'], - [[43205, 43213], 'disallowed'], - [[43214, 43215], 'valid', [], 'NV8'], - [[43216, 43225], 'valid'], - [[43226, 43231], 'disallowed'], - [[43232, 43255], 'valid'], - [[43256, 43258], 'valid', [], 'NV8'], - [[43259, 43259], 'valid'], - [[43260, 43260], 'valid', [], 'NV8'], - [[43261, 43261], 'valid'], - [[43262, 43263], 'disallowed'], - [[43264, 43309], 'valid'], - [[43310, 43311], 'valid', [], 'NV8'], - [[43312, 43347], 'valid'], - [[43348, 43358], 'disallowed'], - [[43359, 43359], 'valid', [], 'NV8'], - [[43360, 43388], 'valid', [], 'NV8'], - [[43389, 43391], 'disallowed'], - [[43392, 43456], 'valid'], - [[43457, 43469], 'valid', [], 'NV8'], - [[43470, 43470], 'disallowed'], - [[43471, 43481], 'valid'], - [[43482, 43485], 'disallowed'], - [[43486, 43487], 'valid', [], 'NV8'], - [[43488, 43518], 'valid'], - [[43519, 43519], 'disallowed'], - [[43520, 43574], 'valid'], - [[43575, 43583], 'disallowed'], - [[43584, 43597], 'valid'], - [[43598, 43599], 'disallowed'], - [[43600, 43609], 'valid'], - [[43610, 43611], 'disallowed'], - [[43612, 43615], 'valid', [], 'NV8'], - [[43616, 43638], 'valid'], - [[43639, 43641], 'valid', [], 'NV8'], - [[43642, 43643], 'valid'], - [[43644, 43647], 'valid'], - [[43648, 43714], 'valid'], - [[43715, 43738], 'disallowed'], - [[43739, 43741], 'valid'], - [[43742, 43743], 'valid', [], 'NV8'], - [[43744, 43759], 'valid'], - [[43760, 43761], 'valid', [], 'NV8'], - [[43762, 43766], 'valid'], - [[43767, 43776], 'disallowed'], - [[43777, 43782], 'valid'], - [[43783, 43784], 'disallowed'], - [[43785, 43790], 'valid'], - [[43791, 43792], 'disallowed'], - [[43793, 43798], 'valid'], - [[43799, 43807], 'disallowed'], - [[43808, 43814], 'valid'], - [[43815, 43815], 'disallowed'], - [[43816, 43822], 'valid'], - [[43823, 43823], 'disallowed'], - [[43824, 43866], 'valid'], - [[43867, 43867], 'valid', [], 'NV8'], - [[43868, 43868], 'mapped', [42791]], - [[43869, 43869], 'mapped', [43831]], - [[43870, 43870], 'mapped', [619]], - [[43871, 43871], 'mapped', [43858]], - [[43872, 43875], 'valid'], - [[43876, 43877], 'valid'], - [[43878, 43887], 'disallowed'], - [[43888, 43888], 'mapped', [5024]], - [[43889, 43889], 'mapped', [5025]], - [[43890, 43890], 'mapped', [5026]], - [[43891, 43891], 'mapped', [5027]], - [[43892, 43892], 'mapped', [5028]], - [[43893, 43893], 'mapped', [5029]], - [[43894, 43894], 'mapped', [5030]], - [[43895, 43895], 'mapped', [5031]], - [[43896, 43896], 'mapped', [5032]], - [[43897, 43897], 'mapped', [5033]], - [[43898, 43898], 'mapped', [5034]], - [[43899, 43899], 'mapped', [5035]], - [[43900, 43900], 'mapped', [5036]], - [[43901, 43901], 'mapped', [5037]], - [[43902, 43902], 'mapped', [5038]], - [[43903, 43903], 'mapped', [5039]], - [[43904, 43904], 'mapped', [5040]], - [[43905, 43905], 'mapped', [5041]], - [[43906, 43906], 'mapped', [5042]], - [[43907, 43907], 'mapped', [5043]], - [[43908, 43908], 'mapped', [5044]], - [[43909, 43909], 'mapped', [5045]], - [[43910, 43910], 'mapped', [5046]], - [[43911, 43911], 'mapped', [5047]], - [[43912, 43912], 'mapped', [5048]], - [[43913, 43913], 'mapped', [5049]], - [[43914, 43914], 'mapped', [5050]], - [[43915, 43915], 'mapped', [5051]], - [[43916, 43916], 'mapped', [5052]], - [[43917, 43917], 'mapped', [5053]], - [[43918, 43918], 'mapped', [5054]], - [[43919, 43919], 'mapped', [5055]], - [[43920, 43920], 'mapped', [5056]], - [[43921, 43921], 'mapped', [5057]], - [[43922, 43922], 'mapped', [5058]], - [[43923, 43923], 'mapped', [5059]], - [[43924, 43924], 'mapped', [5060]], - [[43925, 43925], 'mapped', [5061]], - [[43926, 43926], 'mapped', [5062]], - [[43927, 43927], 'mapped', [5063]], - [[43928, 43928], 'mapped', [5064]], - [[43929, 43929], 'mapped', [5065]], - [[43930, 43930], 'mapped', [5066]], - [[43931, 43931], 'mapped', [5067]], - [[43932, 43932], 'mapped', [5068]], - [[43933, 43933], 'mapped', [5069]], - [[43934, 43934], 'mapped', [5070]], - [[43935, 43935], 'mapped', [5071]], - [[43936, 43936], 'mapped', [5072]], - [[43937, 43937], 'mapped', [5073]], - [[43938, 43938], 'mapped', [5074]], - [[43939, 43939], 'mapped', [5075]], - [[43940, 43940], 'mapped', [5076]], - [[43941, 43941], 'mapped', [5077]], - [[43942, 43942], 'mapped', [5078]], - [[43943, 43943], 'mapped', [5079]], - [[43944, 43944], 'mapped', [5080]], - [[43945, 43945], 'mapped', [5081]], - [[43946, 43946], 'mapped', [5082]], - [[43947, 43947], 'mapped', [5083]], - [[43948, 43948], 'mapped', [5084]], - [[43949, 43949], 'mapped', [5085]], - [[43950, 43950], 'mapped', [5086]], - [[43951, 43951], 'mapped', [5087]], - [[43952, 43952], 'mapped', [5088]], - [[43953, 43953], 'mapped', [5089]], - [[43954, 43954], 'mapped', [5090]], - [[43955, 43955], 'mapped', [5091]], - [[43956, 43956], 'mapped', [5092]], - [[43957, 43957], 'mapped', [5093]], - [[43958, 43958], 'mapped', [5094]], - [[43959, 43959], 'mapped', [5095]], - [[43960, 43960], 'mapped', [5096]], - [[43961, 43961], 'mapped', [5097]], - [[43962, 43962], 'mapped', [5098]], - [[43963, 43963], 'mapped', [5099]], - [[43964, 43964], 'mapped', [5100]], - [[43965, 43965], 'mapped', [5101]], - [[43966, 43966], 'mapped', [5102]], - [[43967, 43967], 'mapped', [5103]], - [[43968, 44010], 'valid'], - [[44011, 44011], 'valid', [], 'NV8'], - [[44012, 44013], 'valid'], - [[44014, 44015], 'disallowed'], - [[44016, 44025], 'valid'], - [[44026, 44031], 'disallowed'], - [[44032, 55203], 'valid'], - [[55204, 55215], 'disallowed'], - [[55216, 55238], 'valid', [], 'NV8'], - [[55239, 55242], 'disallowed'], - [[55243, 55291], 'valid', [], 'NV8'], - [[55292, 55295], 'disallowed'], - [[55296, 57343], 'disallowed'], - [[57344, 63743], 'disallowed'], - [[63744, 63744], 'mapped', [35912]], - [[63745, 63745], 'mapped', [26356]], - [[63746, 63746], 'mapped', [36554]], - [[63747, 63747], 'mapped', [36040]], - [[63748, 63748], 'mapped', [28369]], - [[63749, 63749], 'mapped', [20018]], - [[63750, 63750], 'mapped', [21477]], - [[63751, 63752], 'mapped', [40860]], - [[63753, 63753], 'mapped', [22865]], - [[63754, 63754], 'mapped', [37329]], - [[63755, 63755], 'mapped', [21895]], - [[63756, 63756], 'mapped', [22856]], - [[63757, 63757], 'mapped', [25078]], - [[63758, 63758], 'mapped', [30313]], - [[63759, 63759], 'mapped', [32645]], - [[63760, 63760], 'mapped', [34367]], - [[63761, 63761], 'mapped', [34746]], - [[63762, 63762], 'mapped', [35064]], - [[63763, 63763], 'mapped', [37007]], - [[63764, 63764], 'mapped', [27138]], - [[63765, 63765], 'mapped', [27931]], - [[63766, 63766], 'mapped', [28889]], - [[63767, 63767], 'mapped', [29662]], - [[63768, 63768], 'mapped', [33853]], - [[63769, 63769], 'mapped', [37226]], - [[63770, 63770], 'mapped', [39409]], - [[63771, 63771], 'mapped', [20098]], - [[63772, 63772], 'mapped', [21365]], - [[63773, 63773], 'mapped', [27396]], - [[63774, 63774], 'mapped', [29211]], - [[63775, 63775], 'mapped', [34349]], - [[63776, 63776], 'mapped', [40478]], - [[63777, 63777], 'mapped', [23888]], - [[63778, 63778], 'mapped', [28651]], - [[63779, 63779], 'mapped', [34253]], - [[63780, 63780], 'mapped', [35172]], - [[63781, 63781], 'mapped', [25289]], - [[63782, 63782], 'mapped', [33240]], - [[63783, 63783], 'mapped', [34847]], - [[63784, 63784], 'mapped', [24266]], - [[63785, 63785], 'mapped', [26391]], - [[63786, 63786], 'mapped', [28010]], - [[63787, 63787], 'mapped', [29436]], - [[63788, 63788], 'mapped', [37070]], - [[63789, 63789], 'mapped', [20358]], - [[63790, 63790], 'mapped', [20919]], - [[63791, 63791], 'mapped', [21214]], - [[63792, 63792], 'mapped', [25796]], - [[63793, 63793], 'mapped', [27347]], - [[63794, 63794], 'mapped', [29200]], - [[63795, 63795], 'mapped', [30439]], - [[63796, 63796], 'mapped', [32769]], - [[63797, 63797], 'mapped', [34310]], - [[63798, 63798], 'mapped', [34396]], - [[63799, 63799], 'mapped', [36335]], - [[63800, 63800], 'mapped', [38706]], - [[63801, 63801], 'mapped', [39791]], - [[63802, 63802], 'mapped', [40442]], - [[63803, 63803], 'mapped', [30860]], - [[63804, 63804], 'mapped', [31103]], - [[63805, 63805], 'mapped', [32160]], - [[63806, 63806], 'mapped', [33737]], - [[63807, 63807], 'mapped', [37636]], - [[63808, 63808], 'mapped', [40575]], - [[63809, 63809], 'mapped', [35542]], - [[63810, 63810], 'mapped', [22751]], - [[63811, 63811], 'mapped', [24324]], - [[63812, 63812], 'mapped', [31840]], - [[63813, 63813], 'mapped', [32894]], - [[63814, 63814], 'mapped', [29282]], - [[63815, 63815], 'mapped', [30922]], - [[63816, 63816], 'mapped', [36034]], - [[63817, 63817], 'mapped', [38647]], - [[63818, 63818], 'mapped', [22744]], - [[63819, 63819], 'mapped', [23650]], - [[63820, 63820], 'mapped', [27155]], - [[63821, 63821], 'mapped', [28122]], - [[63822, 63822], 'mapped', [28431]], - [[63823, 63823], 'mapped', [32047]], - [[63824, 63824], 'mapped', [32311]], - [[63825, 63825], 'mapped', [38475]], - [[63826, 63826], 'mapped', [21202]], - [[63827, 63827], 'mapped', [32907]], - [[63828, 63828], 'mapped', [20956]], - [[63829, 63829], 'mapped', [20940]], - [[63830, 63830], 'mapped', [31260]], - [[63831, 63831], 'mapped', [32190]], - [[63832, 63832], 'mapped', [33777]], - [[63833, 63833], 'mapped', [38517]], - [[63834, 63834], 'mapped', [35712]], - [[63835, 63835], 'mapped', [25295]], - [[63836, 63836], 'mapped', [27138]], - [[63837, 63837], 'mapped', [35582]], - [[63838, 63838], 'mapped', [20025]], - [[63839, 63839], 'mapped', [23527]], - [[63840, 63840], 'mapped', [24594]], - [[63841, 63841], 'mapped', [29575]], - [[63842, 63842], 'mapped', [30064]], - [[63843, 63843], 'mapped', [21271]], - [[63844, 63844], 'mapped', [30971]], - [[63845, 63845], 'mapped', [20415]], - [[63846, 63846], 'mapped', [24489]], - [[63847, 63847], 'mapped', [19981]], - [[63848, 63848], 'mapped', [27852]], - [[63849, 63849], 'mapped', [25976]], - [[63850, 63850], 'mapped', [32034]], - [[63851, 63851], 'mapped', [21443]], - [[63852, 63852], 'mapped', [22622]], - [[63853, 63853], 'mapped', [30465]], - [[63854, 63854], 'mapped', [33865]], - [[63855, 63855], 'mapped', [35498]], - [[63856, 63856], 'mapped', [27578]], - [[63857, 63857], 'mapped', [36784]], - [[63858, 63858], 'mapped', [27784]], - [[63859, 63859], 'mapped', [25342]], - [[63860, 63860], 'mapped', [33509]], - [[63861, 63861], 'mapped', [25504]], - [[63862, 63862], 'mapped', [30053]], - [[63863, 63863], 'mapped', [20142]], - [[63864, 63864], 'mapped', [20841]], - [[63865, 63865], 'mapped', [20937]], - [[63866, 63866], 'mapped', [26753]], - [[63867, 63867], 'mapped', [31975]], - [[63868, 63868], 'mapped', [33391]], - [[63869, 63869], 'mapped', [35538]], - [[63870, 63870], 'mapped', [37327]], - [[63871, 63871], 'mapped', [21237]], - [[63872, 63872], 'mapped', [21570]], - [[63873, 63873], 'mapped', [22899]], - [[63874, 63874], 'mapped', [24300]], - [[63875, 63875], 'mapped', [26053]], - [[63876, 63876], 'mapped', [28670]], - [[63877, 63877], 'mapped', [31018]], - [[63878, 63878], 'mapped', [38317]], - [[63879, 63879], 'mapped', [39530]], - [[63880, 63880], 'mapped', [40599]], - [[63881, 63881], 'mapped', [40654]], - [[63882, 63882], 'mapped', [21147]], - [[63883, 63883], 'mapped', [26310]], - [[63884, 63884], 'mapped', [27511]], - [[63885, 63885], 'mapped', [36706]], - [[63886, 63886], 'mapped', [24180]], - [[63887, 63887], 'mapped', [24976]], - [[63888, 63888], 'mapped', [25088]], - [[63889, 63889], 'mapped', [25754]], - [[63890, 63890], 'mapped', [28451]], - [[63891, 63891], 'mapped', [29001]], - [[63892, 63892], 'mapped', [29833]], - [[63893, 63893], 'mapped', [31178]], - [[63894, 63894], 'mapped', [32244]], - [[63895, 63895], 'mapped', [32879]], - [[63896, 63896], 'mapped', [36646]], - [[63897, 63897], 'mapped', [34030]], - [[63898, 63898], 'mapped', [36899]], - [[63899, 63899], 'mapped', [37706]], - [[63900, 63900], 'mapped', [21015]], - [[63901, 63901], 'mapped', [21155]], - [[63902, 63902], 'mapped', [21693]], - [[63903, 63903], 'mapped', [28872]], - [[63904, 63904], 'mapped', [35010]], - [[63905, 63905], 'mapped', [35498]], - [[63906, 63906], 'mapped', [24265]], - [[63907, 63907], 'mapped', [24565]], - [[63908, 63908], 'mapped', [25467]], - [[63909, 63909], 'mapped', [27566]], - [[63910, 63910], 'mapped', [31806]], - [[63911, 63911], 'mapped', [29557]], - [[63912, 63912], 'mapped', [20196]], - [[63913, 63913], 'mapped', [22265]], - [[63914, 63914], 'mapped', [23527]], - [[63915, 63915], 'mapped', [23994]], - [[63916, 63916], 'mapped', [24604]], - [[63917, 63917], 'mapped', [29618]], - [[63918, 63918], 'mapped', [29801]], - [[63919, 63919], 'mapped', [32666]], - [[63920, 63920], 'mapped', [32838]], - [[63921, 63921], 'mapped', [37428]], - [[63922, 63922], 'mapped', [38646]], - [[63923, 63923], 'mapped', [38728]], - [[63924, 63924], 'mapped', [38936]], - [[63925, 63925], 'mapped', [20363]], - [[63926, 63926], 'mapped', [31150]], - [[63927, 63927], 'mapped', [37300]], - [[63928, 63928], 'mapped', [38584]], - [[63929, 63929], 'mapped', [24801]], - [[63930, 63930], 'mapped', [20102]], - [[63931, 63931], 'mapped', [20698]], - [[63932, 63932], 'mapped', [23534]], - [[63933, 63933], 'mapped', [23615]], - [[63934, 63934], 'mapped', [26009]], - [[63935, 63935], 'mapped', [27138]], - [[63936, 63936], 'mapped', [29134]], - [[63937, 63937], 'mapped', [30274]], - [[63938, 63938], 'mapped', [34044]], - [[63939, 63939], 'mapped', [36988]], - [[63940, 63940], 'mapped', [40845]], - [[63941, 63941], 'mapped', [26248]], - [[63942, 63942], 'mapped', [38446]], - [[63943, 63943], 'mapped', [21129]], - [[63944, 63944], 'mapped', [26491]], - [[63945, 63945], 'mapped', [26611]], - [[63946, 63946], 'mapped', [27969]], - [[63947, 63947], 'mapped', [28316]], - [[63948, 63948], 'mapped', [29705]], - [[63949, 63949], 'mapped', [30041]], - [[63950, 63950], 'mapped', [30827]], - [[63951, 63951], 'mapped', [32016]], - [[63952, 63952], 'mapped', [39006]], - [[63953, 63953], 'mapped', [20845]], - [[63954, 63954], 'mapped', [25134]], - [[63955, 63955], 'mapped', [38520]], - [[63956, 63956], 'mapped', [20523]], - [[63957, 63957], 'mapped', [23833]], - [[63958, 63958], 'mapped', [28138]], - [[63959, 63959], 'mapped', [36650]], - [[63960, 63960], 'mapped', [24459]], - [[63961, 63961], 'mapped', [24900]], - [[63962, 63962], 'mapped', [26647]], - [[63963, 63963], 'mapped', [29575]], - [[63964, 63964], 'mapped', [38534]], - [[63965, 63965], 'mapped', [21033]], - [[63966, 63966], 'mapped', [21519]], - [[63967, 63967], 'mapped', [23653]], - [[63968, 63968], 'mapped', [26131]], - [[63969, 63969], 'mapped', [26446]], - [[63970, 63970], 'mapped', [26792]], - [[63971, 63971], 'mapped', [27877]], - [[63972, 63972], 'mapped', [29702]], - [[63973, 63973], 'mapped', [30178]], - [[63974, 63974], 'mapped', [32633]], - [[63975, 63975], 'mapped', [35023]], - [[63976, 63976], 'mapped', [35041]], - [[63977, 63977], 'mapped', [37324]], - [[63978, 63978], 'mapped', [38626]], - [[63979, 63979], 'mapped', [21311]], - [[63980, 63980], 'mapped', [28346]], - [[63981, 63981], 'mapped', [21533]], - [[63982, 63982], 'mapped', [29136]], - [[63983, 63983], 'mapped', [29848]], - [[63984, 63984], 'mapped', [34298]], - [[63985, 63985], 'mapped', [38563]], - [[63986, 63986], 'mapped', [40023]], - [[63987, 63987], 'mapped', [40607]], - [[63988, 63988], 'mapped', [26519]], - [[63989, 63989], 'mapped', [28107]], - [[63990, 63990], 'mapped', [33256]], - [[63991, 63991], 'mapped', [31435]], - [[63992, 63992], 'mapped', [31520]], - [[63993, 63993], 'mapped', [31890]], - [[63994, 63994], 'mapped', [29376]], - [[63995, 63995], 'mapped', [28825]], - [[63996, 63996], 'mapped', [35672]], - [[63997, 63997], 'mapped', [20160]], - [[63998, 63998], 'mapped', [33590]], - [[63999, 63999], 'mapped', [21050]], - [[64e3, 64e3], 'mapped', [20999]], - [[64001, 64001], 'mapped', [24230]], - [[64002, 64002], 'mapped', [25299]], - [[64003, 64003], 'mapped', [31958]], - [[64004, 64004], 'mapped', [23429]], - [[64005, 64005], 'mapped', [27934]], - [[64006, 64006], 'mapped', [26292]], - [[64007, 64007], 'mapped', [36667]], - [[64008, 64008], 'mapped', [34892]], - [[64009, 64009], 'mapped', [38477]], - [[64010, 64010], 'mapped', [35211]], - [[64011, 64011], 'mapped', [24275]], - [[64012, 64012], 'mapped', [20800]], - [[64013, 64013], 'mapped', [21952]], - [[64014, 64015], 'valid'], - [[64016, 64016], 'mapped', [22618]], - [[64017, 64017], 'valid'], - [[64018, 64018], 'mapped', [26228]], - [[64019, 64020], 'valid'], - [[64021, 64021], 'mapped', [20958]], - [[64022, 64022], 'mapped', [29482]], - [[64023, 64023], 'mapped', [30410]], - [[64024, 64024], 'mapped', [31036]], - [[64025, 64025], 'mapped', [31070]], - [[64026, 64026], 'mapped', [31077]], - [[64027, 64027], 'mapped', [31119]], - [[64028, 64028], 'mapped', [38742]], - [[64029, 64029], 'mapped', [31934]], - [[64030, 64030], 'mapped', [32701]], - [[64031, 64031], 'valid'], - [[64032, 64032], 'mapped', [34322]], - [[64033, 64033], 'valid'], - [[64034, 64034], 'mapped', [35576]], - [[64035, 64036], 'valid'], - [[64037, 64037], 'mapped', [36920]], - [[64038, 64038], 'mapped', [37117]], - [[64039, 64041], 'valid'], - [[64042, 64042], 'mapped', [39151]], - [[64043, 64043], 'mapped', [39164]], - [[64044, 64044], 'mapped', [39208]], - [[64045, 64045], 'mapped', [40372]], - [[64046, 64046], 'mapped', [37086]], - [[64047, 64047], 'mapped', [38583]], - [[64048, 64048], 'mapped', [20398]], - [[64049, 64049], 'mapped', [20711]], - [[64050, 64050], 'mapped', [20813]], - [[64051, 64051], 'mapped', [21193]], - [[64052, 64052], 'mapped', [21220]], - [[64053, 64053], 'mapped', [21329]], - [[64054, 64054], 'mapped', [21917]], - [[64055, 64055], 'mapped', [22022]], - [[64056, 64056], 'mapped', [22120]], - [[64057, 64057], 'mapped', [22592]], - [[64058, 64058], 'mapped', [22696]], - [[64059, 64059], 'mapped', [23652]], - [[64060, 64060], 'mapped', [23662]], - [[64061, 64061], 'mapped', [24724]], - [[64062, 64062], 'mapped', [24936]], - [[64063, 64063], 'mapped', [24974]], - [[64064, 64064], 'mapped', [25074]], - [[64065, 64065], 'mapped', [25935]], - [[64066, 64066], 'mapped', [26082]], - [[64067, 64067], 'mapped', [26257]], - [[64068, 64068], 'mapped', [26757]], - [[64069, 64069], 'mapped', [28023]], - [[64070, 64070], 'mapped', [28186]], - [[64071, 64071], 'mapped', [28450]], - [[64072, 64072], 'mapped', [29038]], - [[64073, 64073], 'mapped', [29227]], - [[64074, 64074], 'mapped', [29730]], - [[64075, 64075], 'mapped', [30865]], - [[64076, 64076], 'mapped', [31038]], - [[64077, 64077], 'mapped', [31049]], - [[64078, 64078], 'mapped', [31048]], - [[64079, 64079], 'mapped', [31056]], - [[64080, 64080], 'mapped', [31062]], - [[64081, 64081], 'mapped', [31069]], - [[64082, 64082], 'mapped', [31117]], - [[64083, 64083], 'mapped', [31118]], - [[64084, 64084], 'mapped', [31296]], - [[64085, 64085], 'mapped', [31361]], - [[64086, 64086], 'mapped', [31680]], - [[64087, 64087], 'mapped', [32244]], - [[64088, 64088], 'mapped', [32265]], - [[64089, 64089], 'mapped', [32321]], - [[64090, 64090], 'mapped', [32626]], - [[64091, 64091], 'mapped', [32773]], - [[64092, 64092], 'mapped', [33261]], - [[64093, 64094], 'mapped', [33401]], - [[64095, 64095], 'mapped', [33879]], - [[64096, 64096], 'mapped', [35088]], - [[64097, 64097], 'mapped', [35222]], - [[64098, 64098], 'mapped', [35585]], - [[64099, 64099], 'mapped', [35641]], - [[64100, 64100], 'mapped', [36051]], - [[64101, 64101], 'mapped', [36104]], - [[64102, 64102], 'mapped', [36790]], - [[64103, 64103], 'mapped', [36920]], - [[64104, 64104], 'mapped', [38627]], - [[64105, 64105], 'mapped', [38911]], - [[64106, 64106], 'mapped', [38971]], - [[64107, 64107], 'mapped', [24693]], - [[64108, 64108], 'mapped', [148206]], - [[64109, 64109], 'mapped', [33304]], - [[64110, 64111], 'disallowed'], - [[64112, 64112], 'mapped', [20006]], - [[64113, 64113], 'mapped', [20917]], - [[64114, 64114], 'mapped', [20840]], - [[64115, 64115], 'mapped', [20352]], - [[64116, 64116], 'mapped', [20805]], - [[64117, 64117], 'mapped', [20864]], - [[64118, 64118], 'mapped', [21191]], - [[64119, 64119], 'mapped', [21242]], - [[64120, 64120], 'mapped', [21917]], - [[64121, 64121], 'mapped', [21845]], - [[64122, 64122], 'mapped', [21913]], - [[64123, 64123], 'mapped', [21986]], - [[64124, 64124], 'mapped', [22618]], - [[64125, 64125], 'mapped', [22707]], - [[64126, 64126], 'mapped', [22852]], - [[64127, 64127], 'mapped', [22868]], - [[64128, 64128], 'mapped', [23138]], - [[64129, 64129], 'mapped', [23336]], - [[64130, 64130], 'mapped', [24274]], - [[64131, 64131], 'mapped', [24281]], - [[64132, 64132], 'mapped', [24425]], - [[64133, 64133], 'mapped', [24493]], - [[64134, 64134], 'mapped', [24792]], - [[64135, 64135], 'mapped', [24910]], - [[64136, 64136], 'mapped', [24840]], - [[64137, 64137], 'mapped', [24974]], - [[64138, 64138], 'mapped', [24928]], - [[64139, 64139], 'mapped', [25074]], - [[64140, 64140], 'mapped', [25140]], - [[64141, 64141], 'mapped', [25540]], - [[64142, 64142], 'mapped', [25628]], - [[64143, 64143], 'mapped', [25682]], - [[64144, 64144], 'mapped', [25942]], - [[64145, 64145], 'mapped', [26228]], - [[64146, 64146], 'mapped', [26391]], - [[64147, 64147], 'mapped', [26395]], - [[64148, 64148], 'mapped', [26454]], - [[64149, 64149], 'mapped', [27513]], - [[64150, 64150], 'mapped', [27578]], - [[64151, 64151], 'mapped', [27969]], - [[64152, 64152], 'mapped', [28379]], - [[64153, 64153], 'mapped', [28363]], - [[64154, 64154], 'mapped', [28450]], - [[64155, 64155], 'mapped', [28702]], - [[64156, 64156], 'mapped', [29038]], - [[64157, 64157], 'mapped', [30631]], - [[64158, 64158], 'mapped', [29237]], - [[64159, 64159], 'mapped', [29359]], - [[64160, 64160], 'mapped', [29482]], - [[64161, 64161], 'mapped', [29809]], - [[64162, 64162], 'mapped', [29958]], - [[64163, 64163], 'mapped', [30011]], - [[64164, 64164], 'mapped', [30237]], - [[64165, 64165], 'mapped', [30239]], - [[64166, 64166], 'mapped', [30410]], - [[64167, 64167], 'mapped', [30427]], - [[64168, 64168], 'mapped', [30452]], - [[64169, 64169], 'mapped', [30538]], - [[64170, 64170], 'mapped', [30528]], - [[64171, 64171], 'mapped', [30924]], - [[64172, 64172], 'mapped', [31409]], - [[64173, 64173], 'mapped', [31680]], - [[64174, 64174], 'mapped', [31867]], - [[64175, 64175], 'mapped', [32091]], - [[64176, 64176], 'mapped', [32244]], - [[64177, 64177], 'mapped', [32574]], - [[64178, 64178], 'mapped', [32773]], - [[64179, 64179], 'mapped', [33618]], - [[64180, 64180], 'mapped', [33775]], - [[64181, 64181], 'mapped', [34681]], - [[64182, 64182], 'mapped', [35137]], - [[64183, 64183], 'mapped', [35206]], - [[64184, 64184], 'mapped', [35222]], - [[64185, 64185], 'mapped', [35519]], - [[64186, 64186], 'mapped', [35576]], - [[64187, 64187], 'mapped', [35531]], - [[64188, 64188], 'mapped', [35585]], - [[64189, 64189], 'mapped', [35582]], - [[64190, 64190], 'mapped', [35565]], - [[64191, 64191], 'mapped', [35641]], - [[64192, 64192], 'mapped', [35722]], - [[64193, 64193], 'mapped', [36104]], - [[64194, 64194], 'mapped', [36664]], - [[64195, 64195], 'mapped', [36978]], - [[64196, 64196], 'mapped', [37273]], - [[64197, 64197], 'mapped', [37494]], - [[64198, 64198], 'mapped', [38524]], - [[64199, 64199], 'mapped', [38627]], - [[64200, 64200], 'mapped', [38742]], - [[64201, 64201], 'mapped', [38875]], - [[64202, 64202], 'mapped', [38911]], - [[64203, 64203], 'mapped', [38923]], - [[64204, 64204], 'mapped', [38971]], - [[64205, 64205], 'mapped', [39698]], - [[64206, 64206], 'mapped', [40860]], - [[64207, 64207], 'mapped', [141386]], - [[64208, 64208], 'mapped', [141380]], - [[64209, 64209], 'mapped', [144341]], - [[64210, 64210], 'mapped', [15261]], - [[64211, 64211], 'mapped', [16408]], - [[64212, 64212], 'mapped', [16441]], - [[64213, 64213], 'mapped', [152137]], - [[64214, 64214], 'mapped', [154832]], - [[64215, 64215], 'mapped', [163539]], - [[64216, 64216], 'mapped', [40771]], - [[64217, 64217], 'mapped', [40846]], - [[64218, 64255], 'disallowed'], - [[64256, 64256], 'mapped', [102, 102]], - [[64257, 64257], 'mapped', [102, 105]], - [[64258, 64258], 'mapped', [102, 108]], - [[64259, 64259], 'mapped', [102, 102, 105]], - [[64260, 64260], 'mapped', [102, 102, 108]], - [[64261, 64262], 'mapped', [115, 116]], - [[64263, 64274], 'disallowed'], - [[64275, 64275], 'mapped', [1396, 1398]], - [[64276, 64276], 'mapped', [1396, 1381]], - [[64277, 64277], 'mapped', [1396, 1387]], - [[64278, 64278], 'mapped', [1406, 1398]], - [[64279, 64279], 'mapped', [1396, 1389]], - [[64280, 64284], 'disallowed'], - [[64285, 64285], 'mapped', [1497, 1460]], - [[64286, 64286], 'valid'], - [[64287, 64287], 'mapped', [1522, 1463]], - [[64288, 64288], 'mapped', [1506]], - [[64289, 64289], 'mapped', [1488]], - [[64290, 64290], 'mapped', [1491]], - [[64291, 64291], 'mapped', [1492]], - [[64292, 64292], 'mapped', [1499]], - [[64293, 64293], 'mapped', [1500]], - [[64294, 64294], 'mapped', [1501]], - [[64295, 64295], 'mapped', [1512]], - [[64296, 64296], 'mapped', [1514]], - [[64297, 64297], 'disallowed_STD3_mapped', [43]], - [[64298, 64298], 'mapped', [1513, 1473]], - [[64299, 64299], 'mapped', [1513, 1474]], - [[64300, 64300], 'mapped', [1513, 1468, 1473]], - [[64301, 64301], 'mapped', [1513, 1468, 1474]], - [[64302, 64302], 'mapped', [1488, 1463]], - [[64303, 64303], 'mapped', [1488, 1464]], - [[64304, 64304], 'mapped', [1488, 1468]], - [[64305, 64305], 'mapped', [1489, 1468]], - [[64306, 64306], 'mapped', [1490, 1468]], - [[64307, 64307], 'mapped', [1491, 1468]], - [[64308, 64308], 'mapped', [1492, 1468]], - [[64309, 64309], 'mapped', [1493, 1468]], - [[64310, 64310], 'mapped', [1494, 1468]], - [[64311, 64311], 'disallowed'], - [[64312, 64312], 'mapped', [1496, 1468]], - [[64313, 64313], 'mapped', [1497, 1468]], - [[64314, 64314], 'mapped', [1498, 1468]], - [[64315, 64315], 'mapped', [1499, 1468]], - [[64316, 64316], 'mapped', [1500, 1468]], - [[64317, 64317], 'disallowed'], - [[64318, 64318], 'mapped', [1502, 1468]], - [[64319, 64319], 'disallowed'], - [[64320, 64320], 'mapped', [1504, 1468]], - [[64321, 64321], 'mapped', [1505, 1468]], - [[64322, 64322], 'disallowed'], - [[64323, 64323], 'mapped', [1507, 1468]], - [[64324, 64324], 'mapped', [1508, 1468]], - [[64325, 64325], 'disallowed'], - [[64326, 64326], 'mapped', [1510, 1468]], - [[64327, 64327], 'mapped', [1511, 1468]], - [[64328, 64328], 'mapped', [1512, 1468]], - [[64329, 64329], 'mapped', [1513, 1468]], - [[64330, 64330], 'mapped', [1514, 1468]], - [[64331, 64331], 'mapped', [1493, 1465]], - [[64332, 64332], 'mapped', [1489, 1471]], - [[64333, 64333], 'mapped', [1499, 1471]], - [[64334, 64334], 'mapped', [1508, 1471]], - [[64335, 64335], 'mapped', [1488, 1500]], - [[64336, 64337], 'mapped', [1649]], - [[64338, 64341], 'mapped', [1659]], - [[64342, 64345], 'mapped', [1662]], - [[64346, 64349], 'mapped', [1664]], - [[64350, 64353], 'mapped', [1658]], - [[64354, 64357], 'mapped', [1663]], - [[64358, 64361], 'mapped', [1657]], - [[64362, 64365], 'mapped', [1700]], - [[64366, 64369], 'mapped', [1702]], - [[64370, 64373], 'mapped', [1668]], - [[64374, 64377], 'mapped', [1667]], - [[64378, 64381], 'mapped', [1670]], - [[64382, 64385], 'mapped', [1671]], - [[64386, 64387], 'mapped', [1677]], - [[64388, 64389], 'mapped', [1676]], - [[64390, 64391], 'mapped', [1678]], - [[64392, 64393], 'mapped', [1672]], - [[64394, 64395], 'mapped', [1688]], - [[64396, 64397], 'mapped', [1681]], - [[64398, 64401], 'mapped', [1705]], - [[64402, 64405], 'mapped', [1711]], - [[64406, 64409], 'mapped', [1715]], - [[64410, 64413], 'mapped', [1713]], - [[64414, 64415], 'mapped', [1722]], - [[64416, 64419], 'mapped', [1723]], - [[64420, 64421], 'mapped', [1728]], - [[64422, 64425], 'mapped', [1729]], - [[64426, 64429], 'mapped', [1726]], - [[64430, 64431], 'mapped', [1746]], - [[64432, 64433], 'mapped', [1747]], - [[64434, 64449], 'valid', [], 'NV8'], - [[64450, 64466], 'disallowed'], - [[64467, 64470], 'mapped', [1709]], - [[64471, 64472], 'mapped', [1735]], - [[64473, 64474], 'mapped', [1734]], - [[64475, 64476], 'mapped', [1736]], - [[64477, 64477], 'mapped', [1735, 1652]], - [[64478, 64479], 'mapped', [1739]], - [[64480, 64481], 'mapped', [1733]], - [[64482, 64483], 'mapped', [1737]], - [[64484, 64487], 'mapped', [1744]], - [[64488, 64489], 'mapped', [1609]], - [[64490, 64491], 'mapped', [1574, 1575]], - [[64492, 64493], 'mapped', [1574, 1749]], - [[64494, 64495], 'mapped', [1574, 1608]], - [[64496, 64497], 'mapped', [1574, 1735]], - [[64498, 64499], 'mapped', [1574, 1734]], - [[64500, 64501], 'mapped', [1574, 1736]], - [[64502, 64504], 'mapped', [1574, 1744]], - [[64505, 64507], 'mapped', [1574, 1609]], - [[64508, 64511], 'mapped', [1740]], - [[64512, 64512], 'mapped', [1574, 1580]], - [[64513, 64513], 'mapped', [1574, 1581]], - [[64514, 64514], 'mapped', [1574, 1605]], - [[64515, 64515], 'mapped', [1574, 1609]], - [[64516, 64516], 'mapped', [1574, 1610]], - [[64517, 64517], 'mapped', [1576, 1580]], - [[64518, 64518], 'mapped', [1576, 1581]], - [[64519, 64519], 'mapped', [1576, 1582]], - [[64520, 64520], 'mapped', [1576, 1605]], - [[64521, 64521], 'mapped', [1576, 1609]], - [[64522, 64522], 'mapped', [1576, 1610]], - [[64523, 64523], 'mapped', [1578, 1580]], - [[64524, 64524], 'mapped', [1578, 1581]], - [[64525, 64525], 'mapped', [1578, 1582]], - [[64526, 64526], 'mapped', [1578, 1605]], - [[64527, 64527], 'mapped', [1578, 1609]], - [[64528, 64528], 'mapped', [1578, 1610]], - [[64529, 64529], 'mapped', [1579, 1580]], - [[64530, 64530], 'mapped', [1579, 1605]], - [[64531, 64531], 'mapped', [1579, 1609]], - [[64532, 64532], 'mapped', [1579, 1610]], - [[64533, 64533], 'mapped', [1580, 1581]], - [[64534, 64534], 'mapped', [1580, 1605]], - [[64535, 64535], 'mapped', [1581, 1580]], - [[64536, 64536], 'mapped', [1581, 1605]], - [[64537, 64537], 'mapped', [1582, 1580]], - [[64538, 64538], 'mapped', [1582, 1581]], - [[64539, 64539], 'mapped', [1582, 1605]], - [[64540, 64540], 'mapped', [1587, 1580]], - [[64541, 64541], 'mapped', [1587, 1581]], - [[64542, 64542], 'mapped', [1587, 1582]], - [[64543, 64543], 'mapped', [1587, 1605]], - [[64544, 64544], 'mapped', [1589, 1581]], - [[64545, 64545], 'mapped', [1589, 1605]], - [[64546, 64546], 'mapped', [1590, 1580]], - [[64547, 64547], 'mapped', [1590, 1581]], - [[64548, 64548], 'mapped', [1590, 1582]], - [[64549, 64549], 'mapped', [1590, 1605]], - [[64550, 64550], 'mapped', [1591, 1581]], - [[64551, 64551], 'mapped', [1591, 1605]], - [[64552, 64552], 'mapped', [1592, 1605]], - [[64553, 64553], 'mapped', [1593, 1580]], - [[64554, 64554], 'mapped', [1593, 1605]], - [[64555, 64555], 'mapped', [1594, 1580]], - [[64556, 64556], 'mapped', [1594, 1605]], - [[64557, 64557], 'mapped', [1601, 1580]], - [[64558, 64558], 'mapped', [1601, 1581]], - [[64559, 64559], 'mapped', [1601, 1582]], - [[64560, 64560], 'mapped', [1601, 1605]], - [[64561, 64561], 'mapped', [1601, 1609]], - [[64562, 64562], 'mapped', [1601, 1610]], - [[64563, 64563], 'mapped', [1602, 1581]], - [[64564, 64564], 'mapped', [1602, 1605]], - [[64565, 64565], 'mapped', [1602, 1609]], - [[64566, 64566], 'mapped', [1602, 1610]], - [[64567, 64567], 'mapped', [1603, 1575]], - [[64568, 64568], 'mapped', [1603, 1580]], - [[64569, 64569], 'mapped', [1603, 1581]], - [[64570, 64570], 'mapped', [1603, 1582]], - [[64571, 64571], 'mapped', [1603, 1604]], - [[64572, 64572], 'mapped', [1603, 1605]], - [[64573, 64573], 'mapped', [1603, 1609]], - [[64574, 64574], 'mapped', [1603, 1610]], - [[64575, 64575], 'mapped', [1604, 1580]], - [[64576, 64576], 'mapped', [1604, 1581]], - [[64577, 64577], 'mapped', [1604, 1582]], - [[64578, 64578], 'mapped', [1604, 1605]], - [[64579, 64579], 'mapped', [1604, 1609]], - [[64580, 64580], 'mapped', [1604, 1610]], - [[64581, 64581], 'mapped', [1605, 1580]], - [[64582, 64582], 'mapped', [1605, 1581]], - [[64583, 64583], 'mapped', [1605, 1582]], - [[64584, 64584], 'mapped', [1605, 1605]], - [[64585, 64585], 'mapped', [1605, 1609]], - [[64586, 64586], 'mapped', [1605, 1610]], - [[64587, 64587], 'mapped', [1606, 1580]], - [[64588, 64588], 'mapped', [1606, 1581]], - [[64589, 64589], 'mapped', [1606, 1582]], - [[64590, 64590], 'mapped', [1606, 1605]], - [[64591, 64591], 'mapped', [1606, 1609]], - [[64592, 64592], 'mapped', [1606, 1610]], - [[64593, 64593], 'mapped', [1607, 1580]], - [[64594, 64594], 'mapped', [1607, 1605]], - [[64595, 64595], 'mapped', [1607, 1609]], - [[64596, 64596], 'mapped', [1607, 1610]], - [[64597, 64597], 'mapped', [1610, 1580]], - [[64598, 64598], 'mapped', [1610, 1581]], - [[64599, 64599], 'mapped', [1610, 1582]], - [[64600, 64600], 'mapped', [1610, 1605]], - [[64601, 64601], 'mapped', [1610, 1609]], - [[64602, 64602], 'mapped', [1610, 1610]], - [[64603, 64603], 'mapped', [1584, 1648]], - [[64604, 64604], 'mapped', [1585, 1648]], - [[64605, 64605], 'mapped', [1609, 1648]], - [[64606, 64606], 'disallowed_STD3_mapped', [32, 1612, 1617]], - [[64607, 64607], 'disallowed_STD3_mapped', [32, 1613, 1617]], - [[64608, 64608], 'disallowed_STD3_mapped', [32, 1614, 1617]], - [[64609, 64609], 'disallowed_STD3_mapped', [32, 1615, 1617]], - [[64610, 64610], 'disallowed_STD3_mapped', [32, 1616, 1617]], - [[64611, 64611], 'disallowed_STD3_mapped', [32, 1617, 1648]], - [[64612, 64612], 'mapped', [1574, 1585]], - [[64613, 64613], 'mapped', [1574, 1586]], - [[64614, 64614], 'mapped', [1574, 1605]], - [[64615, 64615], 'mapped', [1574, 1606]], - [[64616, 64616], 'mapped', [1574, 1609]], - [[64617, 64617], 'mapped', [1574, 1610]], - [[64618, 64618], 'mapped', [1576, 1585]], - [[64619, 64619], 'mapped', [1576, 1586]], - [[64620, 64620], 'mapped', [1576, 1605]], - [[64621, 64621], 'mapped', [1576, 1606]], - [[64622, 64622], 'mapped', [1576, 1609]], - [[64623, 64623], 'mapped', [1576, 1610]], - [[64624, 64624], 'mapped', [1578, 1585]], - [[64625, 64625], 'mapped', [1578, 1586]], - [[64626, 64626], 'mapped', [1578, 1605]], - [[64627, 64627], 'mapped', [1578, 1606]], - [[64628, 64628], 'mapped', [1578, 1609]], - [[64629, 64629], 'mapped', [1578, 1610]], - [[64630, 64630], 'mapped', [1579, 1585]], - [[64631, 64631], 'mapped', [1579, 1586]], - [[64632, 64632], 'mapped', [1579, 1605]], - [[64633, 64633], 'mapped', [1579, 1606]], - [[64634, 64634], 'mapped', [1579, 1609]], - [[64635, 64635], 'mapped', [1579, 1610]], - [[64636, 64636], 'mapped', [1601, 1609]], - [[64637, 64637], 'mapped', [1601, 1610]], - [[64638, 64638], 'mapped', [1602, 1609]], - [[64639, 64639], 'mapped', [1602, 1610]], - [[64640, 64640], 'mapped', [1603, 1575]], - [[64641, 64641], 'mapped', [1603, 1604]], - [[64642, 64642], 'mapped', [1603, 1605]], - [[64643, 64643], 'mapped', [1603, 1609]], - [[64644, 64644], 'mapped', [1603, 1610]], - [[64645, 64645], 'mapped', [1604, 1605]], - [[64646, 64646], 'mapped', [1604, 1609]], - [[64647, 64647], 'mapped', [1604, 1610]], - [[64648, 64648], 'mapped', [1605, 1575]], - [[64649, 64649], 'mapped', [1605, 1605]], - [[64650, 64650], 'mapped', [1606, 1585]], - [[64651, 64651], 'mapped', [1606, 1586]], - [[64652, 64652], 'mapped', [1606, 1605]], - [[64653, 64653], 'mapped', [1606, 1606]], - [[64654, 64654], 'mapped', [1606, 1609]], - [[64655, 64655], 'mapped', [1606, 1610]], - [[64656, 64656], 'mapped', [1609, 1648]], - [[64657, 64657], 'mapped', [1610, 1585]], - [[64658, 64658], 'mapped', [1610, 1586]], - [[64659, 64659], 'mapped', [1610, 1605]], - [[64660, 64660], 'mapped', [1610, 1606]], - [[64661, 64661], 'mapped', [1610, 1609]], - [[64662, 64662], 'mapped', [1610, 1610]], - [[64663, 64663], 'mapped', [1574, 1580]], - [[64664, 64664], 'mapped', [1574, 1581]], - [[64665, 64665], 'mapped', [1574, 1582]], - [[64666, 64666], 'mapped', [1574, 1605]], - [[64667, 64667], 'mapped', [1574, 1607]], - [[64668, 64668], 'mapped', [1576, 1580]], - [[64669, 64669], 'mapped', [1576, 1581]], - [[64670, 64670], 'mapped', [1576, 1582]], - [[64671, 64671], 'mapped', [1576, 1605]], - [[64672, 64672], 'mapped', [1576, 1607]], - [[64673, 64673], 'mapped', [1578, 1580]], - [[64674, 64674], 'mapped', [1578, 1581]], - [[64675, 64675], 'mapped', [1578, 1582]], - [[64676, 64676], 'mapped', [1578, 1605]], - [[64677, 64677], 'mapped', [1578, 1607]], - [[64678, 64678], 'mapped', [1579, 1605]], - [[64679, 64679], 'mapped', [1580, 1581]], - [[64680, 64680], 'mapped', [1580, 1605]], - [[64681, 64681], 'mapped', [1581, 1580]], - [[64682, 64682], 'mapped', [1581, 1605]], - [[64683, 64683], 'mapped', [1582, 1580]], - [[64684, 64684], 'mapped', [1582, 1605]], - [[64685, 64685], 'mapped', [1587, 1580]], - [[64686, 64686], 'mapped', [1587, 1581]], - [[64687, 64687], 'mapped', [1587, 1582]], - [[64688, 64688], 'mapped', [1587, 1605]], - [[64689, 64689], 'mapped', [1589, 1581]], - [[64690, 64690], 'mapped', [1589, 1582]], - [[64691, 64691], 'mapped', [1589, 1605]], - [[64692, 64692], 'mapped', [1590, 1580]], - [[64693, 64693], 'mapped', [1590, 1581]], - [[64694, 64694], 'mapped', [1590, 1582]], - [[64695, 64695], 'mapped', [1590, 1605]], - [[64696, 64696], 'mapped', [1591, 1581]], - [[64697, 64697], 'mapped', [1592, 1605]], - [[64698, 64698], 'mapped', [1593, 1580]], - [[64699, 64699], 'mapped', [1593, 1605]], - [[64700, 64700], 'mapped', [1594, 1580]], - [[64701, 64701], 'mapped', [1594, 1605]], - [[64702, 64702], 'mapped', [1601, 1580]], - [[64703, 64703], 'mapped', [1601, 1581]], - [[64704, 64704], 'mapped', [1601, 1582]], - [[64705, 64705], 'mapped', [1601, 1605]], - [[64706, 64706], 'mapped', [1602, 1581]], - [[64707, 64707], 'mapped', [1602, 1605]], - [[64708, 64708], 'mapped', [1603, 1580]], - [[64709, 64709], 'mapped', [1603, 1581]], - [[64710, 64710], 'mapped', [1603, 1582]], - [[64711, 64711], 'mapped', [1603, 1604]], - [[64712, 64712], 'mapped', [1603, 1605]], - [[64713, 64713], 'mapped', [1604, 1580]], - [[64714, 64714], 'mapped', [1604, 1581]], - [[64715, 64715], 'mapped', [1604, 1582]], - [[64716, 64716], 'mapped', [1604, 1605]], - [[64717, 64717], 'mapped', [1604, 1607]], - [[64718, 64718], 'mapped', [1605, 1580]], - [[64719, 64719], 'mapped', [1605, 1581]], - [[64720, 64720], 'mapped', [1605, 1582]], - [[64721, 64721], 'mapped', [1605, 1605]], - [[64722, 64722], 'mapped', [1606, 1580]], - [[64723, 64723], 'mapped', [1606, 1581]], - [[64724, 64724], 'mapped', [1606, 1582]], - [[64725, 64725], 'mapped', [1606, 1605]], - [[64726, 64726], 'mapped', [1606, 1607]], - [[64727, 64727], 'mapped', [1607, 1580]], - [[64728, 64728], 'mapped', [1607, 1605]], - [[64729, 64729], 'mapped', [1607, 1648]], - [[64730, 64730], 'mapped', [1610, 1580]], - [[64731, 64731], 'mapped', [1610, 1581]], - [[64732, 64732], 'mapped', [1610, 1582]], - [[64733, 64733], 'mapped', [1610, 1605]], - [[64734, 64734], 'mapped', [1610, 1607]], - [[64735, 64735], 'mapped', [1574, 1605]], - [[64736, 64736], 'mapped', [1574, 1607]], - [[64737, 64737], 'mapped', [1576, 1605]], - [[64738, 64738], 'mapped', [1576, 1607]], - [[64739, 64739], 'mapped', [1578, 1605]], - [[64740, 64740], 'mapped', [1578, 1607]], - [[64741, 64741], 'mapped', [1579, 1605]], - [[64742, 64742], 'mapped', [1579, 1607]], - [[64743, 64743], 'mapped', [1587, 1605]], - [[64744, 64744], 'mapped', [1587, 1607]], - [[64745, 64745], 'mapped', [1588, 1605]], - [[64746, 64746], 'mapped', [1588, 1607]], - [[64747, 64747], 'mapped', [1603, 1604]], - [[64748, 64748], 'mapped', [1603, 1605]], - [[64749, 64749], 'mapped', [1604, 1605]], - [[64750, 64750], 'mapped', [1606, 1605]], - [[64751, 64751], 'mapped', [1606, 1607]], - [[64752, 64752], 'mapped', [1610, 1605]], - [[64753, 64753], 'mapped', [1610, 1607]], - [[64754, 64754], 'mapped', [1600, 1614, 1617]], - [[64755, 64755], 'mapped', [1600, 1615, 1617]], - [[64756, 64756], 'mapped', [1600, 1616, 1617]], - [[64757, 64757], 'mapped', [1591, 1609]], - [[64758, 64758], 'mapped', [1591, 1610]], - [[64759, 64759], 'mapped', [1593, 1609]], - [[64760, 64760], 'mapped', [1593, 1610]], - [[64761, 64761], 'mapped', [1594, 1609]], - [[64762, 64762], 'mapped', [1594, 1610]], - [[64763, 64763], 'mapped', [1587, 1609]], - [[64764, 64764], 'mapped', [1587, 1610]], - [[64765, 64765], 'mapped', [1588, 1609]], - [[64766, 64766], 'mapped', [1588, 1610]], - [[64767, 64767], 'mapped', [1581, 1609]], - [[64768, 64768], 'mapped', [1581, 1610]], - [[64769, 64769], 'mapped', [1580, 1609]], - [[64770, 64770], 'mapped', [1580, 1610]], - [[64771, 64771], 'mapped', [1582, 1609]], - [[64772, 64772], 'mapped', [1582, 1610]], - [[64773, 64773], 'mapped', [1589, 1609]], - [[64774, 64774], 'mapped', [1589, 1610]], - [[64775, 64775], 'mapped', [1590, 1609]], - [[64776, 64776], 'mapped', [1590, 1610]], - [[64777, 64777], 'mapped', [1588, 1580]], - [[64778, 64778], 'mapped', [1588, 1581]], - [[64779, 64779], 'mapped', [1588, 1582]], - [[64780, 64780], 'mapped', [1588, 1605]], - [[64781, 64781], 'mapped', [1588, 1585]], - [[64782, 64782], 'mapped', [1587, 1585]], - [[64783, 64783], 'mapped', [1589, 1585]], - [[64784, 64784], 'mapped', [1590, 1585]], - [[64785, 64785], 'mapped', [1591, 1609]], - [[64786, 64786], 'mapped', [1591, 1610]], - [[64787, 64787], 'mapped', [1593, 1609]], - [[64788, 64788], 'mapped', [1593, 1610]], - [[64789, 64789], 'mapped', [1594, 1609]], - [[64790, 64790], 'mapped', [1594, 1610]], - [[64791, 64791], 'mapped', [1587, 1609]], - [[64792, 64792], 'mapped', [1587, 1610]], - [[64793, 64793], 'mapped', [1588, 1609]], - [[64794, 64794], 'mapped', [1588, 1610]], - [[64795, 64795], 'mapped', [1581, 1609]], - [[64796, 64796], 'mapped', [1581, 1610]], - [[64797, 64797], 'mapped', [1580, 1609]], - [[64798, 64798], 'mapped', [1580, 1610]], - [[64799, 64799], 'mapped', [1582, 1609]], - [[64800, 64800], 'mapped', [1582, 1610]], - [[64801, 64801], 'mapped', [1589, 1609]], - [[64802, 64802], 'mapped', [1589, 1610]], - [[64803, 64803], 'mapped', [1590, 1609]], - [[64804, 64804], 'mapped', [1590, 1610]], - [[64805, 64805], 'mapped', [1588, 1580]], - [[64806, 64806], 'mapped', [1588, 1581]], - [[64807, 64807], 'mapped', [1588, 1582]], - [[64808, 64808], 'mapped', [1588, 1605]], - [[64809, 64809], 'mapped', [1588, 1585]], - [[64810, 64810], 'mapped', [1587, 1585]], - [[64811, 64811], 'mapped', [1589, 1585]], - [[64812, 64812], 'mapped', [1590, 1585]], - [[64813, 64813], 'mapped', [1588, 1580]], - [[64814, 64814], 'mapped', [1588, 1581]], - [[64815, 64815], 'mapped', [1588, 1582]], - [[64816, 64816], 'mapped', [1588, 1605]], - [[64817, 64817], 'mapped', [1587, 1607]], - [[64818, 64818], 'mapped', [1588, 1607]], - [[64819, 64819], 'mapped', [1591, 1605]], - [[64820, 64820], 'mapped', [1587, 1580]], - [[64821, 64821], 'mapped', [1587, 1581]], - [[64822, 64822], 'mapped', [1587, 1582]], - [[64823, 64823], 'mapped', [1588, 1580]], - [[64824, 64824], 'mapped', [1588, 1581]], - [[64825, 64825], 'mapped', [1588, 1582]], - [[64826, 64826], 'mapped', [1591, 1605]], - [[64827, 64827], 'mapped', [1592, 1605]], - [[64828, 64829], 'mapped', [1575, 1611]], - [[64830, 64831], 'valid', [], 'NV8'], - [[64832, 64847], 'disallowed'], - [[64848, 64848], 'mapped', [1578, 1580, 1605]], - [[64849, 64850], 'mapped', [1578, 1581, 1580]], - [[64851, 64851], 'mapped', [1578, 1581, 1605]], - [[64852, 64852], 'mapped', [1578, 1582, 1605]], - [[64853, 64853], 'mapped', [1578, 1605, 1580]], - [[64854, 64854], 'mapped', [1578, 1605, 1581]], - [[64855, 64855], 'mapped', [1578, 1605, 1582]], - [[64856, 64857], 'mapped', [1580, 1605, 1581]], - [[64858, 64858], 'mapped', [1581, 1605, 1610]], - [[64859, 64859], 'mapped', [1581, 1605, 1609]], - [[64860, 64860], 'mapped', [1587, 1581, 1580]], - [[64861, 64861], 'mapped', [1587, 1580, 1581]], - [[64862, 64862], 'mapped', [1587, 1580, 1609]], - [[64863, 64864], 'mapped', [1587, 1605, 1581]], - [[64865, 64865], 'mapped', [1587, 1605, 1580]], - [[64866, 64867], 'mapped', [1587, 1605, 1605]], - [[64868, 64869], 'mapped', [1589, 1581, 1581]], - [[64870, 64870], 'mapped', [1589, 1605, 1605]], - [[64871, 64872], 'mapped', [1588, 1581, 1605]], - [[64873, 64873], 'mapped', [1588, 1580, 1610]], - [[64874, 64875], 'mapped', [1588, 1605, 1582]], - [[64876, 64877], 'mapped', [1588, 1605, 1605]], - [[64878, 64878], 'mapped', [1590, 1581, 1609]], - [[64879, 64880], 'mapped', [1590, 1582, 1605]], - [[64881, 64882], 'mapped', [1591, 1605, 1581]], - [[64883, 64883], 'mapped', [1591, 1605, 1605]], - [[64884, 64884], 'mapped', [1591, 1605, 1610]], - [[64885, 64885], 'mapped', [1593, 1580, 1605]], - [[64886, 64887], 'mapped', [1593, 1605, 1605]], - [[64888, 64888], 'mapped', [1593, 1605, 1609]], - [[64889, 64889], 'mapped', [1594, 1605, 1605]], - [[64890, 64890], 'mapped', [1594, 1605, 1610]], - [[64891, 64891], 'mapped', [1594, 1605, 1609]], - [[64892, 64893], 'mapped', [1601, 1582, 1605]], - [[64894, 64894], 'mapped', [1602, 1605, 1581]], - [[64895, 64895], 'mapped', [1602, 1605, 1605]], - [[64896, 64896], 'mapped', [1604, 1581, 1605]], - [[64897, 64897], 'mapped', [1604, 1581, 1610]], - [[64898, 64898], 'mapped', [1604, 1581, 1609]], - [[64899, 64900], 'mapped', [1604, 1580, 1580]], - [[64901, 64902], 'mapped', [1604, 1582, 1605]], - [[64903, 64904], 'mapped', [1604, 1605, 1581]], - [[64905, 64905], 'mapped', [1605, 1581, 1580]], - [[64906, 64906], 'mapped', [1605, 1581, 1605]], - [[64907, 64907], 'mapped', [1605, 1581, 1610]], - [[64908, 64908], 'mapped', [1605, 1580, 1581]], - [[64909, 64909], 'mapped', [1605, 1580, 1605]], - [[64910, 64910], 'mapped', [1605, 1582, 1580]], - [[64911, 64911], 'mapped', [1605, 1582, 1605]], - [[64912, 64913], 'disallowed'], - [[64914, 64914], 'mapped', [1605, 1580, 1582]], - [[64915, 64915], 'mapped', [1607, 1605, 1580]], - [[64916, 64916], 'mapped', [1607, 1605, 1605]], - [[64917, 64917], 'mapped', [1606, 1581, 1605]], - [[64918, 64918], 'mapped', [1606, 1581, 1609]], - [[64919, 64920], 'mapped', [1606, 1580, 1605]], - [[64921, 64921], 'mapped', [1606, 1580, 1609]], - [[64922, 64922], 'mapped', [1606, 1605, 1610]], - [[64923, 64923], 'mapped', [1606, 1605, 1609]], - [[64924, 64925], 'mapped', [1610, 1605, 1605]], - [[64926, 64926], 'mapped', [1576, 1582, 1610]], - [[64927, 64927], 'mapped', [1578, 1580, 1610]], - [[64928, 64928], 'mapped', [1578, 1580, 1609]], - [[64929, 64929], 'mapped', [1578, 1582, 1610]], - [[64930, 64930], 'mapped', [1578, 1582, 1609]], - [[64931, 64931], 'mapped', [1578, 1605, 1610]], - [[64932, 64932], 'mapped', [1578, 1605, 1609]], - [[64933, 64933], 'mapped', [1580, 1605, 1610]], - [[64934, 64934], 'mapped', [1580, 1581, 1609]], - [[64935, 64935], 'mapped', [1580, 1605, 1609]], - [[64936, 64936], 'mapped', [1587, 1582, 1609]], - [[64937, 64937], 'mapped', [1589, 1581, 1610]], - [[64938, 64938], 'mapped', [1588, 1581, 1610]], - [[64939, 64939], 'mapped', [1590, 1581, 1610]], - [[64940, 64940], 'mapped', [1604, 1580, 1610]], - [[64941, 64941], 'mapped', [1604, 1605, 1610]], - [[64942, 64942], 'mapped', [1610, 1581, 1610]], - [[64943, 64943], 'mapped', [1610, 1580, 1610]], - [[64944, 64944], 'mapped', [1610, 1605, 1610]], - [[64945, 64945], 'mapped', [1605, 1605, 1610]], - [[64946, 64946], 'mapped', [1602, 1605, 1610]], - [[64947, 64947], 'mapped', [1606, 1581, 1610]], - [[64948, 64948], 'mapped', [1602, 1605, 1581]], - [[64949, 64949], 'mapped', [1604, 1581, 1605]], - [[64950, 64950], 'mapped', [1593, 1605, 1610]], - [[64951, 64951], 'mapped', [1603, 1605, 1610]], - [[64952, 64952], 'mapped', [1606, 1580, 1581]], - [[64953, 64953], 'mapped', [1605, 1582, 1610]], - [[64954, 64954], 'mapped', [1604, 1580, 1605]], - [[64955, 64955], 'mapped', [1603, 1605, 1605]], - [[64956, 64956], 'mapped', [1604, 1580, 1605]], - [[64957, 64957], 'mapped', [1606, 1580, 1581]], - [[64958, 64958], 'mapped', [1580, 1581, 1610]], - [[64959, 64959], 'mapped', [1581, 1580, 1610]], - [[64960, 64960], 'mapped', [1605, 1580, 1610]], - [[64961, 64961], 'mapped', [1601, 1605, 1610]], - [[64962, 64962], 'mapped', [1576, 1581, 1610]], - [[64963, 64963], 'mapped', [1603, 1605, 1605]], - [[64964, 64964], 'mapped', [1593, 1580, 1605]], - [[64965, 64965], 'mapped', [1589, 1605, 1605]], - [[64966, 64966], 'mapped', [1587, 1582, 1610]], - [[64967, 64967], 'mapped', [1606, 1580, 1610]], - [[64968, 64975], 'disallowed'], - [[64976, 65007], 'disallowed'], - [[65008, 65008], 'mapped', [1589, 1604, 1746]], - [[65009, 65009], 'mapped', [1602, 1604, 1746]], - [[65010, 65010], 'mapped', [1575, 1604, 1604, 1607]], - [[65011, 65011], 'mapped', [1575, 1603, 1576, 1585]], - [[65012, 65012], 'mapped', [1605, 1581, 1605, 1583]], - [[65013, 65013], 'mapped', [1589, 1604, 1593, 1605]], - [[65014, 65014], 'mapped', [1585, 1587, 1608, 1604]], - [[65015, 65015], 'mapped', [1593, 1604, 1610, 1607]], - [[65016, 65016], 'mapped', [1608, 1587, 1604, 1605]], - [[65017, 65017], 'mapped', [1589, 1604, 1609]], - [ - [65018, 65018], - 'disallowed_STD3_mapped', - [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605] - ], - [[65019, 65019], 'disallowed_STD3_mapped', [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], - [[65020, 65020], 'mapped', [1585, 1740, 1575, 1604]], - [[65021, 65021], 'valid', [], 'NV8'], - [[65022, 65023], 'disallowed'], - [[65024, 65039], 'ignored'], - [[65040, 65040], 'disallowed_STD3_mapped', [44]], - [[65041, 65041], 'mapped', [12289]], - [[65042, 65042], 'disallowed'], - [[65043, 65043], 'disallowed_STD3_mapped', [58]], - [[65044, 65044], 'disallowed_STD3_mapped', [59]], - [[65045, 65045], 'disallowed_STD3_mapped', [33]], - [[65046, 65046], 'disallowed_STD3_mapped', [63]], - [[65047, 65047], 'mapped', [12310]], - [[65048, 65048], 'mapped', [12311]], - [[65049, 65049], 'disallowed'], - [[65050, 65055], 'disallowed'], - [[65056, 65059], 'valid'], - [[65060, 65062], 'valid'], - [[65063, 65069], 'valid'], - [[65070, 65071], 'valid'], - [[65072, 65072], 'disallowed'], - [[65073, 65073], 'mapped', [8212]], - [[65074, 65074], 'mapped', [8211]], - [[65075, 65076], 'disallowed_STD3_mapped', [95]], - [[65077, 65077], 'disallowed_STD3_mapped', [40]], - [[65078, 65078], 'disallowed_STD3_mapped', [41]], - [[65079, 65079], 'disallowed_STD3_mapped', [123]], - [[65080, 65080], 'disallowed_STD3_mapped', [125]], - [[65081, 65081], 'mapped', [12308]], - [[65082, 65082], 'mapped', [12309]], - [[65083, 65083], 'mapped', [12304]], - [[65084, 65084], 'mapped', [12305]], - [[65085, 65085], 'mapped', [12298]], - [[65086, 65086], 'mapped', [12299]], - [[65087, 65087], 'mapped', [12296]], - [[65088, 65088], 'mapped', [12297]], - [[65089, 65089], 'mapped', [12300]], - [[65090, 65090], 'mapped', [12301]], - [[65091, 65091], 'mapped', [12302]], - [[65092, 65092], 'mapped', [12303]], - [[65093, 65094], 'valid', [], 'NV8'], - [[65095, 65095], 'disallowed_STD3_mapped', [91]], - [[65096, 65096], 'disallowed_STD3_mapped', [93]], - [[65097, 65100], 'disallowed_STD3_mapped', [32, 773]], - [[65101, 65103], 'disallowed_STD3_mapped', [95]], - [[65104, 65104], 'disallowed_STD3_mapped', [44]], - [[65105, 65105], 'mapped', [12289]], - [[65106, 65106], 'disallowed'], - [[65107, 65107], 'disallowed'], - [[65108, 65108], 'disallowed_STD3_mapped', [59]], - [[65109, 65109], 'disallowed_STD3_mapped', [58]], - [[65110, 65110], 'disallowed_STD3_mapped', [63]], - [[65111, 65111], 'disallowed_STD3_mapped', [33]], - [[65112, 65112], 'mapped', [8212]], - [[65113, 65113], 'disallowed_STD3_mapped', [40]], - [[65114, 65114], 'disallowed_STD3_mapped', [41]], - [[65115, 65115], 'disallowed_STD3_mapped', [123]], - [[65116, 65116], 'disallowed_STD3_mapped', [125]], - [[65117, 65117], 'mapped', [12308]], - [[65118, 65118], 'mapped', [12309]], - [[65119, 65119], 'disallowed_STD3_mapped', [35]], - [[65120, 65120], 'disallowed_STD3_mapped', [38]], - [[65121, 65121], 'disallowed_STD3_mapped', [42]], - [[65122, 65122], 'disallowed_STD3_mapped', [43]], - [[65123, 65123], 'mapped', [45]], - [[65124, 65124], 'disallowed_STD3_mapped', [60]], - [[65125, 65125], 'disallowed_STD3_mapped', [62]], - [[65126, 65126], 'disallowed_STD3_mapped', [61]], - [[65127, 65127], 'disallowed'], - [[65128, 65128], 'disallowed_STD3_mapped', [92]], - [[65129, 65129], 'disallowed_STD3_mapped', [36]], - [[65130, 65130], 'disallowed_STD3_mapped', [37]], - [[65131, 65131], 'disallowed_STD3_mapped', [64]], - [[65132, 65135], 'disallowed'], - [[65136, 65136], 'disallowed_STD3_mapped', [32, 1611]], - [[65137, 65137], 'mapped', [1600, 1611]], - [[65138, 65138], 'disallowed_STD3_mapped', [32, 1612]], - [[65139, 65139], 'valid'], - [[65140, 65140], 'disallowed_STD3_mapped', [32, 1613]], - [[65141, 65141], 'disallowed'], - [[65142, 65142], 'disallowed_STD3_mapped', [32, 1614]], - [[65143, 65143], 'mapped', [1600, 1614]], - [[65144, 65144], 'disallowed_STD3_mapped', [32, 1615]], - [[65145, 65145], 'mapped', [1600, 1615]], - [[65146, 65146], 'disallowed_STD3_mapped', [32, 1616]], - [[65147, 65147], 'mapped', [1600, 1616]], - [[65148, 65148], 'disallowed_STD3_mapped', [32, 1617]], - [[65149, 65149], 'mapped', [1600, 1617]], - [[65150, 65150], 'disallowed_STD3_mapped', [32, 1618]], - [[65151, 65151], 'mapped', [1600, 1618]], - [[65152, 65152], 'mapped', [1569]], - [[65153, 65154], 'mapped', [1570]], - [[65155, 65156], 'mapped', [1571]], - [[65157, 65158], 'mapped', [1572]], - [[65159, 65160], 'mapped', [1573]], - [[65161, 65164], 'mapped', [1574]], - [[65165, 65166], 'mapped', [1575]], - [[65167, 65170], 'mapped', [1576]], - [[65171, 65172], 'mapped', [1577]], - [[65173, 65176], 'mapped', [1578]], - [[65177, 65180], 'mapped', [1579]], - [[65181, 65184], 'mapped', [1580]], - [[65185, 65188], 'mapped', [1581]], - [[65189, 65192], 'mapped', [1582]], - [[65193, 65194], 'mapped', [1583]], - [[65195, 65196], 'mapped', [1584]], - [[65197, 65198], 'mapped', [1585]], - [[65199, 65200], 'mapped', [1586]], - [[65201, 65204], 'mapped', [1587]], - [[65205, 65208], 'mapped', [1588]], - [[65209, 65212], 'mapped', [1589]], - [[65213, 65216], 'mapped', [1590]], - [[65217, 65220], 'mapped', [1591]], - [[65221, 65224], 'mapped', [1592]], - [[65225, 65228], 'mapped', [1593]], - [[65229, 65232], 'mapped', [1594]], - [[65233, 65236], 'mapped', [1601]], - [[65237, 65240], 'mapped', [1602]], - [[65241, 65244], 'mapped', [1603]], - [[65245, 65248], 'mapped', [1604]], - [[65249, 65252], 'mapped', [1605]], - [[65253, 65256], 'mapped', [1606]], - [[65257, 65260], 'mapped', [1607]], - [[65261, 65262], 'mapped', [1608]], - [[65263, 65264], 'mapped', [1609]], - [[65265, 65268], 'mapped', [1610]], - [[65269, 65270], 'mapped', [1604, 1570]], - [[65271, 65272], 'mapped', [1604, 1571]], - [[65273, 65274], 'mapped', [1604, 1573]], - [[65275, 65276], 'mapped', [1604, 1575]], - [[65277, 65278], 'disallowed'], - [[65279, 65279], 'ignored'], - [[65280, 65280], 'disallowed'], - [[65281, 65281], 'disallowed_STD3_mapped', [33]], - [[65282, 65282], 'disallowed_STD3_mapped', [34]], - [[65283, 65283], 'disallowed_STD3_mapped', [35]], - [[65284, 65284], 'disallowed_STD3_mapped', [36]], - [[65285, 65285], 'disallowed_STD3_mapped', [37]], - [[65286, 65286], 'disallowed_STD3_mapped', [38]], - [[65287, 65287], 'disallowed_STD3_mapped', [39]], - [[65288, 65288], 'disallowed_STD3_mapped', [40]], - [[65289, 65289], 'disallowed_STD3_mapped', [41]], - [[65290, 65290], 'disallowed_STD3_mapped', [42]], - [[65291, 65291], 'disallowed_STD3_mapped', [43]], - [[65292, 65292], 'disallowed_STD3_mapped', [44]], - [[65293, 65293], 'mapped', [45]], - [[65294, 65294], 'mapped', [46]], - [[65295, 65295], 'disallowed_STD3_mapped', [47]], - [[65296, 65296], 'mapped', [48]], - [[65297, 65297], 'mapped', [49]], - [[65298, 65298], 'mapped', [50]], - [[65299, 65299], 'mapped', [51]], - [[65300, 65300], 'mapped', [52]], - [[65301, 65301], 'mapped', [53]], - [[65302, 65302], 'mapped', [54]], - [[65303, 65303], 'mapped', [55]], - [[65304, 65304], 'mapped', [56]], - [[65305, 65305], 'mapped', [57]], - [[65306, 65306], 'disallowed_STD3_mapped', [58]], - [[65307, 65307], 'disallowed_STD3_mapped', [59]], - [[65308, 65308], 'disallowed_STD3_mapped', [60]], - [[65309, 65309], 'disallowed_STD3_mapped', [61]], - [[65310, 65310], 'disallowed_STD3_mapped', [62]], - [[65311, 65311], 'disallowed_STD3_mapped', [63]], - [[65312, 65312], 'disallowed_STD3_mapped', [64]], - [[65313, 65313], 'mapped', [97]], - [[65314, 65314], 'mapped', [98]], - [[65315, 65315], 'mapped', [99]], - [[65316, 65316], 'mapped', [100]], - [[65317, 65317], 'mapped', [101]], - [[65318, 65318], 'mapped', [102]], - [[65319, 65319], 'mapped', [103]], - [[65320, 65320], 'mapped', [104]], - [[65321, 65321], 'mapped', [105]], - [[65322, 65322], 'mapped', [106]], - [[65323, 65323], 'mapped', [107]], - [[65324, 65324], 'mapped', [108]], - [[65325, 65325], 'mapped', [109]], - [[65326, 65326], 'mapped', [110]], - [[65327, 65327], 'mapped', [111]], - [[65328, 65328], 'mapped', [112]], - [[65329, 65329], 'mapped', [113]], - [[65330, 65330], 'mapped', [114]], - [[65331, 65331], 'mapped', [115]], - [[65332, 65332], 'mapped', [116]], - [[65333, 65333], 'mapped', [117]], - [[65334, 65334], 'mapped', [118]], - [[65335, 65335], 'mapped', [119]], - [[65336, 65336], 'mapped', [120]], - [[65337, 65337], 'mapped', [121]], - [[65338, 65338], 'mapped', [122]], - [[65339, 65339], 'disallowed_STD3_mapped', [91]], - [[65340, 65340], 'disallowed_STD3_mapped', [92]], - [[65341, 65341], 'disallowed_STD3_mapped', [93]], - [[65342, 65342], 'disallowed_STD3_mapped', [94]], - [[65343, 65343], 'disallowed_STD3_mapped', [95]], - [[65344, 65344], 'disallowed_STD3_mapped', [96]], - [[65345, 65345], 'mapped', [97]], - [[65346, 65346], 'mapped', [98]], - [[65347, 65347], 'mapped', [99]], - [[65348, 65348], 'mapped', [100]], - [[65349, 65349], 'mapped', [101]], - [[65350, 65350], 'mapped', [102]], - [[65351, 65351], 'mapped', [103]], - [[65352, 65352], 'mapped', [104]], - [[65353, 65353], 'mapped', [105]], - [[65354, 65354], 'mapped', [106]], - [[65355, 65355], 'mapped', [107]], - [[65356, 65356], 'mapped', [108]], - [[65357, 65357], 'mapped', [109]], - [[65358, 65358], 'mapped', [110]], - [[65359, 65359], 'mapped', [111]], - [[65360, 65360], 'mapped', [112]], - [[65361, 65361], 'mapped', [113]], - [[65362, 65362], 'mapped', [114]], - [[65363, 65363], 'mapped', [115]], - [[65364, 65364], 'mapped', [116]], - [[65365, 65365], 'mapped', [117]], - [[65366, 65366], 'mapped', [118]], - [[65367, 65367], 'mapped', [119]], - [[65368, 65368], 'mapped', [120]], - [[65369, 65369], 'mapped', [121]], - [[65370, 65370], 'mapped', [122]], - [[65371, 65371], 'disallowed_STD3_mapped', [123]], - [[65372, 65372], 'disallowed_STD3_mapped', [124]], - [[65373, 65373], 'disallowed_STD3_mapped', [125]], - [[65374, 65374], 'disallowed_STD3_mapped', [126]], - [[65375, 65375], 'mapped', [10629]], - [[65376, 65376], 'mapped', [10630]], - [[65377, 65377], 'mapped', [46]], - [[65378, 65378], 'mapped', [12300]], - [[65379, 65379], 'mapped', [12301]], - [[65380, 65380], 'mapped', [12289]], - [[65381, 65381], 'mapped', [12539]], - [[65382, 65382], 'mapped', [12530]], - [[65383, 65383], 'mapped', [12449]], - [[65384, 65384], 'mapped', [12451]], - [[65385, 65385], 'mapped', [12453]], - [[65386, 65386], 'mapped', [12455]], - [[65387, 65387], 'mapped', [12457]], - [[65388, 65388], 'mapped', [12515]], - [[65389, 65389], 'mapped', [12517]], - [[65390, 65390], 'mapped', [12519]], - [[65391, 65391], 'mapped', [12483]], - [[65392, 65392], 'mapped', [12540]], - [[65393, 65393], 'mapped', [12450]], - [[65394, 65394], 'mapped', [12452]], - [[65395, 65395], 'mapped', [12454]], - [[65396, 65396], 'mapped', [12456]], - [[65397, 65397], 'mapped', [12458]], - [[65398, 65398], 'mapped', [12459]], - [[65399, 65399], 'mapped', [12461]], - [[65400, 65400], 'mapped', [12463]], - [[65401, 65401], 'mapped', [12465]], - [[65402, 65402], 'mapped', [12467]], - [[65403, 65403], 'mapped', [12469]], - [[65404, 65404], 'mapped', [12471]], - [[65405, 65405], 'mapped', [12473]], - [[65406, 65406], 'mapped', [12475]], - [[65407, 65407], 'mapped', [12477]], - [[65408, 65408], 'mapped', [12479]], - [[65409, 65409], 'mapped', [12481]], - [[65410, 65410], 'mapped', [12484]], - [[65411, 65411], 'mapped', [12486]], - [[65412, 65412], 'mapped', [12488]], - [[65413, 65413], 'mapped', [12490]], - [[65414, 65414], 'mapped', [12491]], - [[65415, 65415], 'mapped', [12492]], - [[65416, 65416], 'mapped', [12493]], - [[65417, 65417], 'mapped', [12494]], - [[65418, 65418], 'mapped', [12495]], - [[65419, 65419], 'mapped', [12498]], - [[65420, 65420], 'mapped', [12501]], - [[65421, 65421], 'mapped', [12504]], - [[65422, 65422], 'mapped', [12507]], - [[65423, 65423], 'mapped', [12510]], - [[65424, 65424], 'mapped', [12511]], - [[65425, 65425], 'mapped', [12512]], - [[65426, 65426], 'mapped', [12513]], - [[65427, 65427], 'mapped', [12514]], - [[65428, 65428], 'mapped', [12516]], - [[65429, 65429], 'mapped', [12518]], - [[65430, 65430], 'mapped', [12520]], - [[65431, 65431], 'mapped', [12521]], - [[65432, 65432], 'mapped', [12522]], - [[65433, 65433], 'mapped', [12523]], - [[65434, 65434], 'mapped', [12524]], - [[65435, 65435], 'mapped', [12525]], - [[65436, 65436], 'mapped', [12527]], - [[65437, 65437], 'mapped', [12531]], - [[65438, 65438], 'mapped', [12441]], - [[65439, 65439], 'mapped', [12442]], - [[65440, 65440], 'disallowed'], - [[65441, 65441], 'mapped', [4352]], - [[65442, 65442], 'mapped', [4353]], - [[65443, 65443], 'mapped', [4522]], - [[65444, 65444], 'mapped', [4354]], - [[65445, 65445], 'mapped', [4524]], - [[65446, 65446], 'mapped', [4525]], - [[65447, 65447], 'mapped', [4355]], - [[65448, 65448], 'mapped', [4356]], - [[65449, 65449], 'mapped', [4357]], - [[65450, 65450], 'mapped', [4528]], - [[65451, 65451], 'mapped', [4529]], - [[65452, 65452], 'mapped', [4530]], - [[65453, 65453], 'mapped', [4531]], - [[65454, 65454], 'mapped', [4532]], - [[65455, 65455], 'mapped', [4533]], - [[65456, 65456], 'mapped', [4378]], - [[65457, 65457], 'mapped', [4358]], - [[65458, 65458], 'mapped', [4359]], - [[65459, 65459], 'mapped', [4360]], - [[65460, 65460], 'mapped', [4385]], - [[65461, 65461], 'mapped', [4361]], - [[65462, 65462], 'mapped', [4362]], - [[65463, 65463], 'mapped', [4363]], - [[65464, 65464], 'mapped', [4364]], - [[65465, 65465], 'mapped', [4365]], - [[65466, 65466], 'mapped', [4366]], - [[65467, 65467], 'mapped', [4367]], - [[65468, 65468], 'mapped', [4368]], - [[65469, 65469], 'mapped', [4369]], - [[65470, 65470], 'mapped', [4370]], - [[65471, 65473], 'disallowed'], - [[65474, 65474], 'mapped', [4449]], - [[65475, 65475], 'mapped', [4450]], - [[65476, 65476], 'mapped', [4451]], - [[65477, 65477], 'mapped', [4452]], - [[65478, 65478], 'mapped', [4453]], - [[65479, 65479], 'mapped', [4454]], - [[65480, 65481], 'disallowed'], - [[65482, 65482], 'mapped', [4455]], - [[65483, 65483], 'mapped', [4456]], - [[65484, 65484], 'mapped', [4457]], - [[65485, 65485], 'mapped', [4458]], - [[65486, 65486], 'mapped', [4459]], - [[65487, 65487], 'mapped', [4460]], - [[65488, 65489], 'disallowed'], - [[65490, 65490], 'mapped', [4461]], - [[65491, 65491], 'mapped', [4462]], - [[65492, 65492], 'mapped', [4463]], - [[65493, 65493], 'mapped', [4464]], - [[65494, 65494], 'mapped', [4465]], - [[65495, 65495], 'mapped', [4466]], - [[65496, 65497], 'disallowed'], - [[65498, 65498], 'mapped', [4467]], - [[65499, 65499], 'mapped', [4468]], - [[65500, 65500], 'mapped', [4469]], - [[65501, 65503], 'disallowed'], - [[65504, 65504], 'mapped', [162]], - [[65505, 65505], 'mapped', [163]], - [[65506, 65506], 'mapped', [172]], - [[65507, 65507], 'disallowed_STD3_mapped', [32, 772]], - [[65508, 65508], 'mapped', [166]], - [[65509, 65509], 'mapped', [165]], - [[65510, 65510], 'mapped', [8361]], - [[65511, 65511], 'disallowed'], - [[65512, 65512], 'mapped', [9474]], - [[65513, 65513], 'mapped', [8592]], - [[65514, 65514], 'mapped', [8593]], - [[65515, 65515], 'mapped', [8594]], - [[65516, 65516], 'mapped', [8595]], - [[65517, 65517], 'mapped', [9632]], - [[65518, 65518], 'mapped', [9675]], - [[65519, 65528], 'disallowed'], - [[65529, 65531], 'disallowed'], - [[65532, 65532], 'disallowed'], - [[65533, 65533], 'disallowed'], - [[65534, 65535], 'disallowed'], - [[65536, 65547], 'valid'], - [[65548, 65548], 'disallowed'], - [[65549, 65574], 'valid'], - [[65575, 65575], 'disallowed'], - [[65576, 65594], 'valid'], - [[65595, 65595], 'disallowed'], - [[65596, 65597], 'valid'], - [[65598, 65598], 'disallowed'], - [[65599, 65613], 'valid'], - [[65614, 65615], 'disallowed'], - [[65616, 65629], 'valid'], - [[65630, 65663], 'disallowed'], - [[65664, 65786], 'valid'], - [[65787, 65791], 'disallowed'], - [[65792, 65794], 'valid', [], 'NV8'], - [[65795, 65798], 'disallowed'], - [[65799, 65843], 'valid', [], 'NV8'], - [[65844, 65846], 'disallowed'], - [[65847, 65855], 'valid', [], 'NV8'], - [[65856, 65930], 'valid', [], 'NV8'], - [[65931, 65932], 'valid', [], 'NV8'], - [[65933, 65935], 'disallowed'], - [[65936, 65947], 'valid', [], 'NV8'], - [[65948, 65951], 'disallowed'], - [[65952, 65952], 'valid', [], 'NV8'], - [[65953, 65999], 'disallowed'], - [[66e3, 66044], 'valid', [], 'NV8'], - [[66045, 66045], 'valid'], - [[66046, 66175], 'disallowed'], - [[66176, 66204], 'valid'], - [[66205, 66207], 'disallowed'], - [[66208, 66256], 'valid'], - [[66257, 66271], 'disallowed'], - [[66272, 66272], 'valid'], - [[66273, 66299], 'valid', [], 'NV8'], - [[66300, 66303], 'disallowed'], - [[66304, 66334], 'valid'], - [[66335, 66335], 'valid'], - [[66336, 66339], 'valid', [], 'NV8'], - [[66340, 66351], 'disallowed'], - [[66352, 66368], 'valid'], - [[66369, 66369], 'valid', [], 'NV8'], - [[66370, 66377], 'valid'], - [[66378, 66378], 'valid', [], 'NV8'], - [[66379, 66383], 'disallowed'], - [[66384, 66426], 'valid'], - [[66427, 66431], 'disallowed'], - [[66432, 66461], 'valid'], - [[66462, 66462], 'disallowed'], - [[66463, 66463], 'valid', [], 'NV8'], - [[66464, 66499], 'valid'], - [[66500, 66503], 'disallowed'], - [[66504, 66511], 'valid'], - [[66512, 66517], 'valid', [], 'NV8'], - [[66518, 66559], 'disallowed'], - [[66560, 66560], 'mapped', [66600]], - [[66561, 66561], 'mapped', [66601]], - [[66562, 66562], 'mapped', [66602]], - [[66563, 66563], 'mapped', [66603]], - [[66564, 66564], 'mapped', [66604]], - [[66565, 66565], 'mapped', [66605]], - [[66566, 66566], 'mapped', [66606]], - [[66567, 66567], 'mapped', [66607]], - [[66568, 66568], 'mapped', [66608]], - [[66569, 66569], 'mapped', [66609]], - [[66570, 66570], 'mapped', [66610]], - [[66571, 66571], 'mapped', [66611]], - [[66572, 66572], 'mapped', [66612]], - [[66573, 66573], 'mapped', [66613]], - [[66574, 66574], 'mapped', [66614]], - [[66575, 66575], 'mapped', [66615]], - [[66576, 66576], 'mapped', [66616]], - [[66577, 66577], 'mapped', [66617]], - [[66578, 66578], 'mapped', [66618]], - [[66579, 66579], 'mapped', [66619]], - [[66580, 66580], 'mapped', [66620]], - [[66581, 66581], 'mapped', [66621]], - [[66582, 66582], 'mapped', [66622]], - [[66583, 66583], 'mapped', [66623]], - [[66584, 66584], 'mapped', [66624]], - [[66585, 66585], 'mapped', [66625]], - [[66586, 66586], 'mapped', [66626]], - [[66587, 66587], 'mapped', [66627]], - [[66588, 66588], 'mapped', [66628]], - [[66589, 66589], 'mapped', [66629]], - [[66590, 66590], 'mapped', [66630]], - [[66591, 66591], 'mapped', [66631]], - [[66592, 66592], 'mapped', [66632]], - [[66593, 66593], 'mapped', [66633]], - [[66594, 66594], 'mapped', [66634]], - [[66595, 66595], 'mapped', [66635]], - [[66596, 66596], 'mapped', [66636]], - [[66597, 66597], 'mapped', [66637]], - [[66598, 66598], 'mapped', [66638]], - [[66599, 66599], 'mapped', [66639]], - [[66600, 66637], 'valid'], - [[66638, 66717], 'valid'], - [[66718, 66719], 'disallowed'], - [[66720, 66729], 'valid'], - [[66730, 66815], 'disallowed'], - [[66816, 66855], 'valid'], - [[66856, 66863], 'disallowed'], - [[66864, 66915], 'valid'], - [[66916, 66926], 'disallowed'], - [[66927, 66927], 'valid', [], 'NV8'], - [[66928, 67071], 'disallowed'], - [[67072, 67382], 'valid'], - [[67383, 67391], 'disallowed'], - [[67392, 67413], 'valid'], - [[67414, 67423], 'disallowed'], - [[67424, 67431], 'valid'], - [[67432, 67583], 'disallowed'], - [[67584, 67589], 'valid'], - [[67590, 67591], 'disallowed'], - [[67592, 67592], 'valid'], - [[67593, 67593], 'disallowed'], - [[67594, 67637], 'valid'], - [[67638, 67638], 'disallowed'], - [[67639, 67640], 'valid'], - [[67641, 67643], 'disallowed'], - [[67644, 67644], 'valid'], - [[67645, 67646], 'disallowed'], - [[67647, 67647], 'valid'], - [[67648, 67669], 'valid'], - [[67670, 67670], 'disallowed'], - [[67671, 67679], 'valid', [], 'NV8'], - [[67680, 67702], 'valid'], - [[67703, 67711], 'valid', [], 'NV8'], - [[67712, 67742], 'valid'], - [[67743, 67750], 'disallowed'], - [[67751, 67759], 'valid', [], 'NV8'], - [[67760, 67807], 'disallowed'], - [[67808, 67826], 'valid'], - [[67827, 67827], 'disallowed'], - [[67828, 67829], 'valid'], - [[67830, 67834], 'disallowed'], - [[67835, 67839], 'valid', [], 'NV8'], - [[67840, 67861], 'valid'], - [[67862, 67865], 'valid', [], 'NV8'], - [[67866, 67867], 'valid', [], 'NV8'], - [[67868, 67870], 'disallowed'], - [[67871, 67871], 'valid', [], 'NV8'], - [[67872, 67897], 'valid'], - [[67898, 67902], 'disallowed'], - [[67903, 67903], 'valid', [], 'NV8'], - [[67904, 67967], 'disallowed'], - [[67968, 68023], 'valid'], - [[68024, 68027], 'disallowed'], - [[68028, 68029], 'valid', [], 'NV8'], - [[68030, 68031], 'valid'], - [[68032, 68047], 'valid', [], 'NV8'], - [[68048, 68049], 'disallowed'], - [[68050, 68095], 'valid', [], 'NV8'], - [[68096, 68099], 'valid'], - [[68100, 68100], 'disallowed'], - [[68101, 68102], 'valid'], - [[68103, 68107], 'disallowed'], - [[68108, 68115], 'valid'], - [[68116, 68116], 'disallowed'], - [[68117, 68119], 'valid'], - [[68120, 68120], 'disallowed'], - [[68121, 68147], 'valid'], - [[68148, 68151], 'disallowed'], - [[68152, 68154], 'valid'], - [[68155, 68158], 'disallowed'], - [[68159, 68159], 'valid'], - [[68160, 68167], 'valid', [], 'NV8'], - [[68168, 68175], 'disallowed'], - [[68176, 68184], 'valid', [], 'NV8'], - [[68185, 68191], 'disallowed'], - [[68192, 68220], 'valid'], - [[68221, 68223], 'valid', [], 'NV8'], - [[68224, 68252], 'valid'], - [[68253, 68255], 'valid', [], 'NV8'], - [[68256, 68287], 'disallowed'], - [[68288, 68295], 'valid'], - [[68296, 68296], 'valid', [], 'NV8'], - [[68297, 68326], 'valid'], - [[68327, 68330], 'disallowed'], - [[68331, 68342], 'valid', [], 'NV8'], - [[68343, 68351], 'disallowed'], - [[68352, 68405], 'valid'], - [[68406, 68408], 'disallowed'], - [[68409, 68415], 'valid', [], 'NV8'], - [[68416, 68437], 'valid'], - [[68438, 68439], 'disallowed'], - [[68440, 68447], 'valid', [], 'NV8'], - [[68448, 68466], 'valid'], - [[68467, 68471], 'disallowed'], - [[68472, 68479], 'valid', [], 'NV8'], - [[68480, 68497], 'valid'], - [[68498, 68504], 'disallowed'], - [[68505, 68508], 'valid', [], 'NV8'], - [[68509, 68520], 'disallowed'], - [[68521, 68527], 'valid', [], 'NV8'], - [[68528, 68607], 'disallowed'], - [[68608, 68680], 'valid'], - [[68681, 68735], 'disallowed'], - [[68736, 68736], 'mapped', [68800]], - [[68737, 68737], 'mapped', [68801]], - [[68738, 68738], 'mapped', [68802]], - [[68739, 68739], 'mapped', [68803]], - [[68740, 68740], 'mapped', [68804]], - [[68741, 68741], 'mapped', [68805]], - [[68742, 68742], 'mapped', [68806]], - [[68743, 68743], 'mapped', [68807]], - [[68744, 68744], 'mapped', [68808]], - [[68745, 68745], 'mapped', [68809]], - [[68746, 68746], 'mapped', [68810]], - [[68747, 68747], 'mapped', [68811]], - [[68748, 68748], 'mapped', [68812]], - [[68749, 68749], 'mapped', [68813]], - [[68750, 68750], 'mapped', [68814]], - [[68751, 68751], 'mapped', [68815]], - [[68752, 68752], 'mapped', [68816]], - [[68753, 68753], 'mapped', [68817]], - [[68754, 68754], 'mapped', [68818]], - [[68755, 68755], 'mapped', [68819]], - [[68756, 68756], 'mapped', [68820]], - [[68757, 68757], 'mapped', [68821]], - [[68758, 68758], 'mapped', [68822]], - [[68759, 68759], 'mapped', [68823]], - [[68760, 68760], 'mapped', [68824]], - [[68761, 68761], 'mapped', [68825]], - [[68762, 68762], 'mapped', [68826]], - [[68763, 68763], 'mapped', [68827]], - [[68764, 68764], 'mapped', [68828]], - [[68765, 68765], 'mapped', [68829]], - [[68766, 68766], 'mapped', [68830]], - [[68767, 68767], 'mapped', [68831]], - [[68768, 68768], 'mapped', [68832]], - [[68769, 68769], 'mapped', [68833]], - [[68770, 68770], 'mapped', [68834]], - [[68771, 68771], 'mapped', [68835]], - [[68772, 68772], 'mapped', [68836]], - [[68773, 68773], 'mapped', [68837]], - [[68774, 68774], 'mapped', [68838]], - [[68775, 68775], 'mapped', [68839]], - [[68776, 68776], 'mapped', [68840]], - [[68777, 68777], 'mapped', [68841]], - [[68778, 68778], 'mapped', [68842]], - [[68779, 68779], 'mapped', [68843]], - [[68780, 68780], 'mapped', [68844]], - [[68781, 68781], 'mapped', [68845]], - [[68782, 68782], 'mapped', [68846]], - [[68783, 68783], 'mapped', [68847]], - [[68784, 68784], 'mapped', [68848]], - [[68785, 68785], 'mapped', [68849]], - [[68786, 68786], 'mapped', [68850]], - [[68787, 68799], 'disallowed'], - [[68800, 68850], 'valid'], - [[68851, 68857], 'disallowed'], - [[68858, 68863], 'valid', [], 'NV8'], - [[68864, 69215], 'disallowed'], - [[69216, 69246], 'valid', [], 'NV8'], - [[69247, 69631], 'disallowed'], - [[69632, 69702], 'valid'], - [[69703, 69709], 'valid', [], 'NV8'], - [[69710, 69713], 'disallowed'], - [[69714, 69733], 'valid', [], 'NV8'], - [[69734, 69743], 'valid'], - [[69744, 69758], 'disallowed'], - [[69759, 69759], 'valid'], - [[69760, 69818], 'valid'], - [[69819, 69820], 'valid', [], 'NV8'], - [[69821, 69821], 'disallowed'], - [[69822, 69825], 'valid', [], 'NV8'], - [[69826, 69839], 'disallowed'], - [[69840, 69864], 'valid'], - [[69865, 69871], 'disallowed'], - [[69872, 69881], 'valid'], - [[69882, 69887], 'disallowed'], - [[69888, 69940], 'valid'], - [[69941, 69941], 'disallowed'], - [[69942, 69951], 'valid'], - [[69952, 69955], 'valid', [], 'NV8'], - [[69956, 69967], 'disallowed'], - [[69968, 70003], 'valid'], - [[70004, 70005], 'valid', [], 'NV8'], - [[70006, 70006], 'valid'], - [[70007, 70015], 'disallowed'], - [[70016, 70084], 'valid'], - [[70085, 70088], 'valid', [], 'NV8'], - [[70089, 70089], 'valid', [], 'NV8'], - [[70090, 70092], 'valid'], - [[70093, 70093], 'valid', [], 'NV8'], - [[70094, 70095], 'disallowed'], - [[70096, 70105], 'valid'], - [[70106, 70106], 'valid'], - [[70107, 70107], 'valid', [], 'NV8'], - [[70108, 70108], 'valid'], - [[70109, 70111], 'valid', [], 'NV8'], - [[70112, 70112], 'disallowed'], - [[70113, 70132], 'valid', [], 'NV8'], - [[70133, 70143], 'disallowed'], - [[70144, 70161], 'valid'], - [[70162, 70162], 'disallowed'], - [[70163, 70199], 'valid'], - [[70200, 70205], 'valid', [], 'NV8'], - [[70206, 70271], 'disallowed'], - [[70272, 70278], 'valid'], - [[70279, 70279], 'disallowed'], - [[70280, 70280], 'valid'], - [[70281, 70281], 'disallowed'], - [[70282, 70285], 'valid'], - [[70286, 70286], 'disallowed'], - [[70287, 70301], 'valid'], - [[70302, 70302], 'disallowed'], - [[70303, 70312], 'valid'], - [[70313, 70313], 'valid', [], 'NV8'], - [[70314, 70319], 'disallowed'], - [[70320, 70378], 'valid'], - [[70379, 70383], 'disallowed'], - [[70384, 70393], 'valid'], - [[70394, 70399], 'disallowed'], - [[70400, 70400], 'valid'], - [[70401, 70403], 'valid'], - [[70404, 70404], 'disallowed'], - [[70405, 70412], 'valid'], - [[70413, 70414], 'disallowed'], - [[70415, 70416], 'valid'], - [[70417, 70418], 'disallowed'], - [[70419, 70440], 'valid'], - [[70441, 70441], 'disallowed'], - [[70442, 70448], 'valid'], - [[70449, 70449], 'disallowed'], - [[70450, 70451], 'valid'], - [[70452, 70452], 'disallowed'], - [[70453, 70457], 'valid'], - [[70458, 70459], 'disallowed'], - [[70460, 70468], 'valid'], - [[70469, 70470], 'disallowed'], - [[70471, 70472], 'valid'], - [[70473, 70474], 'disallowed'], - [[70475, 70477], 'valid'], - [[70478, 70479], 'disallowed'], - [[70480, 70480], 'valid'], - [[70481, 70486], 'disallowed'], - [[70487, 70487], 'valid'], - [[70488, 70492], 'disallowed'], - [[70493, 70499], 'valid'], - [[70500, 70501], 'disallowed'], - [[70502, 70508], 'valid'], - [[70509, 70511], 'disallowed'], - [[70512, 70516], 'valid'], - [[70517, 70783], 'disallowed'], - [[70784, 70853], 'valid'], - [[70854, 70854], 'valid', [], 'NV8'], - [[70855, 70855], 'valid'], - [[70856, 70863], 'disallowed'], - [[70864, 70873], 'valid'], - [[70874, 71039], 'disallowed'], - [[71040, 71093], 'valid'], - [[71094, 71095], 'disallowed'], - [[71096, 71104], 'valid'], - [[71105, 71113], 'valid', [], 'NV8'], - [[71114, 71127], 'valid', [], 'NV8'], - [[71128, 71133], 'valid'], - [[71134, 71167], 'disallowed'], - [[71168, 71232], 'valid'], - [[71233, 71235], 'valid', [], 'NV8'], - [[71236, 71236], 'valid'], - [[71237, 71247], 'disallowed'], - [[71248, 71257], 'valid'], - [[71258, 71295], 'disallowed'], - [[71296, 71351], 'valid'], - [[71352, 71359], 'disallowed'], - [[71360, 71369], 'valid'], - [[71370, 71423], 'disallowed'], - [[71424, 71449], 'valid'], - [[71450, 71452], 'disallowed'], - [[71453, 71467], 'valid'], - [[71468, 71471], 'disallowed'], - [[71472, 71481], 'valid'], - [[71482, 71487], 'valid', [], 'NV8'], - [[71488, 71839], 'disallowed'], - [[71840, 71840], 'mapped', [71872]], - [[71841, 71841], 'mapped', [71873]], - [[71842, 71842], 'mapped', [71874]], - [[71843, 71843], 'mapped', [71875]], - [[71844, 71844], 'mapped', [71876]], - [[71845, 71845], 'mapped', [71877]], - [[71846, 71846], 'mapped', [71878]], - [[71847, 71847], 'mapped', [71879]], - [[71848, 71848], 'mapped', [71880]], - [[71849, 71849], 'mapped', [71881]], - [[71850, 71850], 'mapped', [71882]], - [[71851, 71851], 'mapped', [71883]], - [[71852, 71852], 'mapped', [71884]], - [[71853, 71853], 'mapped', [71885]], - [[71854, 71854], 'mapped', [71886]], - [[71855, 71855], 'mapped', [71887]], - [[71856, 71856], 'mapped', [71888]], - [[71857, 71857], 'mapped', [71889]], - [[71858, 71858], 'mapped', [71890]], - [[71859, 71859], 'mapped', [71891]], - [[71860, 71860], 'mapped', [71892]], - [[71861, 71861], 'mapped', [71893]], - [[71862, 71862], 'mapped', [71894]], - [[71863, 71863], 'mapped', [71895]], - [[71864, 71864], 'mapped', [71896]], - [[71865, 71865], 'mapped', [71897]], - [[71866, 71866], 'mapped', [71898]], - [[71867, 71867], 'mapped', [71899]], - [[71868, 71868], 'mapped', [71900]], - [[71869, 71869], 'mapped', [71901]], - [[71870, 71870], 'mapped', [71902]], - [[71871, 71871], 'mapped', [71903]], - [[71872, 71913], 'valid'], - [[71914, 71922], 'valid', [], 'NV8'], - [[71923, 71934], 'disallowed'], - [[71935, 71935], 'valid'], - [[71936, 72383], 'disallowed'], - [[72384, 72440], 'valid'], - [[72441, 73727], 'disallowed'], - [[73728, 74606], 'valid'], - [[74607, 74648], 'valid'], - [[74649, 74649], 'valid'], - [[74650, 74751], 'disallowed'], - [[74752, 74850], 'valid', [], 'NV8'], - [[74851, 74862], 'valid', [], 'NV8'], - [[74863, 74863], 'disallowed'], - [[74864, 74867], 'valid', [], 'NV8'], - [[74868, 74868], 'valid', [], 'NV8'], - [[74869, 74879], 'disallowed'], - [[74880, 75075], 'valid'], - [[75076, 77823], 'disallowed'], - [[77824, 78894], 'valid'], - [[78895, 82943], 'disallowed'], - [[82944, 83526], 'valid'], - [[83527, 92159], 'disallowed'], - [[92160, 92728], 'valid'], - [[92729, 92735], 'disallowed'], - [[92736, 92766], 'valid'], - [[92767, 92767], 'disallowed'], - [[92768, 92777], 'valid'], - [[92778, 92781], 'disallowed'], - [[92782, 92783], 'valid', [], 'NV8'], - [[92784, 92879], 'disallowed'], - [[92880, 92909], 'valid'], - [[92910, 92911], 'disallowed'], - [[92912, 92916], 'valid'], - [[92917, 92917], 'valid', [], 'NV8'], - [[92918, 92927], 'disallowed'], - [[92928, 92982], 'valid'], - [[92983, 92991], 'valid', [], 'NV8'], - [[92992, 92995], 'valid'], - [[92996, 92997], 'valid', [], 'NV8'], - [[92998, 93007], 'disallowed'], - [[93008, 93017], 'valid'], - [[93018, 93018], 'disallowed'], - [[93019, 93025], 'valid', [], 'NV8'], - [[93026, 93026], 'disallowed'], - [[93027, 93047], 'valid'], - [[93048, 93052], 'disallowed'], - [[93053, 93071], 'valid'], - [[93072, 93951], 'disallowed'], - [[93952, 94020], 'valid'], - [[94021, 94031], 'disallowed'], - [[94032, 94078], 'valid'], - [[94079, 94094], 'disallowed'], - [[94095, 94111], 'valid'], - [[94112, 110591], 'disallowed'], - [[110592, 110593], 'valid'], - [[110594, 113663], 'disallowed'], - [[113664, 113770], 'valid'], - [[113771, 113775], 'disallowed'], - [[113776, 113788], 'valid'], - [[113789, 113791], 'disallowed'], - [[113792, 113800], 'valid'], - [[113801, 113807], 'disallowed'], - [[113808, 113817], 'valid'], - [[113818, 113819], 'disallowed'], - [[113820, 113820], 'valid', [], 'NV8'], - [[113821, 113822], 'valid'], - [[113823, 113823], 'valid', [], 'NV8'], - [[113824, 113827], 'ignored'], - [[113828, 118783], 'disallowed'], - [[118784, 119029], 'valid', [], 'NV8'], - [[119030, 119039], 'disallowed'], - [[119040, 119078], 'valid', [], 'NV8'], - [[119079, 119080], 'disallowed'], - [[119081, 119081], 'valid', [], 'NV8'], - [[119082, 119133], 'valid', [], 'NV8'], - [[119134, 119134], 'mapped', [119127, 119141]], - [[119135, 119135], 'mapped', [119128, 119141]], - [[119136, 119136], 'mapped', [119128, 119141, 119150]], - [[119137, 119137], 'mapped', [119128, 119141, 119151]], - [[119138, 119138], 'mapped', [119128, 119141, 119152]], - [[119139, 119139], 'mapped', [119128, 119141, 119153]], - [[119140, 119140], 'mapped', [119128, 119141, 119154]], - [[119141, 119154], 'valid', [], 'NV8'], - [[119155, 119162], 'disallowed'], - [[119163, 119226], 'valid', [], 'NV8'], - [[119227, 119227], 'mapped', [119225, 119141]], - [[119228, 119228], 'mapped', [119226, 119141]], - [[119229, 119229], 'mapped', [119225, 119141, 119150]], - [[119230, 119230], 'mapped', [119226, 119141, 119150]], - [[119231, 119231], 'mapped', [119225, 119141, 119151]], - [[119232, 119232], 'mapped', [119226, 119141, 119151]], - [[119233, 119261], 'valid', [], 'NV8'], - [[119262, 119272], 'valid', [], 'NV8'], - [[119273, 119295], 'disallowed'], - [[119296, 119365], 'valid', [], 'NV8'], - [[119366, 119551], 'disallowed'], - [[119552, 119638], 'valid', [], 'NV8'], - [[119639, 119647], 'disallowed'], - [[119648, 119665], 'valid', [], 'NV8'], - [[119666, 119807], 'disallowed'], - [[119808, 119808], 'mapped', [97]], - [[119809, 119809], 'mapped', [98]], - [[119810, 119810], 'mapped', [99]], - [[119811, 119811], 'mapped', [100]], - [[119812, 119812], 'mapped', [101]], - [[119813, 119813], 'mapped', [102]], - [[119814, 119814], 'mapped', [103]], - [[119815, 119815], 'mapped', [104]], - [[119816, 119816], 'mapped', [105]], - [[119817, 119817], 'mapped', [106]], - [[119818, 119818], 'mapped', [107]], - [[119819, 119819], 'mapped', [108]], - [[119820, 119820], 'mapped', [109]], - [[119821, 119821], 'mapped', [110]], - [[119822, 119822], 'mapped', [111]], - [[119823, 119823], 'mapped', [112]], - [[119824, 119824], 'mapped', [113]], - [[119825, 119825], 'mapped', [114]], - [[119826, 119826], 'mapped', [115]], - [[119827, 119827], 'mapped', [116]], - [[119828, 119828], 'mapped', [117]], - [[119829, 119829], 'mapped', [118]], - [[119830, 119830], 'mapped', [119]], - [[119831, 119831], 'mapped', [120]], - [[119832, 119832], 'mapped', [121]], - [[119833, 119833], 'mapped', [122]], - [[119834, 119834], 'mapped', [97]], - [[119835, 119835], 'mapped', [98]], - [[119836, 119836], 'mapped', [99]], - [[119837, 119837], 'mapped', [100]], - [[119838, 119838], 'mapped', [101]], - [[119839, 119839], 'mapped', [102]], - [[119840, 119840], 'mapped', [103]], - [[119841, 119841], 'mapped', [104]], - [[119842, 119842], 'mapped', [105]], - [[119843, 119843], 'mapped', [106]], - [[119844, 119844], 'mapped', [107]], - [[119845, 119845], 'mapped', [108]], - [[119846, 119846], 'mapped', [109]], - [[119847, 119847], 'mapped', [110]], - [[119848, 119848], 'mapped', [111]], - [[119849, 119849], 'mapped', [112]], - [[119850, 119850], 'mapped', [113]], - [[119851, 119851], 'mapped', [114]], - [[119852, 119852], 'mapped', [115]], - [[119853, 119853], 'mapped', [116]], - [[119854, 119854], 'mapped', [117]], - [[119855, 119855], 'mapped', [118]], - [[119856, 119856], 'mapped', [119]], - [[119857, 119857], 'mapped', [120]], - [[119858, 119858], 'mapped', [121]], - [[119859, 119859], 'mapped', [122]], - [[119860, 119860], 'mapped', [97]], - [[119861, 119861], 'mapped', [98]], - [[119862, 119862], 'mapped', [99]], - [[119863, 119863], 'mapped', [100]], - [[119864, 119864], 'mapped', [101]], - [[119865, 119865], 'mapped', [102]], - [[119866, 119866], 'mapped', [103]], - [[119867, 119867], 'mapped', [104]], - [[119868, 119868], 'mapped', [105]], - [[119869, 119869], 'mapped', [106]], - [[119870, 119870], 'mapped', [107]], - [[119871, 119871], 'mapped', [108]], - [[119872, 119872], 'mapped', [109]], - [[119873, 119873], 'mapped', [110]], - [[119874, 119874], 'mapped', [111]], - [[119875, 119875], 'mapped', [112]], - [[119876, 119876], 'mapped', [113]], - [[119877, 119877], 'mapped', [114]], - [[119878, 119878], 'mapped', [115]], - [[119879, 119879], 'mapped', [116]], - [[119880, 119880], 'mapped', [117]], - [[119881, 119881], 'mapped', [118]], - [[119882, 119882], 'mapped', [119]], - [[119883, 119883], 'mapped', [120]], - [[119884, 119884], 'mapped', [121]], - [[119885, 119885], 'mapped', [122]], - [[119886, 119886], 'mapped', [97]], - [[119887, 119887], 'mapped', [98]], - [[119888, 119888], 'mapped', [99]], - [[119889, 119889], 'mapped', [100]], - [[119890, 119890], 'mapped', [101]], - [[119891, 119891], 'mapped', [102]], - [[119892, 119892], 'mapped', [103]], - [[119893, 119893], 'disallowed'], - [[119894, 119894], 'mapped', [105]], - [[119895, 119895], 'mapped', [106]], - [[119896, 119896], 'mapped', [107]], - [[119897, 119897], 'mapped', [108]], - [[119898, 119898], 'mapped', [109]], - [[119899, 119899], 'mapped', [110]], - [[119900, 119900], 'mapped', [111]], - [[119901, 119901], 'mapped', [112]], - [[119902, 119902], 'mapped', [113]], - [[119903, 119903], 'mapped', [114]], - [[119904, 119904], 'mapped', [115]], - [[119905, 119905], 'mapped', [116]], - [[119906, 119906], 'mapped', [117]], - [[119907, 119907], 'mapped', [118]], - [[119908, 119908], 'mapped', [119]], - [[119909, 119909], 'mapped', [120]], - [[119910, 119910], 'mapped', [121]], - [[119911, 119911], 'mapped', [122]], - [[119912, 119912], 'mapped', [97]], - [[119913, 119913], 'mapped', [98]], - [[119914, 119914], 'mapped', [99]], - [[119915, 119915], 'mapped', [100]], - [[119916, 119916], 'mapped', [101]], - [[119917, 119917], 'mapped', [102]], - [[119918, 119918], 'mapped', [103]], - [[119919, 119919], 'mapped', [104]], - [[119920, 119920], 'mapped', [105]], - [[119921, 119921], 'mapped', [106]], - [[119922, 119922], 'mapped', [107]], - [[119923, 119923], 'mapped', [108]], - [[119924, 119924], 'mapped', [109]], - [[119925, 119925], 'mapped', [110]], - [[119926, 119926], 'mapped', [111]], - [[119927, 119927], 'mapped', [112]], - [[119928, 119928], 'mapped', [113]], - [[119929, 119929], 'mapped', [114]], - [[119930, 119930], 'mapped', [115]], - [[119931, 119931], 'mapped', [116]], - [[119932, 119932], 'mapped', [117]], - [[119933, 119933], 'mapped', [118]], - [[119934, 119934], 'mapped', [119]], - [[119935, 119935], 'mapped', [120]], - [[119936, 119936], 'mapped', [121]], - [[119937, 119937], 'mapped', [122]], - [[119938, 119938], 'mapped', [97]], - [[119939, 119939], 'mapped', [98]], - [[119940, 119940], 'mapped', [99]], - [[119941, 119941], 'mapped', [100]], - [[119942, 119942], 'mapped', [101]], - [[119943, 119943], 'mapped', [102]], - [[119944, 119944], 'mapped', [103]], - [[119945, 119945], 'mapped', [104]], - [[119946, 119946], 'mapped', [105]], - [[119947, 119947], 'mapped', [106]], - [[119948, 119948], 'mapped', [107]], - [[119949, 119949], 'mapped', [108]], - [[119950, 119950], 'mapped', [109]], - [[119951, 119951], 'mapped', [110]], - [[119952, 119952], 'mapped', [111]], - [[119953, 119953], 'mapped', [112]], - [[119954, 119954], 'mapped', [113]], - [[119955, 119955], 'mapped', [114]], - [[119956, 119956], 'mapped', [115]], - [[119957, 119957], 'mapped', [116]], - [[119958, 119958], 'mapped', [117]], - [[119959, 119959], 'mapped', [118]], - [[119960, 119960], 'mapped', [119]], - [[119961, 119961], 'mapped', [120]], - [[119962, 119962], 'mapped', [121]], - [[119963, 119963], 'mapped', [122]], - [[119964, 119964], 'mapped', [97]], - [[119965, 119965], 'disallowed'], - [[119966, 119966], 'mapped', [99]], - [[119967, 119967], 'mapped', [100]], - [[119968, 119969], 'disallowed'], - [[119970, 119970], 'mapped', [103]], - [[119971, 119972], 'disallowed'], - [[119973, 119973], 'mapped', [106]], - [[119974, 119974], 'mapped', [107]], - [[119975, 119976], 'disallowed'], - [[119977, 119977], 'mapped', [110]], - [[119978, 119978], 'mapped', [111]], - [[119979, 119979], 'mapped', [112]], - [[119980, 119980], 'mapped', [113]], - [[119981, 119981], 'disallowed'], - [[119982, 119982], 'mapped', [115]], - [[119983, 119983], 'mapped', [116]], - [[119984, 119984], 'mapped', [117]], - [[119985, 119985], 'mapped', [118]], - [[119986, 119986], 'mapped', [119]], - [[119987, 119987], 'mapped', [120]], - [[119988, 119988], 'mapped', [121]], - [[119989, 119989], 'mapped', [122]], - [[119990, 119990], 'mapped', [97]], - [[119991, 119991], 'mapped', [98]], - [[119992, 119992], 'mapped', [99]], - [[119993, 119993], 'mapped', [100]], - [[119994, 119994], 'disallowed'], - [[119995, 119995], 'mapped', [102]], - [[119996, 119996], 'disallowed'], - [[119997, 119997], 'mapped', [104]], - [[119998, 119998], 'mapped', [105]], - [[119999, 119999], 'mapped', [106]], - [[12e4, 12e4], 'mapped', [107]], - [[120001, 120001], 'mapped', [108]], - [[120002, 120002], 'mapped', [109]], - [[120003, 120003], 'mapped', [110]], - [[120004, 120004], 'disallowed'], - [[120005, 120005], 'mapped', [112]], - [[120006, 120006], 'mapped', [113]], - [[120007, 120007], 'mapped', [114]], - [[120008, 120008], 'mapped', [115]], - [[120009, 120009], 'mapped', [116]], - [[120010, 120010], 'mapped', [117]], - [[120011, 120011], 'mapped', [118]], - [[120012, 120012], 'mapped', [119]], - [[120013, 120013], 'mapped', [120]], - [[120014, 120014], 'mapped', [121]], - [[120015, 120015], 'mapped', [122]], - [[120016, 120016], 'mapped', [97]], - [[120017, 120017], 'mapped', [98]], - [[120018, 120018], 'mapped', [99]], - [[120019, 120019], 'mapped', [100]], - [[120020, 120020], 'mapped', [101]], - [[120021, 120021], 'mapped', [102]], - [[120022, 120022], 'mapped', [103]], - [[120023, 120023], 'mapped', [104]], - [[120024, 120024], 'mapped', [105]], - [[120025, 120025], 'mapped', [106]], - [[120026, 120026], 'mapped', [107]], - [[120027, 120027], 'mapped', [108]], - [[120028, 120028], 'mapped', [109]], - [[120029, 120029], 'mapped', [110]], - [[120030, 120030], 'mapped', [111]], - [[120031, 120031], 'mapped', [112]], - [[120032, 120032], 'mapped', [113]], - [[120033, 120033], 'mapped', [114]], - [[120034, 120034], 'mapped', [115]], - [[120035, 120035], 'mapped', [116]], - [[120036, 120036], 'mapped', [117]], - [[120037, 120037], 'mapped', [118]], - [[120038, 120038], 'mapped', [119]], - [[120039, 120039], 'mapped', [120]], - [[120040, 120040], 'mapped', [121]], - [[120041, 120041], 'mapped', [122]], - [[120042, 120042], 'mapped', [97]], - [[120043, 120043], 'mapped', [98]], - [[120044, 120044], 'mapped', [99]], - [[120045, 120045], 'mapped', [100]], - [[120046, 120046], 'mapped', [101]], - [[120047, 120047], 'mapped', [102]], - [[120048, 120048], 'mapped', [103]], - [[120049, 120049], 'mapped', [104]], - [[120050, 120050], 'mapped', [105]], - [[120051, 120051], 'mapped', [106]], - [[120052, 120052], 'mapped', [107]], - [[120053, 120053], 'mapped', [108]], - [[120054, 120054], 'mapped', [109]], - [[120055, 120055], 'mapped', [110]], - [[120056, 120056], 'mapped', [111]], - [[120057, 120057], 'mapped', [112]], - [[120058, 120058], 'mapped', [113]], - [[120059, 120059], 'mapped', [114]], - [[120060, 120060], 'mapped', [115]], - [[120061, 120061], 'mapped', [116]], - [[120062, 120062], 'mapped', [117]], - [[120063, 120063], 'mapped', [118]], - [[120064, 120064], 'mapped', [119]], - [[120065, 120065], 'mapped', [120]], - [[120066, 120066], 'mapped', [121]], - [[120067, 120067], 'mapped', [122]], - [[120068, 120068], 'mapped', [97]], - [[120069, 120069], 'mapped', [98]], - [[120070, 120070], 'disallowed'], - [[120071, 120071], 'mapped', [100]], - [[120072, 120072], 'mapped', [101]], - [[120073, 120073], 'mapped', [102]], - [[120074, 120074], 'mapped', [103]], - [[120075, 120076], 'disallowed'], - [[120077, 120077], 'mapped', [106]], - [[120078, 120078], 'mapped', [107]], - [[120079, 120079], 'mapped', [108]], - [[120080, 120080], 'mapped', [109]], - [[120081, 120081], 'mapped', [110]], - [[120082, 120082], 'mapped', [111]], - [[120083, 120083], 'mapped', [112]], - [[120084, 120084], 'mapped', [113]], - [[120085, 120085], 'disallowed'], - [[120086, 120086], 'mapped', [115]], - [[120087, 120087], 'mapped', [116]], - [[120088, 120088], 'mapped', [117]], - [[120089, 120089], 'mapped', [118]], - [[120090, 120090], 'mapped', [119]], - [[120091, 120091], 'mapped', [120]], - [[120092, 120092], 'mapped', [121]], - [[120093, 120093], 'disallowed'], - [[120094, 120094], 'mapped', [97]], - [[120095, 120095], 'mapped', [98]], - [[120096, 120096], 'mapped', [99]], - [[120097, 120097], 'mapped', [100]], - [[120098, 120098], 'mapped', [101]], - [[120099, 120099], 'mapped', [102]], - [[120100, 120100], 'mapped', [103]], - [[120101, 120101], 'mapped', [104]], - [[120102, 120102], 'mapped', [105]], - [[120103, 120103], 'mapped', [106]], - [[120104, 120104], 'mapped', [107]], - [[120105, 120105], 'mapped', [108]], - [[120106, 120106], 'mapped', [109]], - [[120107, 120107], 'mapped', [110]], - [[120108, 120108], 'mapped', [111]], - [[120109, 120109], 'mapped', [112]], - [[120110, 120110], 'mapped', [113]], - [[120111, 120111], 'mapped', [114]], - [[120112, 120112], 'mapped', [115]], - [[120113, 120113], 'mapped', [116]], - [[120114, 120114], 'mapped', [117]], - [[120115, 120115], 'mapped', [118]], - [[120116, 120116], 'mapped', [119]], - [[120117, 120117], 'mapped', [120]], - [[120118, 120118], 'mapped', [121]], - [[120119, 120119], 'mapped', [122]], - [[120120, 120120], 'mapped', [97]], - [[120121, 120121], 'mapped', [98]], - [[120122, 120122], 'disallowed'], - [[120123, 120123], 'mapped', [100]], - [[120124, 120124], 'mapped', [101]], - [[120125, 120125], 'mapped', [102]], - [[120126, 120126], 'mapped', [103]], - [[120127, 120127], 'disallowed'], - [[120128, 120128], 'mapped', [105]], - [[120129, 120129], 'mapped', [106]], - [[120130, 120130], 'mapped', [107]], - [[120131, 120131], 'mapped', [108]], - [[120132, 120132], 'mapped', [109]], - [[120133, 120133], 'disallowed'], - [[120134, 120134], 'mapped', [111]], - [[120135, 120137], 'disallowed'], - [[120138, 120138], 'mapped', [115]], - [[120139, 120139], 'mapped', [116]], - [[120140, 120140], 'mapped', [117]], - [[120141, 120141], 'mapped', [118]], - [[120142, 120142], 'mapped', [119]], - [[120143, 120143], 'mapped', [120]], - [[120144, 120144], 'mapped', [121]], - [[120145, 120145], 'disallowed'], - [[120146, 120146], 'mapped', [97]], - [[120147, 120147], 'mapped', [98]], - [[120148, 120148], 'mapped', [99]], - [[120149, 120149], 'mapped', [100]], - [[120150, 120150], 'mapped', [101]], - [[120151, 120151], 'mapped', [102]], - [[120152, 120152], 'mapped', [103]], - [[120153, 120153], 'mapped', [104]], - [[120154, 120154], 'mapped', [105]], - [[120155, 120155], 'mapped', [106]], - [[120156, 120156], 'mapped', [107]], - [[120157, 120157], 'mapped', [108]], - [[120158, 120158], 'mapped', [109]], - [[120159, 120159], 'mapped', [110]], - [[120160, 120160], 'mapped', [111]], - [[120161, 120161], 'mapped', [112]], - [[120162, 120162], 'mapped', [113]], - [[120163, 120163], 'mapped', [114]], - [[120164, 120164], 'mapped', [115]], - [[120165, 120165], 'mapped', [116]], - [[120166, 120166], 'mapped', [117]], - [[120167, 120167], 'mapped', [118]], - [[120168, 120168], 'mapped', [119]], - [[120169, 120169], 'mapped', [120]], - [[120170, 120170], 'mapped', [121]], - [[120171, 120171], 'mapped', [122]], - [[120172, 120172], 'mapped', [97]], - [[120173, 120173], 'mapped', [98]], - [[120174, 120174], 'mapped', [99]], - [[120175, 120175], 'mapped', [100]], - [[120176, 120176], 'mapped', [101]], - [[120177, 120177], 'mapped', [102]], - [[120178, 120178], 'mapped', [103]], - [[120179, 120179], 'mapped', [104]], - [[120180, 120180], 'mapped', [105]], - [[120181, 120181], 'mapped', [106]], - [[120182, 120182], 'mapped', [107]], - [[120183, 120183], 'mapped', [108]], - [[120184, 120184], 'mapped', [109]], - [[120185, 120185], 'mapped', [110]], - [[120186, 120186], 'mapped', [111]], - [[120187, 120187], 'mapped', [112]], - [[120188, 120188], 'mapped', [113]], - [[120189, 120189], 'mapped', [114]], - [[120190, 120190], 'mapped', [115]], - [[120191, 120191], 'mapped', [116]], - [[120192, 120192], 'mapped', [117]], - [[120193, 120193], 'mapped', [118]], - [[120194, 120194], 'mapped', [119]], - [[120195, 120195], 'mapped', [120]], - [[120196, 120196], 'mapped', [121]], - [[120197, 120197], 'mapped', [122]], - [[120198, 120198], 'mapped', [97]], - [[120199, 120199], 'mapped', [98]], - [[120200, 120200], 'mapped', [99]], - [[120201, 120201], 'mapped', [100]], - [[120202, 120202], 'mapped', [101]], - [[120203, 120203], 'mapped', [102]], - [[120204, 120204], 'mapped', [103]], - [[120205, 120205], 'mapped', [104]], - [[120206, 120206], 'mapped', [105]], - [[120207, 120207], 'mapped', [106]], - [[120208, 120208], 'mapped', [107]], - [[120209, 120209], 'mapped', [108]], - [[120210, 120210], 'mapped', [109]], - [[120211, 120211], 'mapped', [110]], - [[120212, 120212], 'mapped', [111]], - [[120213, 120213], 'mapped', [112]], - [[120214, 120214], 'mapped', [113]], - [[120215, 120215], 'mapped', [114]], - [[120216, 120216], 'mapped', [115]], - [[120217, 120217], 'mapped', [116]], - [[120218, 120218], 'mapped', [117]], - [[120219, 120219], 'mapped', [118]], - [[120220, 120220], 'mapped', [119]], - [[120221, 120221], 'mapped', [120]], - [[120222, 120222], 'mapped', [121]], - [[120223, 120223], 'mapped', [122]], - [[120224, 120224], 'mapped', [97]], - [[120225, 120225], 'mapped', [98]], - [[120226, 120226], 'mapped', [99]], - [[120227, 120227], 'mapped', [100]], - [[120228, 120228], 'mapped', [101]], - [[120229, 120229], 'mapped', [102]], - [[120230, 120230], 'mapped', [103]], - [[120231, 120231], 'mapped', [104]], - [[120232, 120232], 'mapped', [105]], - [[120233, 120233], 'mapped', [106]], - [[120234, 120234], 'mapped', [107]], - [[120235, 120235], 'mapped', [108]], - [[120236, 120236], 'mapped', [109]], - [[120237, 120237], 'mapped', [110]], - [[120238, 120238], 'mapped', [111]], - [[120239, 120239], 'mapped', [112]], - [[120240, 120240], 'mapped', [113]], - [[120241, 120241], 'mapped', [114]], - [[120242, 120242], 'mapped', [115]], - [[120243, 120243], 'mapped', [116]], - [[120244, 120244], 'mapped', [117]], - [[120245, 120245], 'mapped', [118]], - [[120246, 120246], 'mapped', [119]], - [[120247, 120247], 'mapped', [120]], - [[120248, 120248], 'mapped', [121]], - [[120249, 120249], 'mapped', [122]], - [[120250, 120250], 'mapped', [97]], - [[120251, 120251], 'mapped', [98]], - [[120252, 120252], 'mapped', [99]], - [[120253, 120253], 'mapped', [100]], - [[120254, 120254], 'mapped', [101]], - [[120255, 120255], 'mapped', [102]], - [[120256, 120256], 'mapped', [103]], - [[120257, 120257], 'mapped', [104]], - [[120258, 120258], 'mapped', [105]], - [[120259, 120259], 'mapped', [106]], - [[120260, 120260], 'mapped', [107]], - [[120261, 120261], 'mapped', [108]], - [[120262, 120262], 'mapped', [109]], - [[120263, 120263], 'mapped', [110]], - [[120264, 120264], 'mapped', [111]], - [[120265, 120265], 'mapped', [112]], - [[120266, 120266], 'mapped', [113]], - [[120267, 120267], 'mapped', [114]], - [[120268, 120268], 'mapped', [115]], - [[120269, 120269], 'mapped', [116]], - [[120270, 120270], 'mapped', [117]], - [[120271, 120271], 'mapped', [118]], - [[120272, 120272], 'mapped', [119]], - [[120273, 120273], 'mapped', [120]], - [[120274, 120274], 'mapped', [121]], - [[120275, 120275], 'mapped', [122]], - [[120276, 120276], 'mapped', [97]], - [[120277, 120277], 'mapped', [98]], - [[120278, 120278], 'mapped', [99]], - [[120279, 120279], 'mapped', [100]], - [[120280, 120280], 'mapped', [101]], - [[120281, 120281], 'mapped', [102]], - [[120282, 120282], 'mapped', [103]], - [[120283, 120283], 'mapped', [104]], - [[120284, 120284], 'mapped', [105]], - [[120285, 120285], 'mapped', [106]], - [[120286, 120286], 'mapped', [107]], - [[120287, 120287], 'mapped', [108]], - [[120288, 120288], 'mapped', [109]], - [[120289, 120289], 'mapped', [110]], - [[120290, 120290], 'mapped', [111]], - [[120291, 120291], 'mapped', [112]], - [[120292, 120292], 'mapped', [113]], - [[120293, 120293], 'mapped', [114]], - [[120294, 120294], 'mapped', [115]], - [[120295, 120295], 'mapped', [116]], - [[120296, 120296], 'mapped', [117]], - [[120297, 120297], 'mapped', [118]], - [[120298, 120298], 'mapped', [119]], - [[120299, 120299], 'mapped', [120]], - [[120300, 120300], 'mapped', [121]], - [[120301, 120301], 'mapped', [122]], - [[120302, 120302], 'mapped', [97]], - [[120303, 120303], 'mapped', [98]], - [[120304, 120304], 'mapped', [99]], - [[120305, 120305], 'mapped', [100]], - [[120306, 120306], 'mapped', [101]], - [[120307, 120307], 'mapped', [102]], - [[120308, 120308], 'mapped', [103]], - [[120309, 120309], 'mapped', [104]], - [[120310, 120310], 'mapped', [105]], - [[120311, 120311], 'mapped', [106]], - [[120312, 120312], 'mapped', [107]], - [[120313, 120313], 'mapped', [108]], - [[120314, 120314], 'mapped', [109]], - [[120315, 120315], 'mapped', [110]], - [[120316, 120316], 'mapped', [111]], - [[120317, 120317], 'mapped', [112]], - [[120318, 120318], 'mapped', [113]], - [[120319, 120319], 'mapped', [114]], - [[120320, 120320], 'mapped', [115]], - [[120321, 120321], 'mapped', [116]], - [[120322, 120322], 'mapped', [117]], - [[120323, 120323], 'mapped', [118]], - [[120324, 120324], 'mapped', [119]], - [[120325, 120325], 'mapped', [120]], - [[120326, 120326], 'mapped', [121]], - [[120327, 120327], 'mapped', [122]], - [[120328, 120328], 'mapped', [97]], - [[120329, 120329], 'mapped', [98]], - [[120330, 120330], 'mapped', [99]], - [[120331, 120331], 'mapped', [100]], - [[120332, 120332], 'mapped', [101]], - [[120333, 120333], 'mapped', [102]], - [[120334, 120334], 'mapped', [103]], - [[120335, 120335], 'mapped', [104]], - [[120336, 120336], 'mapped', [105]], - [[120337, 120337], 'mapped', [106]], - [[120338, 120338], 'mapped', [107]], - [[120339, 120339], 'mapped', [108]], - [[120340, 120340], 'mapped', [109]], - [[120341, 120341], 'mapped', [110]], - [[120342, 120342], 'mapped', [111]], - [[120343, 120343], 'mapped', [112]], - [[120344, 120344], 'mapped', [113]], - [[120345, 120345], 'mapped', [114]], - [[120346, 120346], 'mapped', [115]], - [[120347, 120347], 'mapped', [116]], - [[120348, 120348], 'mapped', [117]], - [[120349, 120349], 'mapped', [118]], - [[120350, 120350], 'mapped', [119]], - [[120351, 120351], 'mapped', [120]], - [[120352, 120352], 'mapped', [121]], - [[120353, 120353], 'mapped', [122]], - [[120354, 120354], 'mapped', [97]], - [[120355, 120355], 'mapped', [98]], - [[120356, 120356], 'mapped', [99]], - [[120357, 120357], 'mapped', [100]], - [[120358, 120358], 'mapped', [101]], - [[120359, 120359], 'mapped', [102]], - [[120360, 120360], 'mapped', [103]], - [[120361, 120361], 'mapped', [104]], - [[120362, 120362], 'mapped', [105]], - [[120363, 120363], 'mapped', [106]], - [[120364, 120364], 'mapped', [107]], - [[120365, 120365], 'mapped', [108]], - [[120366, 120366], 'mapped', [109]], - [[120367, 120367], 'mapped', [110]], - [[120368, 120368], 'mapped', [111]], - [[120369, 120369], 'mapped', [112]], - [[120370, 120370], 'mapped', [113]], - [[120371, 120371], 'mapped', [114]], - [[120372, 120372], 'mapped', [115]], - [[120373, 120373], 'mapped', [116]], - [[120374, 120374], 'mapped', [117]], - [[120375, 120375], 'mapped', [118]], - [[120376, 120376], 'mapped', [119]], - [[120377, 120377], 'mapped', [120]], - [[120378, 120378], 'mapped', [121]], - [[120379, 120379], 'mapped', [122]], - [[120380, 120380], 'mapped', [97]], - [[120381, 120381], 'mapped', [98]], - [[120382, 120382], 'mapped', [99]], - [[120383, 120383], 'mapped', [100]], - [[120384, 120384], 'mapped', [101]], - [[120385, 120385], 'mapped', [102]], - [[120386, 120386], 'mapped', [103]], - [[120387, 120387], 'mapped', [104]], - [[120388, 120388], 'mapped', [105]], - [[120389, 120389], 'mapped', [106]], - [[120390, 120390], 'mapped', [107]], - [[120391, 120391], 'mapped', [108]], - [[120392, 120392], 'mapped', [109]], - [[120393, 120393], 'mapped', [110]], - [[120394, 120394], 'mapped', [111]], - [[120395, 120395], 'mapped', [112]], - [[120396, 120396], 'mapped', [113]], - [[120397, 120397], 'mapped', [114]], - [[120398, 120398], 'mapped', [115]], - [[120399, 120399], 'mapped', [116]], - [[120400, 120400], 'mapped', [117]], - [[120401, 120401], 'mapped', [118]], - [[120402, 120402], 'mapped', [119]], - [[120403, 120403], 'mapped', [120]], - [[120404, 120404], 'mapped', [121]], - [[120405, 120405], 'mapped', [122]], - [[120406, 120406], 'mapped', [97]], - [[120407, 120407], 'mapped', [98]], - [[120408, 120408], 'mapped', [99]], - [[120409, 120409], 'mapped', [100]], - [[120410, 120410], 'mapped', [101]], - [[120411, 120411], 'mapped', [102]], - [[120412, 120412], 'mapped', [103]], - [[120413, 120413], 'mapped', [104]], - [[120414, 120414], 'mapped', [105]], - [[120415, 120415], 'mapped', [106]], - [[120416, 120416], 'mapped', [107]], - [[120417, 120417], 'mapped', [108]], - [[120418, 120418], 'mapped', [109]], - [[120419, 120419], 'mapped', [110]], - [[120420, 120420], 'mapped', [111]], - [[120421, 120421], 'mapped', [112]], - [[120422, 120422], 'mapped', [113]], - [[120423, 120423], 'mapped', [114]], - [[120424, 120424], 'mapped', [115]], - [[120425, 120425], 'mapped', [116]], - [[120426, 120426], 'mapped', [117]], - [[120427, 120427], 'mapped', [118]], - [[120428, 120428], 'mapped', [119]], - [[120429, 120429], 'mapped', [120]], - [[120430, 120430], 'mapped', [121]], - [[120431, 120431], 'mapped', [122]], - [[120432, 120432], 'mapped', [97]], - [[120433, 120433], 'mapped', [98]], - [[120434, 120434], 'mapped', [99]], - [[120435, 120435], 'mapped', [100]], - [[120436, 120436], 'mapped', [101]], - [[120437, 120437], 'mapped', [102]], - [[120438, 120438], 'mapped', [103]], - [[120439, 120439], 'mapped', [104]], - [[120440, 120440], 'mapped', [105]], - [[120441, 120441], 'mapped', [106]], - [[120442, 120442], 'mapped', [107]], - [[120443, 120443], 'mapped', [108]], - [[120444, 120444], 'mapped', [109]], - [[120445, 120445], 'mapped', [110]], - [[120446, 120446], 'mapped', [111]], - [[120447, 120447], 'mapped', [112]], - [[120448, 120448], 'mapped', [113]], - [[120449, 120449], 'mapped', [114]], - [[120450, 120450], 'mapped', [115]], - [[120451, 120451], 'mapped', [116]], - [[120452, 120452], 'mapped', [117]], - [[120453, 120453], 'mapped', [118]], - [[120454, 120454], 'mapped', [119]], - [[120455, 120455], 'mapped', [120]], - [[120456, 120456], 'mapped', [121]], - [[120457, 120457], 'mapped', [122]], - [[120458, 120458], 'mapped', [97]], - [[120459, 120459], 'mapped', [98]], - [[120460, 120460], 'mapped', [99]], - [[120461, 120461], 'mapped', [100]], - [[120462, 120462], 'mapped', [101]], - [[120463, 120463], 'mapped', [102]], - [[120464, 120464], 'mapped', [103]], - [[120465, 120465], 'mapped', [104]], - [[120466, 120466], 'mapped', [105]], - [[120467, 120467], 'mapped', [106]], - [[120468, 120468], 'mapped', [107]], - [[120469, 120469], 'mapped', [108]], - [[120470, 120470], 'mapped', [109]], - [[120471, 120471], 'mapped', [110]], - [[120472, 120472], 'mapped', [111]], - [[120473, 120473], 'mapped', [112]], - [[120474, 120474], 'mapped', [113]], - [[120475, 120475], 'mapped', [114]], - [[120476, 120476], 'mapped', [115]], - [[120477, 120477], 'mapped', [116]], - [[120478, 120478], 'mapped', [117]], - [[120479, 120479], 'mapped', [118]], - [[120480, 120480], 'mapped', [119]], - [[120481, 120481], 'mapped', [120]], - [[120482, 120482], 'mapped', [121]], - [[120483, 120483], 'mapped', [122]], - [[120484, 120484], 'mapped', [305]], - [[120485, 120485], 'mapped', [567]], - [[120486, 120487], 'disallowed'], - [[120488, 120488], 'mapped', [945]], - [[120489, 120489], 'mapped', [946]], - [[120490, 120490], 'mapped', [947]], - [[120491, 120491], 'mapped', [948]], - [[120492, 120492], 'mapped', [949]], - [[120493, 120493], 'mapped', [950]], - [[120494, 120494], 'mapped', [951]], - [[120495, 120495], 'mapped', [952]], - [[120496, 120496], 'mapped', [953]], - [[120497, 120497], 'mapped', [954]], - [[120498, 120498], 'mapped', [955]], - [[120499, 120499], 'mapped', [956]], - [[120500, 120500], 'mapped', [957]], - [[120501, 120501], 'mapped', [958]], - [[120502, 120502], 'mapped', [959]], - [[120503, 120503], 'mapped', [960]], - [[120504, 120504], 'mapped', [961]], - [[120505, 120505], 'mapped', [952]], - [[120506, 120506], 'mapped', [963]], - [[120507, 120507], 'mapped', [964]], - [[120508, 120508], 'mapped', [965]], - [[120509, 120509], 'mapped', [966]], - [[120510, 120510], 'mapped', [967]], - [[120511, 120511], 'mapped', [968]], - [[120512, 120512], 'mapped', [969]], - [[120513, 120513], 'mapped', [8711]], - [[120514, 120514], 'mapped', [945]], - [[120515, 120515], 'mapped', [946]], - [[120516, 120516], 'mapped', [947]], - [[120517, 120517], 'mapped', [948]], - [[120518, 120518], 'mapped', [949]], - [[120519, 120519], 'mapped', [950]], - [[120520, 120520], 'mapped', [951]], - [[120521, 120521], 'mapped', [952]], - [[120522, 120522], 'mapped', [953]], - [[120523, 120523], 'mapped', [954]], - [[120524, 120524], 'mapped', [955]], - [[120525, 120525], 'mapped', [956]], - [[120526, 120526], 'mapped', [957]], - [[120527, 120527], 'mapped', [958]], - [[120528, 120528], 'mapped', [959]], - [[120529, 120529], 'mapped', [960]], - [[120530, 120530], 'mapped', [961]], - [[120531, 120532], 'mapped', [963]], - [[120533, 120533], 'mapped', [964]], - [[120534, 120534], 'mapped', [965]], - [[120535, 120535], 'mapped', [966]], - [[120536, 120536], 'mapped', [967]], - [[120537, 120537], 'mapped', [968]], - [[120538, 120538], 'mapped', [969]], - [[120539, 120539], 'mapped', [8706]], - [[120540, 120540], 'mapped', [949]], - [[120541, 120541], 'mapped', [952]], - [[120542, 120542], 'mapped', [954]], - [[120543, 120543], 'mapped', [966]], - [[120544, 120544], 'mapped', [961]], - [[120545, 120545], 'mapped', [960]], - [[120546, 120546], 'mapped', [945]], - [[120547, 120547], 'mapped', [946]], - [[120548, 120548], 'mapped', [947]], - [[120549, 120549], 'mapped', [948]], - [[120550, 120550], 'mapped', [949]], - [[120551, 120551], 'mapped', [950]], - [[120552, 120552], 'mapped', [951]], - [[120553, 120553], 'mapped', [952]], - [[120554, 120554], 'mapped', [953]], - [[120555, 120555], 'mapped', [954]], - [[120556, 120556], 'mapped', [955]], - [[120557, 120557], 'mapped', [956]], - [[120558, 120558], 'mapped', [957]], - [[120559, 120559], 'mapped', [958]], - [[120560, 120560], 'mapped', [959]], - [[120561, 120561], 'mapped', [960]], - [[120562, 120562], 'mapped', [961]], - [[120563, 120563], 'mapped', [952]], - [[120564, 120564], 'mapped', [963]], - [[120565, 120565], 'mapped', [964]], - [[120566, 120566], 'mapped', [965]], - [[120567, 120567], 'mapped', [966]], - [[120568, 120568], 'mapped', [967]], - [[120569, 120569], 'mapped', [968]], - [[120570, 120570], 'mapped', [969]], - [[120571, 120571], 'mapped', [8711]], - [[120572, 120572], 'mapped', [945]], - [[120573, 120573], 'mapped', [946]], - [[120574, 120574], 'mapped', [947]], - [[120575, 120575], 'mapped', [948]], - [[120576, 120576], 'mapped', [949]], - [[120577, 120577], 'mapped', [950]], - [[120578, 120578], 'mapped', [951]], - [[120579, 120579], 'mapped', [952]], - [[120580, 120580], 'mapped', [953]], - [[120581, 120581], 'mapped', [954]], - [[120582, 120582], 'mapped', [955]], - [[120583, 120583], 'mapped', [956]], - [[120584, 120584], 'mapped', [957]], - [[120585, 120585], 'mapped', [958]], - [[120586, 120586], 'mapped', [959]], - [[120587, 120587], 'mapped', [960]], - [[120588, 120588], 'mapped', [961]], - [[120589, 120590], 'mapped', [963]], - [[120591, 120591], 'mapped', [964]], - [[120592, 120592], 'mapped', [965]], - [[120593, 120593], 'mapped', [966]], - [[120594, 120594], 'mapped', [967]], - [[120595, 120595], 'mapped', [968]], - [[120596, 120596], 'mapped', [969]], - [[120597, 120597], 'mapped', [8706]], - [[120598, 120598], 'mapped', [949]], - [[120599, 120599], 'mapped', [952]], - [[120600, 120600], 'mapped', [954]], - [[120601, 120601], 'mapped', [966]], - [[120602, 120602], 'mapped', [961]], - [[120603, 120603], 'mapped', [960]], - [[120604, 120604], 'mapped', [945]], - [[120605, 120605], 'mapped', [946]], - [[120606, 120606], 'mapped', [947]], - [[120607, 120607], 'mapped', [948]], - [[120608, 120608], 'mapped', [949]], - [[120609, 120609], 'mapped', [950]], - [[120610, 120610], 'mapped', [951]], - [[120611, 120611], 'mapped', [952]], - [[120612, 120612], 'mapped', [953]], - [[120613, 120613], 'mapped', [954]], - [[120614, 120614], 'mapped', [955]], - [[120615, 120615], 'mapped', [956]], - [[120616, 120616], 'mapped', [957]], - [[120617, 120617], 'mapped', [958]], - [[120618, 120618], 'mapped', [959]], - [[120619, 120619], 'mapped', [960]], - [[120620, 120620], 'mapped', [961]], - [[120621, 120621], 'mapped', [952]], - [[120622, 120622], 'mapped', [963]], - [[120623, 120623], 'mapped', [964]], - [[120624, 120624], 'mapped', [965]], - [[120625, 120625], 'mapped', [966]], - [[120626, 120626], 'mapped', [967]], - [[120627, 120627], 'mapped', [968]], - [[120628, 120628], 'mapped', [969]], - [[120629, 120629], 'mapped', [8711]], - [[120630, 120630], 'mapped', [945]], - [[120631, 120631], 'mapped', [946]], - [[120632, 120632], 'mapped', [947]], - [[120633, 120633], 'mapped', [948]], - [[120634, 120634], 'mapped', [949]], - [[120635, 120635], 'mapped', [950]], - [[120636, 120636], 'mapped', [951]], - [[120637, 120637], 'mapped', [952]], - [[120638, 120638], 'mapped', [953]], - [[120639, 120639], 'mapped', [954]], - [[120640, 120640], 'mapped', [955]], - [[120641, 120641], 'mapped', [956]], - [[120642, 120642], 'mapped', [957]], - [[120643, 120643], 'mapped', [958]], - [[120644, 120644], 'mapped', [959]], - [[120645, 120645], 'mapped', [960]], - [[120646, 120646], 'mapped', [961]], - [[120647, 120648], 'mapped', [963]], - [[120649, 120649], 'mapped', [964]], - [[120650, 120650], 'mapped', [965]], - [[120651, 120651], 'mapped', [966]], - [[120652, 120652], 'mapped', [967]], - [[120653, 120653], 'mapped', [968]], - [[120654, 120654], 'mapped', [969]], - [[120655, 120655], 'mapped', [8706]], - [[120656, 120656], 'mapped', [949]], - [[120657, 120657], 'mapped', [952]], - [[120658, 120658], 'mapped', [954]], - [[120659, 120659], 'mapped', [966]], - [[120660, 120660], 'mapped', [961]], - [[120661, 120661], 'mapped', [960]], - [[120662, 120662], 'mapped', [945]], - [[120663, 120663], 'mapped', [946]], - [[120664, 120664], 'mapped', [947]], - [[120665, 120665], 'mapped', [948]], - [[120666, 120666], 'mapped', [949]], - [[120667, 120667], 'mapped', [950]], - [[120668, 120668], 'mapped', [951]], - [[120669, 120669], 'mapped', [952]], - [[120670, 120670], 'mapped', [953]], - [[120671, 120671], 'mapped', [954]], - [[120672, 120672], 'mapped', [955]], - [[120673, 120673], 'mapped', [956]], - [[120674, 120674], 'mapped', [957]], - [[120675, 120675], 'mapped', [958]], - [[120676, 120676], 'mapped', [959]], - [[120677, 120677], 'mapped', [960]], - [[120678, 120678], 'mapped', [961]], - [[120679, 120679], 'mapped', [952]], - [[120680, 120680], 'mapped', [963]], - [[120681, 120681], 'mapped', [964]], - [[120682, 120682], 'mapped', [965]], - [[120683, 120683], 'mapped', [966]], - [[120684, 120684], 'mapped', [967]], - [[120685, 120685], 'mapped', [968]], - [[120686, 120686], 'mapped', [969]], - [[120687, 120687], 'mapped', [8711]], - [[120688, 120688], 'mapped', [945]], - [[120689, 120689], 'mapped', [946]], - [[120690, 120690], 'mapped', [947]], - [[120691, 120691], 'mapped', [948]], - [[120692, 120692], 'mapped', [949]], - [[120693, 120693], 'mapped', [950]], - [[120694, 120694], 'mapped', [951]], - [[120695, 120695], 'mapped', [952]], - [[120696, 120696], 'mapped', [953]], - [[120697, 120697], 'mapped', [954]], - [[120698, 120698], 'mapped', [955]], - [[120699, 120699], 'mapped', [956]], - [[120700, 120700], 'mapped', [957]], - [[120701, 120701], 'mapped', [958]], - [[120702, 120702], 'mapped', [959]], - [[120703, 120703], 'mapped', [960]], - [[120704, 120704], 'mapped', [961]], - [[120705, 120706], 'mapped', [963]], - [[120707, 120707], 'mapped', [964]], - [[120708, 120708], 'mapped', [965]], - [[120709, 120709], 'mapped', [966]], - [[120710, 120710], 'mapped', [967]], - [[120711, 120711], 'mapped', [968]], - [[120712, 120712], 'mapped', [969]], - [[120713, 120713], 'mapped', [8706]], - [[120714, 120714], 'mapped', [949]], - [[120715, 120715], 'mapped', [952]], - [[120716, 120716], 'mapped', [954]], - [[120717, 120717], 'mapped', [966]], - [[120718, 120718], 'mapped', [961]], - [[120719, 120719], 'mapped', [960]], - [[120720, 120720], 'mapped', [945]], - [[120721, 120721], 'mapped', [946]], - [[120722, 120722], 'mapped', [947]], - [[120723, 120723], 'mapped', [948]], - [[120724, 120724], 'mapped', [949]], - [[120725, 120725], 'mapped', [950]], - [[120726, 120726], 'mapped', [951]], - [[120727, 120727], 'mapped', [952]], - [[120728, 120728], 'mapped', [953]], - [[120729, 120729], 'mapped', [954]], - [[120730, 120730], 'mapped', [955]], - [[120731, 120731], 'mapped', [956]], - [[120732, 120732], 'mapped', [957]], - [[120733, 120733], 'mapped', [958]], - [[120734, 120734], 'mapped', [959]], - [[120735, 120735], 'mapped', [960]], - [[120736, 120736], 'mapped', [961]], - [[120737, 120737], 'mapped', [952]], - [[120738, 120738], 'mapped', [963]], - [[120739, 120739], 'mapped', [964]], - [[120740, 120740], 'mapped', [965]], - [[120741, 120741], 'mapped', [966]], - [[120742, 120742], 'mapped', [967]], - [[120743, 120743], 'mapped', [968]], - [[120744, 120744], 'mapped', [969]], - [[120745, 120745], 'mapped', [8711]], - [[120746, 120746], 'mapped', [945]], - [[120747, 120747], 'mapped', [946]], - [[120748, 120748], 'mapped', [947]], - [[120749, 120749], 'mapped', [948]], - [[120750, 120750], 'mapped', [949]], - [[120751, 120751], 'mapped', [950]], - [[120752, 120752], 'mapped', [951]], - [[120753, 120753], 'mapped', [952]], - [[120754, 120754], 'mapped', [953]], - [[120755, 120755], 'mapped', [954]], - [[120756, 120756], 'mapped', [955]], - [[120757, 120757], 'mapped', [956]], - [[120758, 120758], 'mapped', [957]], - [[120759, 120759], 'mapped', [958]], - [[120760, 120760], 'mapped', [959]], - [[120761, 120761], 'mapped', [960]], - [[120762, 120762], 'mapped', [961]], - [[120763, 120764], 'mapped', [963]], - [[120765, 120765], 'mapped', [964]], - [[120766, 120766], 'mapped', [965]], - [[120767, 120767], 'mapped', [966]], - [[120768, 120768], 'mapped', [967]], - [[120769, 120769], 'mapped', [968]], - [[120770, 120770], 'mapped', [969]], - [[120771, 120771], 'mapped', [8706]], - [[120772, 120772], 'mapped', [949]], - [[120773, 120773], 'mapped', [952]], - [[120774, 120774], 'mapped', [954]], - [[120775, 120775], 'mapped', [966]], - [[120776, 120776], 'mapped', [961]], - [[120777, 120777], 'mapped', [960]], - [[120778, 120779], 'mapped', [989]], - [[120780, 120781], 'disallowed'], - [[120782, 120782], 'mapped', [48]], - [[120783, 120783], 'mapped', [49]], - [[120784, 120784], 'mapped', [50]], - [[120785, 120785], 'mapped', [51]], - [[120786, 120786], 'mapped', [52]], - [[120787, 120787], 'mapped', [53]], - [[120788, 120788], 'mapped', [54]], - [[120789, 120789], 'mapped', [55]], - [[120790, 120790], 'mapped', [56]], - [[120791, 120791], 'mapped', [57]], - [[120792, 120792], 'mapped', [48]], - [[120793, 120793], 'mapped', [49]], - [[120794, 120794], 'mapped', [50]], - [[120795, 120795], 'mapped', [51]], - [[120796, 120796], 'mapped', [52]], - [[120797, 120797], 'mapped', [53]], - [[120798, 120798], 'mapped', [54]], - [[120799, 120799], 'mapped', [55]], - [[120800, 120800], 'mapped', [56]], - [[120801, 120801], 'mapped', [57]], - [[120802, 120802], 'mapped', [48]], - [[120803, 120803], 'mapped', [49]], - [[120804, 120804], 'mapped', [50]], - [[120805, 120805], 'mapped', [51]], - [[120806, 120806], 'mapped', [52]], - [[120807, 120807], 'mapped', [53]], - [[120808, 120808], 'mapped', [54]], - [[120809, 120809], 'mapped', [55]], - [[120810, 120810], 'mapped', [56]], - [[120811, 120811], 'mapped', [57]], - [[120812, 120812], 'mapped', [48]], - [[120813, 120813], 'mapped', [49]], - [[120814, 120814], 'mapped', [50]], - [[120815, 120815], 'mapped', [51]], - [[120816, 120816], 'mapped', [52]], - [[120817, 120817], 'mapped', [53]], - [[120818, 120818], 'mapped', [54]], - [[120819, 120819], 'mapped', [55]], - [[120820, 120820], 'mapped', [56]], - [[120821, 120821], 'mapped', [57]], - [[120822, 120822], 'mapped', [48]], - [[120823, 120823], 'mapped', [49]], - [[120824, 120824], 'mapped', [50]], - [[120825, 120825], 'mapped', [51]], - [[120826, 120826], 'mapped', [52]], - [[120827, 120827], 'mapped', [53]], - [[120828, 120828], 'mapped', [54]], - [[120829, 120829], 'mapped', [55]], - [[120830, 120830], 'mapped', [56]], - [[120831, 120831], 'mapped', [57]], - [[120832, 121343], 'valid', [], 'NV8'], - [[121344, 121398], 'valid'], - [[121399, 121402], 'valid', [], 'NV8'], - [[121403, 121452], 'valid'], - [[121453, 121460], 'valid', [], 'NV8'], - [[121461, 121461], 'valid'], - [[121462, 121475], 'valid', [], 'NV8'], - [[121476, 121476], 'valid'], - [[121477, 121483], 'valid', [], 'NV8'], - [[121484, 121498], 'disallowed'], - [[121499, 121503], 'valid'], - [[121504, 121504], 'disallowed'], - [[121505, 121519], 'valid'], - [[121520, 124927], 'disallowed'], - [[124928, 125124], 'valid'], - [[125125, 125126], 'disallowed'], - [[125127, 125135], 'valid', [], 'NV8'], - [[125136, 125142], 'valid'], - [[125143, 126463], 'disallowed'], - [[126464, 126464], 'mapped', [1575]], - [[126465, 126465], 'mapped', [1576]], - [[126466, 126466], 'mapped', [1580]], - [[126467, 126467], 'mapped', [1583]], - [[126468, 126468], 'disallowed'], - [[126469, 126469], 'mapped', [1608]], - [[126470, 126470], 'mapped', [1586]], - [[126471, 126471], 'mapped', [1581]], - [[126472, 126472], 'mapped', [1591]], - [[126473, 126473], 'mapped', [1610]], - [[126474, 126474], 'mapped', [1603]], - [[126475, 126475], 'mapped', [1604]], - [[126476, 126476], 'mapped', [1605]], - [[126477, 126477], 'mapped', [1606]], - [[126478, 126478], 'mapped', [1587]], - [[126479, 126479], 'mapped', [1593]], - [[126480, 126480], 'mapped', [1601]], - [[126481, 126481], 'mapped', [1589]], - [[126482, 126482], 'mapped', [1602]], - [[126483, 126483], 'mapped', [1585]], - [[126484, 126484], 'mapped', [1588]], - [[126485, 126485], 'mapped', [1578]], - [[126486, 126486], 'mapped', [1579]], - [[126487, 126487], 'mapped', [1582]], - [[126488, 126488], 'mapped', [1584]], - [[126489, 126489], 'mapped', [1590]], - [[126490, 126490], 'mapped', [1592]], - [[126491, 126491], 'mapped', [1594]], - [[126492, 126492], 'mapped', [1646]], - [[126493, 126493], 'mapped', [1722]], - [[126494, 126494], 'mapped', [1697]], - [[126495, 126495], 'mapped', [1647]], - [[126496, 126496], 'disallowed'], - [[126497, 126497], 'mapped', [1576]], - [[126498, 126498], 'mapped', [1580]], - [[126499, 126499], 'disallowed'], - [[126500, 126500], 'mapped', [1607]], - [[126501, 126502], 'disallowed'], - [[126503, 126503], 'mapped', [1581]], - [[126504, 126504], 'disallowed'], - [[126505, 126505], 'mapped', [1610]], - [[126506, 126506], 'mapped', [1603]], - [[126507, 126507], 'mapped', [1604]], - [[126508, 126508], 'mapped', [1605]], - [[126509, 126509], 'mapped', [1606]], - [[126510, 126510], 'mapped', [1587]], - [[126511, 126511], 'mapped', [1593]], - [[126512, 126512], 'mapped', [1601]], - [[126513, 126513], 'mapped', [1589]], - [[126514, 126514], 'mapped', [1602]], - [[126515, 126515], 'disallowed'], - [[126516, 126516], 'mapped', [1588]], - [[126517, 126517], 'mapped', [1578]], - [[126518, 126518], 'mapped', [1579]], - [[126519, 126519], 'mapped', [1582]], - [[126520, 126520], 'disallowed'], - [[126521, 126521], 'mapped', [1590]], - [[126522, 126522], 'disallowed'], - [[126523, 126523], 'mapped', [1594]], - [[126524, 126529], 'disallowed'], - [[126530, 126530], 'mapped', [1580]], - [[126531, 126534], 'disallowed'], - [[126535, 126535], 'mapped', [1581]], - [[126536, 126536], 'disallowed'], - [[126537, 126537], 'mapped', [1610]], - [[126538, 126538], 'disallowed'], - [[126539, 126539], 'mapped', [1604]], - [[126540, 126540], 'disallowed'], - [[126541, 126541], 'mapped', [1606]], - [[126542, 126542], 'mapped', [1587]], - [[126543, 126543], 'mapped', [1593]], - [[126544, 126544], 'disallowed'], - [[126545, 126545], 'mapped', [1589]], - [[126546, 126546], 'mapped', [1602]], - [[126547, 126547], 'disallowed'], - [[126548, 126548], 'mapped', [1588]], - [[126549, 126550], 'disallowed'], - [[126551, 126551], 'mapped', [1582]], - [[126552, 126552], 'disallowed'], - [[126553, 126553], 'mapped', [1590]], - [[126554, 126554], 'disallowed'], - [[126555, 126555], 'mapped', [1594]], - [[126556, 126556], 'disallowed'], - [[126557, 126557], 'mapped', [1722]], - [[126558, 126558], 'disallowed'], - [[126559, 126559], 'mapped', [1647]], - [[126560, 126560], 'disallowed'], - [[126561, 126561], 'mapped', [1576]], - [[126562, 126562], 'mapped', [1580]], - [[126563, 126563], 'disallowed'], - [[126564, 126564], 'mapped', [1607]], - [[126565, 126566], 'disallowed'], - [[126567, 126567], 'mapped', [1581]], - [[126568, 126568], 'mapped', [1591]], - [[126569, 126569], 'mapped', [1610]], - [[126570, 126570], 'mapped', [1603]], - [[126571, 126571], 'disallowed'], - [[126572, 126572], 'mapped', [1605]], - [[126573, 126573], 'mapped', [1606]], - [[126574, 126574], 'mapped', [1587]], - [[126575, 126575], 'mapped', [1593]], - [[126576, 126576], 'mapped', [1601]], - [[126577, 126577], 'mapped', [1589]], - [[126578, 126578], 'mapped', [1602]], - [[126579, 126579], 'disallowed'], - [[126580, 126580], 'mapped', [1588]], - [[126581, 126581], 'mapped', [1578]], - [[126582, 126582], 'mapped', [1579]], - [[126583, 126583], 'mapped', [1582]], - [[126584, 126584], 'disallowed'], - [[126585, 126585], 'mapped', [1590]], - [[126586, 126586], 'mapped', [1592]], - [[126587, 126587], 'mapped', [1594]], - [[126588, 126588], 'mapped', [1646]], - [[126589, 126589], 'disallowed'], - [[126590, 126590], 'mapped', [1697]], - [[126591, 126591], 'disallowed'], - [[126592, 126592], 'mapped', [1575]], - [[126593, 126593], 'mapped', [1576]], - [[126594, 126594], 'mapped', [1580]], - [[126595, 126595], 'mapped', [1583]], - [[126596, 126596], 'mapped', [1607]], - [[126597, 126597], 'mapped', [1608]], - [[126598, 126598], 'mapped', [1586]], - [[126599, 126599], 'mapped', [1581]], - [[126600, 126600], 'mapped', [1591]], - [[126601, 126601], 'mapped', [1610]], - [[126602, 126602], 'disallowed'], - [[126603, 126603], 'mapped', [1604]], - [[126604, 126604], 'mapped', [1605]], - [[126605, 126605], 'mapped', [1606]], - [[126606, 126606], 'mapped', [1587]], - [[126607, 126607], 'mapped', [1593]], - [[126608, 126608], 'mapped', [1601]], - [[126609, 126609], 'mapped', [1589]], - [[126610, 126610], 'mapped', [1602]], - [[126611, 126611], 'mapped', [1585]], - [[126612, 126612], 'mapped', [1588]], - [[126613, 126613], 'mapped', [1578]], - [[126614, 126614], 'mapped', [1579]], - [[126615, 126615], 'mapped', [1582]], - [[126616, 126616], 'mapped', [1584]], - [[126617, 126617], 'mapped', [1590]], - [[126618, 126618], 'mapped', [1592]], - [[126619, 126619], 'mapped', [1594]], - [[126620, 126624], 'disallowed'], - [[126625, 126625], 'mapped', [1576]], - [[126626, 126626], 'mapped', [1580]], - [[126627, 126627], 'mapped', [1583]], - [[126628, 126628], 'disallowed'], - [[126629, 126629], 'mapped', [1608]], - [[126630, 126630], 'mapped', [1586]], - [[126631, 126631], 'mapped', [1581]], - [[126632, 126632], 'mapped', [1591]], - [[126633, 126633], 'mapped', [1610]], - [[126634, 126634], 'disallowed'], - [[126635, 126635], 'mapped', [1604]], - [[126636, 126636], 'mapped', [1605]], - [[126637, 126637], 'mapped', [1606]], - [[126638, 126638], 'mapped', [1587]], - [[126639, 126639], 'mapped', [1593]], - [[126640, 126640], 'mapped', [1601]], - [[126641, 126641], 'mapped', [1589]], - [[126642, 126642], 'mapped', [1602]], - [[126643, 126643], 'mapped', [1585]], - [[126644, 126644], 'mapped', [1588]], - [[126645, 126645], 'mapped', [1578]], - [[126646, 126646], 'mapped', [1579]], - [[126647, 126647], 'mapped', [1582]], - [[126648, 126648], 'mapped', [1584]], - [[126649, 126649], 'mapped', [1590]], - [[126650, 126650], 'mapped', [1592]], - [[126651, 126651], 'mapped', [1594]], - [[126652, 126703], 'disallowed'], - [[126704, 126705], 'valid', [], 'NV8'], - [[126706, 126975], 'disallowed'], - [[126976, 127019], 'valid', [], 'NV8'], - [[127020, 127023], 'disallowed'], - [[127024, 127123], 'valid', [], 'NV8'], - [[127124, 127135], 'disallowed'], - [[127136, 127150], 'valid', [], 'NV8'], - [[127151, 127152], 'disallowed'], - [[127153, 127166], 'valid', [], 'NV8'], - [[127167, 127167], 'valid', [], 'NV8'], - [[127168, 127168], 'disallowed'], - [[127169, 127183], 'valid', [], 'NV8'], - [[127184, 127184], 'disallowed'], - [[127185, 127199], 'valid', [], 'NV8'], - [[127200, 127221], 'valid', [], 'NV8'], - [[127222, 127231], 'disallowed'], - [[127232, 127232], 'disallowed'], - [[127233, 127233], 'disallowed_STD3_mapped', [48, 44]], - [[127234, 127234], 'disallowed_STD3_mapped', [49, 44]], - [[127235, 127235], 'disallowed_STD3_mapped', [50, 44]], - [[127236, 127236], 'disallowed_STD3_mapped', [51, 44]], - [[127237, 127237], 'disallowed_STD3_mapped', [52, 44]], - [[127238, 127238], 'disallowed_STD3_mapped', [53, 44]], - [[127239, 127239], 'disallowed_STD3_mapped', [54, 44]], - [[127240, 127240], 'disallowed_STD3_mapped', [55, 44]], - [[127241, 127241], 'disallowed_STD3_mapped', [56, 44]], - [[127242, 127242], 'disallowed_STD3_mapped', [57, 44]], - [[127243, 127244], 'valid', [], 'NV8'], - [[127245, 127247], 'disallowed'], - [[127248, 127248], 'disallowed_STD3_mapped', [40, 97, 41]], - [[127249, 127249], 'disallowed_STD3_mapped', [40, 98, 41]], - [[127250, 127250], 'disallowed_STD3_mapped', [40, 99, 41]], - [[127251, 127251], 'disallowed_STD3_mapped', [40, 100, 41]], - [[127252, 127252], 'disallowed_STD3_mapped', [40, 101, 41]], - [[127253, 127253], 'disallowed_STD3_mapped', [40, 102, 41]], - [[127254, 127254], 'disallowed_STD3_mapped', [40, 103, 41]], - [[127255, 127255], 'disallowed_STD3_mapped', [40, 104, 41]], - [[127256, 127256], 'disallowed_STD3_mapped', [40, 105, 41]], - [[127257, 127257], 'disallowed_STD3_mapped', [40, 106, 41]], - [[127258, 127258], 'disallowed_STD3_mapped', [40, 107, 41]], - [[127259, 127259], 'disallowed_STD3_mapped', [40, 108, 41]], - [[127260, 127260], 'disallowed_STD3_mapped', [40, 109, 41]], - [[127261, 127261], 'disallowed_STD3_mapped', [40, 110, 41]], - [[127262, 127262], 'disallowed_STD3_mapped', [40, 111, 41]], - [[127263, 127263], 'disallowed_STD3_mapped', [40, 112, 41]], - [[127264, 127264], 'disallowed_STD3_mapped', [40, 113, 41]], - [[127265, 127265], 'disallowed_STD3_mapped', [40, 114, 41]], - [[127266, 127266], 'disallowed_STD3_mapped', [40, 115, 41]], - [[127267, 127267], 'disallowed_STD3_mapped', [40, 116, 41]], - [[127268, 127268], 'disallowed_STD3_mapped', [40, 117, 41]], - [[127269, 127269], 'disallowed_STD3_mapped', [40, 118, 41]], - [[127270, 127270], 'disallowed_STD3_mapped', [40, 119, 41]], - [[127271, 127271], 'disallowed_STD3_mapped', [40, 120, 41]], - [[127272, 127272], 'disallowed_STD3_mapped', [40, 121, 41]], - [[127273, 127273], 'disallowed_STD3_mapped', [40, 122, 41]], - [[127274, 127274], 'mapped', [12308, 115, 12309]], - [[127275, 127275], 'mapped', [99]], - [[127276, 127276], 'mapped', [114]], - [[127277, 127277], 'mapped', [99, 100]], - [[127278, 127278], 'mapped', [119, 122]], - [[127279, 127279], 'disallowed'], - [[127280, 127280], 'mapped', [97]], - [[127281, 127281], 'mapped', [98]], - [[127282, 127282], 'mapped', [99]], - [[127283, 127283], 'mapped', [100]], - [[127284, 127284], 'mapped', [101]], - [[127285, 127285], 'mapped', [102]], - [[127286, 127286], 'mapped', [103]], - [[127287, 127287], 'mapped', [104]], - [[127288, 127288], 'mapped', [105]], - [[127289, 127289], 'mapped', [106]], - [[127290, 127290], 'mapped', [107]], - [[127291, 127291], 'mapped', [108]], - [[127292, 127292], 'mapped', [109]], - [[127293, 127293], 'mapped', [110]], - [[127294, 127294], 'mapped', [111]], - [[127295, 127295], 'mapped', [112]], - [[127296, 127296], 'mapped', [113]], - [[127297, 127297], 'mapped', [114]], - [[127298, 127298], 'mapped', [115]], - [[127299, 127299], 'mapped', [116]], - [[127300, 127300], 'mapped', [117]], - [[127301, 127301], 'mapped', [118]], - [[127302, 127302], 'mapped', [119]], - [[127303, 127303], 'mapped', [120]], - [[127304, 127304], 'mapped', [121]], - [[127305, 127305], 'mapped', [122]], - [[127306, 127306], 'mapped', [104, 118]], - [[127307, 127307], 'mapped', [109, 118]], - [[127308, 127308], 'mapped', [115, 100]], - [[127309, 127309], 'mapped', [115, 115]], - [[127310, 127310], 'mapped', [112, 112, 118]], - [[127311, 127311], 'mapped', [119, 99]], - [[127312, 127318], 'valid', [], 'NV8'], - [[127319, 127319], 'valid', [], 'NV8'], - [[127320, 127326], 'valid', [], 'NV8'], - [[127327, 127327], 'valid', [], 'NV8'], - [[127328, 127337], 'valid', [], 'NV8'], - [[127338, 127338], 'mapped', [109, 99]], - [[127339, 127339], 'mapped', [109, 100]], - [[127340, 127343], 'disallowed'], - [[127344, 127352], 'valid', [], 'NV8'], - [[127353, 127353], 'valid', [], 'NV8'], - [[127354, 127354], 'valid', [], 'NV8'], - [[127355, 127356], 'valid', [], 'NV8'], - [[127357, 127358], 'valid', [], 'NV8'], - [[127359, 127359], 'valid', [], 'NV8'], - [[127360, 127369], 'valid', [], 'NV8'], - [[127370, 127373], 'valid', [], 'NV8'], - [[127374, 127375], 'valid', [], 'NV8'], - [[127376, 127376], 'mapped', [100, 106]], - [[127377, 127386], 'valid', [], 'NV8'], - [[127387, 127461], 'disallowed'], - [[127462, 127487], 'valid', [], 'NV8'], - [[127488, 127488], 'mapped', [12411, 12363]], - [[127489, 127489], 'mapped', [12467, 12467]], - [[127490, 127490], 'mapped', [12469]], - [[127491, 127503], 'disallowed'], - [[127504, 127504], 'mapped', [25163]], - [[127505, 127505], 'mapped', [23383]], - [[127506, 127506], 'mapped', [21452]], - [[127507, 127507], 'mapped', [12487]], - [[127508, 127508], 'mapped', [20108]], - [[127509, 127509], 'mapped', [22810]], - [[127510, 127510], 'mapped', [35299]], - [[127511, 127511], 'mapped', [22825]], - [[127512, 127512], 'mapped', [20132]], - [[127513, 127513], 'mapped', [26144]], - [[127514, 127514], 'mapped', [28961]], - [[127515, 127515], 'mapped', [26009]], - [[127516, 127516], 'mapped', [21069]], - [[127517, 127517], 'mapped', [24460]], - [[127518, 127518], 'mapped', [20877]], - [[127519, 127519], 'mapped', [26032]], - [[127520, 127520], 'mapped', [21021]], - [[127521, 127521], 'mapped', [32066]], - [[127522, 127522], 'mapped', [29983]], - [[127523, 127523], 'mapped', [36009]], - [[127524, 127524], 'mapped', [22768]], - [[127525, 127525], 'mapped', [21561]], - [[127526, 127526], 'mapped', [28436]], - [[127527, 127527], 'mapped', [25237]], - [[127528, 127528], 'mapped', [25429]], - [[127529, 127529], 'mapped', [19968]], - [[127530, 127530], 'mapped', [19977]], - [[127531, 127531], 'mapped', [36938]], - [[127532, 127532], 'mapped', [24038]], - [[127533, 127533], 'mapped', [20013]], - [[127534, 127534], 'mapped', [21491]], - [[127535, 127535], 'mapped', [25351]], - [[127536, 127536], 'mapped', [36208]], - [[127537, 127537], 'mapped', [25171]], - [[127538, 127538], 'mapped', [31105]], - [[127539, 127539], 'mapped', [31354]], - [[127540, 127540], 'mapped', [21512]], - [[127541, 127541], 'mapped', [28288]], - [[127542, 127542], 'mapped', [26377]], - [[127543, 127543], 'mapped', [26376]], - [[127544, 127544], 'mapped', [30003]], - [[127545, 127545], 'mapped', [21106]], - [[127546, 127546], 'mapped', [21942]], - [[127547, 127551], 'disallowed'], - [[127552, 127552], 'mapped', [12308, 26412, 12309]], - [[127553, 127553], 'mapped', [12308, 19977, 12309]], - [[127554, 127554], 'mapped', [12308, 20108, 12309]], - [[127555, 127555], 'mapped', [12308, 23433, 12309]], - [[127556, 127556], 'mapped', [12308, 28857, 12309]], - [[127557, 127557], 'mapped', [12308, 25171, 12309]], - [[127558, 127558], 'mapped', [12308, 30423, 12309]], - [[127559, 127559], 'mapped', [12308, 21213, 12309]], - [[127560, 127560], 'mapped', [12308, 25943, 12309]], - [[127561, 127567], 'disallowed'], - [[127568, 127568], 'mapped', [24471]], - [[127569, 127569], 'mapped', [21487]], - [[127570, 127743], 'disallowed'], - [[127744, 127776], 'valid', [], 'NV8'], - [[127777, 127788], 'valid', [], 'NV8'], - [[127789, 127791], 'valid', [], 'NV8'], - [[127792, 127797], 'valid', [], 'NV8'], - [[127798, 127798], 'valid', [], 'NV8'], - [[127799, 127868], 'valid', [], 'NV8'], - [[127869, 127869], 'valid', [], 'NV8'], - [[127870, 127871], 'valid', [], 'NV8'], - [[127872, 127891], 'valid', [], 'NV8'], - [[127892, 127903], 'valid', [], 'NV8'], - [[127904, 127940], 'valid', [], 'NV8'], - [[127941, 127941], 'valid', [], 'NV8'], - [[127942, 127946], 'valid', [], 'NV8'], - [[127947, 127950], 'valid', [], 'NV8'], - [[127951, 127955], 'valid', [], 'NV8'], - [[127956, 127967], 'valid', [], 'NV8'], - [[127968, 127984], 'valid', [], 'NV8'], - [[127985, 127991], 'valid', [], 'NV8'], - [[127992, 127999], 'valid', [], 'NV8'], - [[128e3, 128062], 'valid', [], 'NV8'], - [[128063, 128063], 'valid', [], 'NV8'], - [[128064, 128064], 'valid', [], 'NV8'], - [[128065, 128065], 'valid', [], 'NV8'], - [[128066, 128247], 'valid', [], 'NV8'], - [[128248, 128248], 'valid', [], 'NV8'], - [[128249, 128252], 'valid', [], 'NV8'], - [[128253, 128254], 'valid', [], 'NV8'], - [[128255, 128255], 'valid', [], 'NV8'], - [[128256, 128317], 'valid', [], 'NV8'], - [[128318, 128319], 'valid', [], 'NV8'], - [[128320, 128323], 'valid', [], 'NV8'], - [[128324, 128330], 'valid', [], 'NV8'], - [[128331, 128335], 'valid', [], 'NV8'], - [[128336, 128359], 'valid', [], 'NV8'], - [[128360, 128377], 'valid', [], 'NV8'], - [[128378, 128378], 'disallowed'], - [[128379, 128419], 'valid', [], 'NV8'], - [[128420, 128420], 'disallowed'], - [[128421, 128506], 'valid', [], 'NV8'], - [[128507, 128511], 'valid', [], 'NV8'], - [[128512, 128512], 'valid', [], 'NV8'], - [[128513, 128528], 'valid', [], 'NV8'], - [[128529, 128529], 'valid', [], 'NV8'], - [[128530, 128532], 'valid', [], 'NV8'], - [[128533, 128533], 'valid', [], 'NV8'], - [[128534, 128534], 'valid', [], 'NV8'], - [[128535, 128535], 'valid', [], 'NV8'], - [[128536, 128536], 'valid', [], 'NV8'], - [[128537, 128537], 'valid', [], 'NV8'], - [[128538, 128538], 'valid', [], 'NV8'], - [[128539, 128539], 'valid', [], 'NV8'], - [[128540, 128542], 'valid', [], 'NV8'], - [[128543, 128543], 'valid', [], 'NV8'], - [[128544, 128549], 'valid', [], 'NV8'], - [[128550, 128551], 'valid', [], 'NV8'], - [[128552, 128555], 'valid', [], 'NV8'], - [[128556, 128556], 'valid', [], 'NV8'], - [[128557, 128557], 'valid', [], 'NV8'], - [[128558, 128559], 'valid', [], 'NV8'], - [[128560, 128563], 'valid', [], 'NV8'], - [[128564, 128564], 'valid', [], 'NV8'], - [[128565, 128576], 'valid', [], 'NV8'], - [[128577, 128578], 'valid', [], 'NV8'], - [[128579, 128580], 'valid', [], 'NV8'], - [[128581, 128591], 'valid', [], 'NV8'], - [[128592, 128639], 'valid', [], 'NV8'], - [[128640, 128709], 'valid', [], 'NV8'], - [[128710, 128719], 'valid', [], 'NV8'], - [[128720, 128720], 'valid', [], 'NV8'], - [[128721, 128735], 'disallowed'], - [[128736, 128748], 'valid', [], 'NV8'], - [[128749, 128751], 'disallowed'], - [[128752, 128755], 'valid', [], 'NV8'], - [[128756, 128767], 'disallowed'], - [[128768, 128883], 'valid', [], 'NV8'], - [[128884, 128895], 'disallowed'], - [[128896, 128980], 'valid', [], 'NV8'], - [[128981, 129023], 'disallowed'], - [[129024, 129035], 'valid', [], 'NV8'], - [[129036, 129039], 'disallowed'], - [[129040, 129095], 'valid', [], 'NV8'], - [[129096, 129103], 'disallowed'], - [[129104, 129113], 'valid', [], 'NV8'], - [[129114, 129119], 'disallowed'], - [[129120, 129159], 'valid', [], 'NV8'], - [[129160, 129167], 'disallowed'], - [[129168, 129197], 'valid', [], 'NV8'], - [[129198, 129295], 'disallowed'], - [[129296, 129304], 'valid', [], 'NV8'], - [[129305, 129407], 'disallowed'], - [[129408, 129412], 'valid', [], 'NV8'], - [[129413, 129471], 'disallowed'], - [[129472, 129472], 'valid', [], 'NV8'], - [[129473, 131069], 'disallowed'], - [[131070, 131071], 'disallowed'], - [[131072, 173782], 'valid'], - [[173783, 173823], 'disallowed'], - [[173824, 177972], 'valid'], - [[177973, 177983], 'disallowed'], - [[177984, 178205], 'valid'], - [[178206, 178207], 'disallowed'], - [[178208, 183969], 'valid'], - [[183970, 194559], 'disallowed'], - [[194560, 194560], 'mapped', [20029]], - [[194561, 194561], 'mapped', [20024]], - [[194562, 194562], 'mapped', [20033]], - [[194563, 194563], 'mapped', [131362]], - [[194564, 194564], 'mapped', [20320]], - [[194565, 194565], 'mapped', [20398]], - [[194566, 194566], 'mapped', [20411]], - [[194567, 194567], 'mapped', [20482]], - [[194568, 194568], 'mapped', [20602]], - [[194569, 194569], 'mapped', [20633]], - [[194570, 194570], 'mapped', [20711]], - [[194571, 194571], 'mapped', [20687]], - [[194572, 194572], 'mapped', [13470]], - [[194573, 194573], 'mapped', [132666]], - [[194574, 194574], 'mapped', [20813]], - [[194575, 194575], 'mapped', [20820]], - [[194576, 194576], 'mapped', [20836]], - [[194577, 194577], 'mapped', [20855]], - [[194578, 194578], 'mapped', [132380]], - [[194579, 194579], 'mapped', [13497]], - [[194580, 194580], 'mapped', [20839]], - [[194581, 194581], 'mapped', [20877]], - [[194582, 194582], 'mapped', [132427]], - [[194583, 194583], 'mapped', [20887]], - [[194584, 194584], 'mapped', [20900]], - [[194585, 194585], 'mapped', [20172]], - [[194586, 194586], 'mapped', [20908]], - [[194587, 194587], 'mapped', [20917]], - [[194588, 194588], 'mapped', [168415]], - [[194589, 194589], 'mapped', [20981]], - [[194590, 194590], 'mapped', [20995]], - [[194591, 194591], 'mapped', [13535]], - [[194592, 194592], 'mapped', [21051]], - [[194593, 194593], 'mapped', [21062]], - [[194594, 194594], 'mapped', [21106]], - [[194595, 194595], 'mapped', [21111]], - [[194596, 194596], 'mapped', [13589]], - [[194597, 194597], 'mapped', [21191]], - [[194598, 194598], 'mapped', [21193]], - [[194599, 194599], 'mapped', [21220]], - [[194600, 194600], 'mapped', [21242]], - [[194601, 194601], 'mapped', [21253]], - [[194602, 194602], 'mapped', [21254]], - [[194603, 194603], 'mapped', [21271]], - [[194604, 194604], 'mapped', [21321]], - [[194605, 194605], 'mapped', [21329]], - [[194606, 194606], 'mapped', [21338]], - [[194607, 194607], 'mapped', [21363]], - [[194608, 194608], 'mapped', [21373]], - [[194609, 194611], 'mapped', [21375]], - [[194612, 194612], 'mapped', [133676]], - [[194613, 194613], 'mapped', [28784]], - [[194614, 194614], 'mapped', [21450]], - [[194615, 194615], 'mapped', [21471]], - [[194616, 194616], 'mapped', [133987]], - [[194617, 194617], 'mapped', [21483]], - [[194618, 194618], 'mapped', [21489]], - [[194619, 194619], 'mapped', [21510]], - [[194620, 194620], 'mapped', [21662]], - [[194621, 194621], 'mapped', [21560]], - [[194622, 194622], 'mapped', [21576]], - [[194623, 194623], 'mapped', [21608]], - [[194624, 194624], 'mapped', [21666]], - [[194625, 194625], 'mapped', [21750]], - [[194626, 194626], 'mapped', [21776]], - [[194627, 194627], 'mapped', [21843]], - [[194628, 194628], 'mapped', [21859]], - [[194629, 194630], 'mapped', [21892]], - [[194631, 194631], 'mapped', [21913]], - [[194632, 194632], 'mapped', [21931]], - [[194633, 194633], 'mapped', [21939]], - [[194634, 194634], 'mapped', [21954]], - [[194635, 194635], 'mapped', [22294]], - [[194636, 194636], 'mapped', [22022]], - [[194637, 194637], 'mapped', [22295]], - [[194638, 194638], 'mapped', [22097]], - [[194639, 194639], 'mapped', [22132]], - [[194640, 194640], 'mapped', [20999]], - [[194641, 194641], 'mapped', [22766]], - [[194642, 194642], 'mapped', [22478]], - [[194643, 194643], 'mapped', [22516]], - [[194644, 194644], 'mapped', [22541]], - [[194645, 194645], 'mapped', [22411]], - [[194646, 194646], 'mapped', [22578]], - [[194647, 194647], 'mapped', [22577]], - [[194648, 194648], 'mapped', [22700]], - [[194649, 194649], 'mapped', [136420]], - [[194650, 194650], 'mapped', [22770]], - [[194651, 194651], 'mapped', [22775]], - [[194652, 194652], 'mapped', [22790]], - [[194653, 194653], 'mapped', [22810]], - [[194654, 194654], 'mapped', [22818]], - [[194655, 194655], 'mapped', [22882]], - [[194656, 194656], 'mapped', [136872]], - [[194657, 194657], 'mapped', [136938]], - [[194658, 194658], 'mapped', [23020]], - [[194659, 194659], 'mapped', [23067]], - [[194660, 194660], 'mapped', [23079]], - [[194661, 194661], 'mapped', [23e3]], - [[194662, 194662], 'mapped', [23142]], - [[194663, 194663], 'mapped', [14062]], - [[194664, 194664], 'disallowed'], - [[194665, 194665], 'mapped', [23304]], - [[194666, 194667], 'mapped', [23358]], - [[194668, 194668], 'mapped', [137672]], - [[194669, 194669], 'mapped', [23491]], - [[194670, 194670], 'mapped', [23512]], - [[194671, 194671], 'mapped', [23527]], - [[194672, 194672], 'mapped', [23539]], - [[194673, 194673], 'mapped', [138008]], - [[194674, 194674], 'mapped', [23551]], - [[194675, 194675], 'mapped', [23558]], - [[194676, 194676], 'disallowed'], - [[194677, 194677], 'mapped', [23586]], - [[194678, 194678], 'mapped', [14209]], - [[194679, 194679], 'mapped', [23648]], - [[194680, 194680], 'mapped', [23662]], - [[194681, 194681], 'mapped', [23744]], - [[194682, 194682], 'mapped', [23693]], - [[194683, 194683], 'mapped', [138724]], - [[194684, 194684], 'mapped', [23875]], - [[194685, 194685], 'mapped', [138726]], - [[194686, 194686], 'mapped', [23918]], - [[194687, 194687], 'mapped', [23915]], - [[194688, 194688], 'mapped', [23932]], - [[194689, 194689], 'mapped', [24033]], - [[194690, 194690], 'mapped', [24034]], - [[194691, 194691], 'mapped', [14383]], - [[194692, 194692], 'mapped', [24061]], - [[194693, 194693], 'mapped', [24104]], - [[194694, 194694], 'mapped', [24125]], - [[194695, 194695], 'mapped', [24169]], - [[194696, 194696], 'mapped', [14434]], - [[194697, 194697], 'mapped', [139651]], - [[194698, 194698], 'mapped', [14460]], - [[194699, 194699], 'mapped', [24240]], - [[194700, 194700], 'mapped', [24243]], - [[194701, 194701], 'mapped', [24246]], - [[194702, 194702], 'mapped', [24266]], - [[194703, 194703], 'mapped', [172946]], - [[194704, 194704], 'mapped', [24318]], - [[194705, 194706], 'mapped', [140081]], - [[194707, 194707], 'mapped', [33281]], - [[194708, 194709], 'mapped', [24354]], - [[194710, 194710], 'mapped', [14535]], - [[194711, 194711], 'mapped', [144056]], - [[194712, 194712], 'mapped', [156122]], - [[194713, 194713], 'mapped', [24418]], - [[194714, 194714], 'mapped', [24427]], - [[194715, 194715], 'mapped', [14563]], - [[194716, 194716], 'mapped', [24474]], - [[194717, 194717], 'mapped', [24525]], - [[194718, 194718], 'mapped', [24535]], - [[194719, 194719], 'mapped', [24569]], - [[194720, 194720], 'mapped', [24705]], - [[194721, 194721], 'mapped', [14650]], - [[194722, 194722], 'mapped', [14620]], - [[194723, 194723], 'mapped', [24724]], - [[194724, 194724], 'mapped', [141012]], - [[194725, 194725], 'mapped', [24775]], - [[194726, 194726], 'mapped', [24904]], - [[194727, 194727], 'mapped', [24908]], - [[194728, 194728], 'mapped', [24910]], - [[194729, 194729], 'mapped', [24908]], - [[194730, 194730], 'mapped', [24954]], - [[194731, 194731], 'mapped', [24974]], - [[194732, 194732], 'mapped', [25010]], - [[194733, 194733], 'mapped', [24996]], - [[194734, 194734], 'mapped', [25007]], - [[194735, 194735], 'mapped', [25054]], - [[194736, 194736], 'mapped', [25074]], - [[194737, 194737], 'mapped', [25078]], - [[194738, 194738], 'mapped', [25104]], - [[194739, 194739], 'mapped', [25115]], - [[194740, 194740], 'mapped', [25181]], - [[194741, 194741], 'mapped', [25265]], - [[194742, 194742], 'mapped', [25300]], - [[194743, 194743], 'mapped', [25424]], - [[194744, 194744], 'mapped', [142092]], - [[194745, 194745], 'mapped', [25405]], - [[194746, 194746], 'mapped', [25340]], - [[194747, 194747], 'mapped', [25448]], - [[194748, 194748], 'mapped', [25475]], - [[194749, 194749], 'mapped', [25572]], - [[194750, 194750], 'mapped', [142321]], - [[194751, 194751], 'mapped', [25634]], - [[194752, 194752], 'mapped', [25541]], - [[194753, 194753], 'mapped', [25513]], - [[194754, 194754], 'mapped', [14894]], - [[194755, 194755], 'mapped', [25705]], - [[194756, 194756], 'mapped', [25726]], - [[194757, 194757], 'mapped', [25757]], - [[194758, 194758], 'mapped', [25719]], - [[194759, 194759], 'mapped', [14956]], - [[194760, 194760], 'mapped', [25935]], - [[194761, 194761], 'mapped', [25964]], - [[194762, 194762], 'mapped', [143370]], - [[194763, 194763], 'mapped', [26083]], - [[194764, 194764], 'mapped', [26360]], - [[194765, 194765], 'mapped', [26185]], - [[194766, 194766], 'mapped', [15129]], - [[194767, 194767], 'mapped', [26257]], - [[194768, 194768], 'mapped', [15112]], - [[194769, 194769], 'mapped', [15076]], - [[194770, 194770], 'mapped', [20882]], - [[194771, 194771], 'mapped', [20885]], - [[194772, 194772], 'mapped', [26368]], - [[194773, 194773], 'mapped', [26268]], - [[194774, 194774], 'mapped', [32941]], - [[194775, 194775], 'mapped', [17369]], - [[194776, 194776], 'mapped', [26391]], - [[194777, 194777], 'mapped', [26395]], - [[194778, 194778], 'mapped', [26401]], - [[194779, 194779], 'mapped', [26462]], - [[194780, 194780], 'mapped', [26451]], - [[194781, 194781], 'mapped', [144323]], - [[194782, 194782], 'mapped', [15177]], - [[194783, 194783], 'mapped', [26618]], - [[194784, 194784], 'mapped', [26501]], - [[194785, 194785], 'mapped', [26706]], - [[194786, 194786], 'mapped', [26757]], - [[194787, 194787], 'mapped', [144493]], - [[194788, 194788], 'mapped', [26766]], - [[194789, 194789], 'mapped', [26655]], - [[194790, 194790], 'mapped', [26900]], - [[194791, 194791], 'mapped', [15261]], - [[194792, 194792], 'mapped', [26946]], - [[194793, 194793], 'mapped', [27043]], - [[194794, 194794], 'mapped', [27114]], - [[194795, 194795], 'mapped', [27304]], - [[194796, 194796], 'mapped', [145059]], - [[194797, 194797], 'mapped', [27355]], - [[194798, 194798], 'mapped', [15384]], - [[194799, 194799], 'mapped', [27425]], - [[194800, 194800], 'mapped', [145575]], - [[194801, 194801], 'mapped', [27476]], - [[194802, 194802], 'mapped', [15438]], - [[194803, 194803], 'mapped', [27506]], - [[194804, 194804], 'mapped', [27551]], - [[194805, 194805], 'mapped', [27578]], - [[194806, 194806], 'mapped', [27579]], - [[194807, 194807], 'mapped', [146061]], - [[194808, 194808], 'mapped', [138507]], - [[194809, 194809], 'mapped', [146170]], - [[194810, 194810], 'mapped', [27726]], - [[194811, 194811], 'mapped', [146620]], - [[194812, 194812], 'mapped', [27839]], - [[194813, 194813], 'mapped', [27853]], - [[194814, 194814], 'mapped', [27751]], - [[194815, 194815], 'mapped', [27926]], - [[194816, 194816], 'mapped', [27966]], - [[194817, 194817], 'mapped', [28023]], - [[194818, 194818], 'mapped', [27969]], - [[194819, 194819], 'mapped', [28009]], - [[194820, 194820], 'mapped', [28024]], - [[194821, 194821], 'mapped', [28037]], - [[194822, 194822], 'mapped', [146718]], - [[194823, 194823], 'mapped', [27956]], - [[194824, 194824], 'mapped', [28207]], - [[194825, 194825], 'mapped', [28270]], - [[194826, 194826], 'mapped', [15667]], - [[194827, 194827], 'mapped', [28363]], - [[194828, 194828], 'mapped', [28359]], - [[194829, 194829], 'mapped', [147153]], - [[194830, 194830], 'mapped', [28153]], - [[194831, 194831], 'mapped', [28526]], - [[194832, 194832], 'mapped', [147294]], - [[194833, 194833], 'mapped', [147342]], - [[194834, 194834], 'mapped', [28614]], - [[194835, 194835], 'mapped', [28729]], - [[194836, 194836], 'mapped', [28702]], - [[194837, 194837], 'mapped', [28699]], - [[194838, 194838], 'mapped', [15766]], - [[194839, 194839], 'mapped', [28746]], - [[194840, 194840], 'mapped', [28797]], - [[194841, 194841], 'mapped', [28791]], - [[194842, 194842], 'mapped', [28845]], - [[194843, 194843], 'mapped', [132389]], - [[194844, 194844], 'mapped', [28997]], - [[194845, 194845], 'mapped', [148067]], - [[194846, 194846], 'mapped', [29084]], - [[194847, 194847], 'disallowed'], - [[194848, 194848], 'mapped', [29224]], - [[194849, 194849], 'mapped', [29237]], - [[194850, 194850], 'mapped', [29264]], - [[194851, 194851], 'mapped', [149e3]], - [[194852, 194852], 'mapped', [29312]], - [[194853, 194853], 'mapped', [29333]], - [[194854, 194854], 'mapped', [149301]], - [[194855, 194855], 'mapped', [149524]], - [[194856, 194856], 'mapped', [29562]], - [[194857, 194857], 'mapped', [29579]], - [[194858, 194858], 'mapped', [16044]], - [[194859, 194859], 'mapped', [29605]], - [[194860, 194861], 'mapped', [16056]], - [[194862, 194862], 'mapped', [29767]], - [[194863, 194863], 'mapped', [29788]], - [[194864, 194864], 'mapped', [29809]], - [[194865, 194865], 'mapped', [29829]], - [[194866, 194866], 'mapped', [29898]], - [[194867, 194867], 'mapped', [16155]], - [[194868, 194868], 'mapped', [29988]], - [[194869, 194869], 'mapped', [150582]], - [[194870, 194870], 'mapped', [30014]], - [[194871, 194871], 'mapped', [150674]], - [[194872, 194872], 'mapped', [30064]], - [[194873, 194873], 'mapped', [139679]], - [[194874, 194874], 'mapped', [30224]], - [[194875, 194875], 'mapped', [151457]], - [[194876, 194876], 'mapped', [151480]], - [[194877, 194877], 'mapped', [151620]], - [[194878, 194878], 'mapped', [16380]], - [[194879, 194879], 'mapped', [16392]], - [[194880, 194880], 'mapped', [30452]], - [[194881, 194881], 'mapped', [151795]], - [[194882, 194882], 'mapped', [151794]], - [[194883, 194883], 'mapped', [151833]], - [[194884, 194884], 'mapped', [151859]], - [[194885, 194885], 'mapped', [30494]], - [[194886, 194887], 'mapped', [30495]], - [[194888, 194888], 'mapped', [30538]], - [[194889, 194889], 'mapped', [16441]], - [[194890, 194890], 'mapped', [30603]], - [[194891, 194891], 'mapped', [16454]], - [[194892, 194892], 'mapped', [16534]], - [[194893, 194893], 'mapped', [152605]], - [[194894, 194894], 'mapped', [30798]], - [[194895, 194895], 'mapped', [30860]], - [[194896, 194896], 'mapped', [30924]], - [[194897, 194897], 'mapped', [16611]], - [[194898, 194898], 'mapped', [153126]], - [[194899, 194899], 'mapped', [31062]], - [[194900, 194900], 'mapped', [153242]], - [[194901, 194901], 'mapped', [153285]], - [[194902, 194902], 'mapped', [31119]], - [[194903, 194903], 'mapped', [31211]], - [[194904, 194904], 'mapped', [16687]], - [[194905, 194905], 'mapped', [31296]], - [[194906, 194906], 'mapped', [31306]], - [[194907, 194907], 'mapped', [31311]], - [[194908, 194908], 'mapped', [153980]], - [[194909, 194910], 'mapped', [154279]], - [[194911, 194911], 'disallowed'], - [[194912, 194912], 'mapped', [16898]], - [[194913, 194913], 'mapped', [154539]], - [[194914, 194914], 'mapped', [31686]], - [[194915, 194915], 'mapped', [31689]], - [[194916, 194916], 'mapped', [16935]], - [[194917, 194917], 'mapped', [154752]], - [[194918, 194918], 'mapped', [31954]], - [[194919, 194919], 'mapped', [17056]], - [[194920, 194920], 'mapped', [31976]], - [[194921, 194921], 'mapped', [31971]], - [[194922, 194922], 'mapped', [32e3]], - [[194923, 194923], 'mapped', [155526]], - [[194924, 194924], 'mapped', [32099]], - [[194925, 194925], 'mapped', [17153]], - [[194926, 194926], 'mapped', [32199]], - [[194927, 194927], 'mapped', [32258]], - [[194928, 194928], 'mapped', [32325]], - [[194929, 194929], 'mapped', [17204]], - [[194930, 194930], 'mapped', [156200]], - [[194931, 194931], 'mapped', [156231]], - [[194932, 194932], 'mapped', [17241]], - [[194933, 194933], 'mapped', [156377]], - [[194934, 194934], 'mapped', [32634]], - [[194935, 194935], 'mapped', [156478]], - [[194936, 194936], 'mapped', [32661]], - [[194937, 194937], 'mapped', [32762]], - [[194938, 194938], 'mapped', [32773]], - [[194939, 194939], 'mapped', [156890]], - [[194940, 194940], 'mapped', [156963]], - [[194941, 194941], 'mapped', [32864]], - [[194942, 194942], 'mapped', [157096]], - [[194943, 194943], 'mapped', [32880]], - [[194944, 194944], 'mapped', [144223]], - [[194945, 194945], 'mapped', [17365]], - [[194946, 194946], 'mapped', [32946]], - [[194947, 194947], 'mapped', [33027]], - [[194948, 194948], 'mapped', [17419]], - [[194949, 194949], 'mapped', [33086]], - [[194950, 194950], 'mapped', [23221]], - [[194951, 194951], 'mapped', [157607]], - [[194952, 194952], 'mapped', [157621]], - [[194953, 194953], 'mapped', [144275]], - [[194954, 194954], 'mapped', [144284]], - [[194955, 194955], 'mapped', [33281]], - [[194956, 194956], 'mapped', [33284]], - [[194957, 194957], 'mapped', [36766]], - [[194958, 194958], 'mapped', [17515]], - [[194959, 194959], 'mapped', [33425]], - [[194960, 194960], 'mapped', [33419]], - [[194961, 194961], 'mapped', [33437]], - [[194962, 194962], 'mapped', [21171]], - [[194963, 194963], 'mapped', [33457]], - [[194964, 194964], 'mapped', [33459]], - [[194965, 194965], 'mapped', [33469]], - [[194966, 194966], 'mapped', [33510]], - [[194967, 194967], 'mapped', [158524]], - [[194968, 194968], 'mapped', [33509]], - [[194969, 194969], 'mapped', [33565]], - [[194970, 194970], 'mapped', [33635]], - [[194971, 194971], 'mapped', [33709]], - [[194972, 194972], 'mapped', [33571]], - [[194973, 194973], 'mapped', [33725]], - [[194974, 194974], 'mapped', [33767]], - [[194975, 194975], 'mapped', [33879]], - [[194976, 194976], 'mapped', [33619]], - [[194977, 194977], 'mapped', [33738]], - [[194978, 194978], 'mapped', [33740]], - [[194979, 194979], 'mapped', [33756]], - [[194980, 194980], 'mapped', [158774]], - [[194981, 194981], 'mapped', [159083]], - [[194982, 194982], 'mapped', [158933]], - [[194983, 194983], 'mapped', [17707]], - [[194984, 194984], 'mapped', [34033]], - [[194985, 194985], 'mapped', [34035]], - [[194986, 194986], 'mapped', [34070]], - [[194987, 194987], 'mapped', [160714]], - [[194988, 194988], 'mapped', [34148]], - [[194989, 194989], 'mapped', [159532]], - [[194990, 194990], 'mapped', [17757]], - [[194991, 194991], 'mapped', [17761]], - [[194992, 194992], 'mapped', [159665]], - [[194993, 194993], 'mapped', [159954]], - [[194994, 194994], 'mapped', [17771]], - [[194995, 194995], 'mapped', [34384]], - [[194996, 194996], 'mapped', [34396]], - [[194997, 194997], 'mapped', [34407]], - [[194998, 194998], 'mapped', [34409]], - [[194999, 194999], 'mapped', [34473]], - [[195e3, 195e3], 'mapped', [34440]], - [[195001, 195001], 'mapped', [34574]], - [[195002, 195002], 'mapped', [34530]], - [[195003, 195003], 'mapped', [34681]], - [[195004, 195004], 'mapped', [34600]], - [[195005, 195005], 'mapped', [34667]], - [[195006, 195006], 'mapped', [34694]], - [[195007, 195007], 'disallowed'], - [[195008, 195008], 'mapped', [34785]], - [[195009, 195009], 'mapped', [34817]], - [[195010, 195010], 'mapped', [17913]], - [[195011, 195011], 'mapped', [34912]], - [[195012, 195012], 'mapped', [34915]], - [[195013, 195013], 'mapped', [161383]], - [[195014, 195014], 'mapped', [35031]], - [[195015, 195015], 'mapped', [35038]], - [[195016, 195016], 'mapped', [17973]], - [[195017, 195017], 'mapped', [35066]], - [[195018, 195018], 'mapped', [13499]], - [[195019, 195019], 'mapped', [161966]], - [[195020, 195020], 'mapped', [162150]], - [[195021, 195021], 'mapped', [18110]], - [[195022, 195022], 'mapped', [18119]], - [[195023, 195023], 'mapped', [35488]], - [[195024, 195024], 'mapped', [35565]], - [[195025, 195025], 'mapped', [35722]], - [[195026, 195026], 'mapped', [35925]], - [[195027, 195027], 'mapped', [162984]], - [[195028, 195028], 'mapped', [36011]], - [[195029, 195029], 'mapped', [36033]], - [[195030, 195030], 'mapped', [36123]], - [[195031, 195031], 'mapped', [36215]], - [[195032, 195032], 'mapped', [163631]], - [[195033, 195033], 'mapped', [133124]], - [[195034, 195034], 'mapped', [36299]], - [[195035, 195035], 'mapped', [36284]], - [[195036, 195036], 'mapped', [36336]], - [[195037, 195037], 'mapped', [133342]], - [[195038, 195038], 'mapped', [36564]], - [[195039, 195039], 'mapped', [36664]], - [[195040, 195040], 'mapped', [165330]], - [[195041, 195041], 'mapped', [165357]], - [[195042, 195042], 'mapped', [37012]], - [[195043, 195043], 'mapped', [37105]], - [[195044, 195044], 'mapped', [37137]], - [[195045, 195045], 'mapped', [165678]], - [[195046, 195046], 'mapped', [37147]], - [[195047, 195047], 'mapped', [37432]], - [[195048, 195048], 'mapped', [37591]], - [[195049, 195049], 'mapped', [37592]], - [[195050, 195050], 'mapped', [37500]], - [[195051, 195051], 'mapped', [37881]], - [[195052, 195052], 'mapped', [37909]], - [[195053, 195053], 'mapped', [166906]], - [[195054, 195054], 'mapped', [38283]], - [[195055, 195055], 'mapped', [18837]], - [[195056, 195056], 'mapped', [38327]], - [[195057, 195057], 'mapped', [167287]], - [[195058, 195058], 'mapped', [18918]], - [[195059, 195059], 'mapped', [38595]], - [[195060, 195060], 'mapped', [23986]], - [[195061, 195061], 'mapped', [38691]], - [[195062, 195062], 'mapped', [168261]], - [[195063, 195063], 'mapped', [168474]], - [[195064, 195064], 'mapped', [19054]], - [[195065, 195065], 'mapped', [19062]], - [[195066, 195066], 'mapped', [38880]], - [[195067, 195067], 'mapped', [168970]], - [[195068, 195068], 'mapped', [19122]], - [[195069, 195069], 'mapped', [169110]], - [[195070, 195071], 'mapped', [38923]], - [[195072, 195072], 'mapped', [38953]], - [[195073, 195073], 'mapped', [169398]], - [[195074, 195074], 'mapped', [39138]], - [[195075, 195075], 'mapped', [19251]], - [[195076, 195076], 'mapped', [39209]], - [[195077, 195077], 'mapped', [39335]], - [[195078, 195078], 'mapped', [39362]], - [[195079, 195079], 'mapped', [39422]], - [[195080, 195080], 'mapped', [19406]], - [[195081, 195081], 'mapped', [170800]], - [[195082, 195082], 'mapped', [39698]], - [[195083, 195083], 'mapped', [4e4]], - [[195084, 195084], 'mapped', [40189]], - [[195085, 195085], 'mapped', [19662]], - [[195086, 195086], 'mapped', [19693]], - [[195087, 195087], 'mapped', [40295]], - [[195088, 195088], 'mapped', [172238]], - [[195089, 195089], 'mapped', [19704]], - [[195090, 195090], 'mapped', [172293]], - [[195091, 195091], 'mapped', [172558]], - [[195092, 195092], 'mapped', [172689]], - [[195093, 195093], 'mapped', [40635]], - [[195094, 195094], 'mapped', [19798]], - [[195095, 195095], 'mapped', [40697]], - [[195096, 195096], 'mapped', [40702]], - [[195097, 195097], 'mapped', [40709]], - [[195098, 195098], 'mapped', [40719]], - [[195099, 195099], 'mapped', [40726]], - [[195100, 195100], 'mapped', [40763]], - [[195101, 195101], 'mapped', [173568]], - [[195102, 196605], 'disallowed'], - [[196606, 196607], 'disallowed'], - [[196608, 262141], 'disallowed'], - [[262142, 262143], 'disallowed'], - [[262144, 327677], 'disallowed'], - [[327678, 327679], 'disallowed'], - [[327680, 393213], 'disallowed'], - [[393214, 393215], 'disallowed'], - [[393216, 458749], 'disallowed'], - [[458750, 458751], 'disallowed'], - [[458752, 524285], 'disallowed'], - [[524286, 524287], 'disallowed'], - [[524288, 589821], 'disallowed'], - [[589822, 589823], 'disallowed'], - [[589824, 655357], 'disallowed'], - [[655358, 655359], 'disallowed'], - [[655360, 720893], 'disallowed'], - [[720894, 720895], 'disallowed'], - [[720896, 786429], 'disallowed'], - [[786430, 786431], 'disallowed'], - [[786432, 851965], 'disallowed'], - [[851966, 851967], 'disallowed'], - [[851968, 917501], 'disallowed'], - [[917502, 917503], 'disallowed'], - [[917504, 917504], 'disallowed'], - [[917505, 917505], 'disallowed'], - [[917506, 917535], 'disallowed'], - [[917536, 917631], 'disallowed'], - [[917632, 917759], 'disallowed'], - [[917760, 917999], 'ignored'], - [[918e3, 983037], 'disallowed'], - [[983038, 983039], 'disallowed'], - [[983040, 1048573], 'disallowed'], - [[1048574, 1048575], 'disallowed'], - [[1048576, 1114109], 'disallowed'], - [[1114110, 1114111], 'disallowed'] +// node_modules/undici/lib/core/constants.js +var require_constants = __commonJS({ + "node_modules/undici/lib/core/constants.js"(exports2, module2) { + "use strict"; + var headerNameLowerCasedRecord = {}; + var wellknownHeaderNames = [ + "Accept", + "Accept-Encoding", + "Accept-Language", + "Accept-Ranges", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Age", + "Allow", + "Alt-Svc", + "Alt-Used", + "Authorization", + "Cache-Control", + "Clear-Site-Data", + "Connection", + "Content-Disposition", + "Content-Encoding", + "Content-Language", + "Content-Length", + "Content-Location", + "Content-Range", + "Content-Security-Policy", + "Content-Security-Policy-Report-Only", + "Content-Type", + "Cookie", + "Cross-Origin-Embedder-Policy", + "Cross-Origin-Opener-Policy", + "Cross-Origin-Resource-Policy", + "Date", + "Device-Memory", + "Downlink", + "ECT", + "ETag", + "Expect", + "Expect-CT", + "Expires", + "Forwarded", + "From", + "Host", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Range", + "If-Unmodified-Since", + "Keep-Alive", + "Last-Modified", + "Link", + "Location", + "Max-Forwards", + "Origin", + "Permissions-Policy", + "Pragma", + "Proxy-Authenticate", + "Proxy-Authorization", + "RTT", + "Range", + "Referer", + "Referrer-Policy", + "Refresh", + "Retry-After", + "Sec-WebSocket-Accept", + "Sec-WebSocket-Extensions", + "Sec-WebSocket-Key", + "Sec-WebSocket-Protocol", + "Sec-WebSocket-Version", + "Server", + "Server-Timing", + "Service-Worker-Allowed", + "Service-Worker-Navigation-Preload", + "Set-Cookie", + "SourceMap", + "Strict-Transport-Security", + "Supports-Loading-Mode", + "TE", + "Timing-Allow-Origin", + "Trailer", + "Transfer-Encoding", + "Upgrade", + "Upgrade-Insecure-Requests", + "User-Agent", + "Vary", + "Via", + "WWW-Authenticate", + "X-Content-Type-Options", + "X-DNS-Prefetch-Control", + "X-Frame-Options", + "X-Permitted-Cross-Domain-Policies", + "X-Powered-By", + "X-Requested-With", + "X-XSS-Protection" ]; + for (let i = 0; i < wellknownHeaderNames.length; ++i) { + const key = wellknownHeaderNames[i]; + const lowerCasedKey = key.toLowerCase(); + headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; + } + Object.setPrototypeOf(headerNameLowerCasedRecord, null); + module2.exports = { + wellknownHeaderNames, + headerNameLowerCasedRecord + }; } }); -// node_modules/tr46/index.js -var require_tr46 = __commonJS({ - 'node_modules/tr46/index.js'(exports2, module2) { - 'use strict'; - var punycode = require('punycode'); - var mappingTable = require_mappingTable(); - var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 - }; - function normalize(str) { - return str - .split('\0') - .map(function (s) { - return s.normalize('NFC'); - }) - .join('\0'); - } - function findStatus(val) { - var start = 0; - var end = mappingTable.length - 1; - while (start <= end) { - var mid = Math.floor((start + end) / 2); - var target = mappingTable[mid]; - if (target[0][0] <= val && target[0][1] >= val) { - return target; - } else if (target[0][0] > val) { - end = mid - 1; +// node_modules/undici/lib/core/tree.js +var require_tree = __commonJS({ + "node_modules/undici/lib/core/tree.js"(exports2, module2) { + "use strict"; + var { + wellknownHeaderNames, + headerNameLowerCasedRecord + } = require_constants(); + var TstNode = class _TstNode { + /** @type {any} */ + value = null; + /** @type {null | TstNode} */ + left = null; + /** @type {null | TstNode} */ + middle = null; + /** @type {null | TstNode} */ + right = null; + /** @type {number} */ + code; + /** + * @param {string} key + * @param {any} value + * @param {number} index + */ + constructor(key, value, index) { + if (index === void 0 || index >= key.length) { + throw new TypeError("Unreachable"); + } + const code = this.code = key.charCodeAt(index); + if (code > 127) { + throw new TypeError("key must be ascii string"); + } + if (key.length !== ++index) { + this.middle = new _TstNode(key, value, index); } else { - start = mid + 1; + this.value = value; } } - return null; - } - var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - function countSymbols(string) { - return string.replace(regexAstralSymbols, '_').length; - } - function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ''; - var len = countSymbols(domain_name); - for (var i = 0; i < len; ++i) { - var codePoint = domain_name.codePointAt(i); - var status = findStatus(codePoint); - switch (status[1]) { - case 'disallowed': - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case 'ignored': - break; - case 'mapped': - processed += String.fromCodePoint.apply(String, status[2]); - break; - case 'deviation': - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); + /** + * @param {string} key + * @param {any} value + */ + add(key, value) { + const length = key.length; + if (length === 0) { + throw new TypeError("Unreachable"); + } + let index = 0; + let node = this; + while (true) { + const code = key.charCodeAt(index); + if (code > 127) { + throw new TypeError("key must be ascii string"); + } + if (node.code === code) { + if (length === ++index) { + node.value = value; + break; + } else if (node.middle !== null) { + node = node.middle; } else { - processed += String.fromCodePoint(codePoint); + node.middle = new _TstNode(key, value, index); + break; } - break; - case 'valid': - processed += String.fromCodePoint(codePoint); - break; - case 'disallowed_STD3_mapped': - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); + } else if (node.code < code) { + if (node.left !== null) { + node = node.left; } else { - processed += String.fromCodePoint.apply(String, status[2]); + node.left = new _TstNode(key, value, index); + break; } + } else if (node.right !== null) { + node = node.right; + } else { + node.right = new _TstNode(key, value, index); break; - case 'disallowed_STD3_valid': - if (useSTD3) { - hasError = true; - } - processed += String.fromCodePoint(codePoint); - break; + } } } - return { - string: processed, - error: hasError - }; - } - var combiningMarksRegex = - /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - function validateLabel(label, processing_option) { - if (label.substr(0, 4) === 'xn--') { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - var error = false; - if ( - normalize(label) !== label || - (label[3] === '-' && label[4] === '-') || - label[0] === '-' || - label[label.length - 1] === '-' || - label.indexOf('.') !== -1 || - label.search(combiningMarksRegex) === 0 - ) { - error = true; - } - var len = countSymbols(label); - for (var i = 0; i < len; ++i) { - var status = findStatus(label.codePointAt(i)); - if ( - (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== 'valid') || - (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== 'valid' && status[1] !== 'deviation') - ) { - error = true; - break; + /** + * @param {Uint8Array} key + * @return {TstNode | null} + */ + search(key) { + const keylength = key.length; + let index = 0; + let node = this; + while (node !== null && index < keylength) { + let code = key[index]; + if (code <= 90 && code >= 65) { + code |= 32; + } + while (node !== null) { + if (code === node.code) { + if (keylength === ++index) { + return node; + } + node = node.middle; + break; + } + node = node.code < code ? node.left : node.right; + } } + return null; } - return { - label, - error - }; - } - function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - var labels = result.string.split('.'); - for (var i = 0; i < labels.length; ++i) { - try { - var validation = validateLabel(labels[i]); - labels[i] = validation.label; - result.error = result.error || validation.error; - } catch (e) { - result.error = true; + }; + var TernarySearchTree = class { + /** @type {TstNode | null} */ + node = null; + /** + * @param {string} key + * @param {any} value + * */ + insert(key, value) { + if (this.node === null) { + this.node = new TstNode(key, value, 0); + } else { + this.node.add(key, value); } } - return { - string: labels.join('.'), - error: result.error - }; - } - module2.exports.toASCII = function (domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split('.'); - labels = labels.map(function (l) { - try { - return punycode.toASCII(l); - } catch (e) { - result.error = true; - return l; - } - }); - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join('.').length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - for (var i = 0; i < labels.length; ++i) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; - } - } + /** + * @param {Uint8Array} key + * @return {any} + */ + lookup(key) { + return this.node?.search(key)?.value ?? null; } - if (result.error) return null; - return labels.join('.'); }; - module2.exports.toUnicode = function (domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - return { - domain: result.string, - error: result.error - }; + var tree = new TernarySearchTree(); + for (let i = 0; i < wellknownHeaderNames.length; ++i) { + const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]]; + tree.insert(key, key); + } + module2.exports = { + TernarySearchTree, + tree }; - module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; } }); -// node_modules/whatwg-url/lib/url-state-machine.js -var require_url_state_machine = __commonJS({ - 'node_modules/whatwg-url/lib/url-state-machine.js'(exports2, module2) { - 'use strict'; - var punycode = require('punycode'); - var tr46 = require_tr46(); - var specialSchemes = { - ftp: 21, - file: null, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var failure = Symbol('failure'); - function countSymbols(str) { - return punycode.ucs2.decode(str).length; - } - function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? void 0 : String.fromCodePoint(c); - } - function isASCIIDigit(c) { - return c >= 48 && c <= 57; - } - function isASCIIAlpha(c) { - return (c >= 65 && c <= 90) || (c >= 97 && c <= 122); - } - function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); - } - function isASCIIHex(c) { - return isASCIIDigit(c) || (c >= 65 && c <= 70) || (c >= 97 && c <= 102); - } - function isSingleDot(buffer) { - return buffer === '.' || buffer.toLowerCase() === '%2e'; - } - function isDoubleDot(buffer) { - buffer = buffer.toLowerCase(); - return buffer === '..' || buffer === '%2e.' || buffer === '.%2e' || buffer === '%2e%2e'; - } - function isWindowsDriveLetterCodePoints(cp1, cp2) { - return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); - } - function isWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ':' || string[1] === '|'); - } - function isNormalizedWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ':'; - } - function containsForbiddenHostCodePoint(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; - } - function containsForbiddenHostCodePointExcludingPercent(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; - } - function isSpecialScheme(scheme) { - return specialSchemes[scheme] !== void 0; - } - function isSpecial(url) { - return isSpecialScheme(url.scheme); - } - function defaultPort(scheme) { - return specialSchemes[scheme]; - } - function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); - if (hex.length === 1) { - hex = '0' + hex; - } - return '%' + hex; - } - function utf8PercentEncode(c) { - const buf = new Buffer(c); - let str = ''; - for (let i = 0; i < buf.length; ++i) { - str += percentEncode(buf[i]); - } - return str; - } - function utf8PercentDecode(str) { - const input = new Buffer(str); - const output = []; - for (let i = 0; i < input.length; ++i) { - if (input[i] !== 37) { - output.push(input[i]); - } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { - output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); - i += 2; - } else { - output.push(input[i]); +// node_modules/undici/lib/core/util.js +var require_util = __commonJS({ + "node_modules/undici/lib/core/util.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols(); + var { IncomingMessage } = require("node:http"); + var stream = require("node:stream"); + var net = require("node:net"); + var { Blob: Blob2 } = require("node:buffer"); + var nodeUtil = require("node:util"); + var { stringify } = require("node:querystring"); + var { EventEmitter: EE } = require("node:events"); + var { InvalidArgumentError } = require_errors(); + var { headerNameLowerCasedRecord } = require_constants(); + var { tree } = require_tree(); + var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + function wrapRequestBody(body) { + if (isStream(body)) { + if (bodyLength(body) === 0) { + body.on("data", function() { + assert(false); + }); + } + if (typeof body.readableDidRead !== "boolean") { + body[kBodyUsed] = false; + EE.prototype.on.call(body, "data", function() { + this[kBodyUsed] = true; + }); } + return body; + } else if (body && typeof body.pipeTo === "function") { + return new BodyAsyncIterable(body); + } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) { + return new BodyAsyncIterable(body); + } else { + return body; } - return new Buffer(output).toString(); } - function isC0ControlPercentEncode(c) { - return c <= 31 || c > 126; + function nop() { } - var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); + function isStream(obj) { + return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; } - var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); - } - function percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - if (encodeSetPredicate(c)) { - return utf8PercentEncode(cStr); + function isBlobLike(object) { + if (object === null) { + return false; + } else if (object instanceof Blob2) { + return true; + } else if (typeof object !== "object") { + return false; + } else { + const sTag = object[Symbol.toStringTag]; + return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function"); } - return cStr; } - function parseIPv4Number(input) { - let R = 10; - if (input.length >= 2 && input.charAt(0) === '0' && input.charAt(1).toLowerCase() === 'x') { - input = input.substring(2); - R = 16; - } else if (input.length >= 2 && input.charAt(0) === '0') { - input = input.substring(1); - R = 8; - } - if (input === '') { - return 0; + function buildURL(url, queryParams) { + if (url.includes("?") || url.includes("#")) { + throw new Error('Query params cannot be passed when url already contains "?" or "#".'); } - const regex = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; - if (regex.test(input)) { - return failure; + const stringified = stringify(queryParams); + if (stringified) { + url += "?" + stringified; } - return parseInt(input, R); + return url; } - function parseIPv4(input) { - const parts = input.split('.'); - if (parts[parts.length - 1] === '') { - if (parts.length > 1) { - parts.pop(); + function isValidPort(port) { + const value = parseInt(port, 10); + return value === Number(port) && value >= 0 && value <= 65535; + } + function isHttpOrHttpsPrefixed(value) { + return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":"); + } + function parseURL(url) { + if (typeof url === "string") { + url = new URL(url); + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } + return url; } - if (parts.length > 4) { - return input; + if (!url || typeof url !== "object") { + throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); } - const numbers = []; - for (const part of parts) { - if (part === '') { - return input; + if (!(url instanceof URL)) { + if (url.port != null && url.port !== "" && isValidPort(url.port) === false) { + throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); } - const n = parseIPv4Number(part); - if (n === failure) { - return input; + if (url.path != null && typeof url.path !== "string") { + throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); } - numbers.push(n); - } - for (let i = 0; i < numbers.length - 1; ++i) { - if (numbers[i] > 255) { - return failure; - } - } - if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { - return failure; - } - let ipv4 = numbers.pop(); - let counter = 0; - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); - ++counter; - } - return ipv4; - } - function serializeIPv4(address) { - let output = ''; - let n = address; - for (let i = 1; i <= 4; ++i) { - output = String(n % 256) + output; - if (i !== 4) { - output = '.' + output; + if (url.pathname != null && typeof url.pathname !== "string") { + throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); } - n = Math.floor(n / 256); - } - return output; - } - function parseIPv6(input) { - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - let pointer = 0; - input = punycode.ucs2.decode(input); - if (input[pointer] === 58) { - if (input[pointer + 1] !== 58) { - return failure; - } - pointer += 2; - ++pieceIndex; - compress = pieceIndex; - } - while (pointer < input.length) { - if (pieceIndex === 8) { - return failure; - } - if (input[pointer] === 58) { - if (compress !== null) { - return failure; - } - ++pointer; - ++pieceIndex; - compress = pieceIndex; - continue; + if (url.hostname != null && typeof url.hostname !== "string") { + throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); } - let value = 0; - let length = 0; - while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at(input, pointer), 16); - ++pointer; - ++length; - } - if (input[pointer] === 46) { - if (length === 0) { - return failure; - } - pointer -= length; - if (pieceIndex > 6) { - return failure; - } - let numbersSeen = 0; - while (input[pointer] !== void 0) { - let ipv4Piece = null; - if (numbersSeen > 0) { - if (input[pointer] === 46 && numbersSeen < 4) { - ++pointer; - } else { - return failure; - } - } - if (!isASCIIDigit(input[pointer])) { - return failure; - } - while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); - if (ipv4Piece === null) { - ipv4Piece = number; - } else if (ipv4Piece === 0) { - return failure; - } else { - ipv4Piece = ipv4Piece * 10 + number; - } - if (ipv4Piece > 255) { - return failure; - } - ++pointer; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - ++numbersSeen; - if (numbersSeen === 2 || numbersSeen === 4) { - ++pieceIndex; - } - } - if (numbersSeen !== 4) { - return failure; - } - break; - } else if (input[pointer] === 58) { - ++pointer; - if (input[pointer] === void 0) { - return failure; - } - } else if (input[pointer] !== void 0) { - return failure; - } - address[pieceIndex] = value; - ++pieceIndex; - } - if (compress !== null) { - let swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex !== 0 && swaps > 0) { - const temp = address[compress + swaps - 1]; - address[compress + swaps - 1] = address[pieceIndex]; - address[pieceIndex] = temp; - --pieceIndex; - --swaps; - } - } else if (compress === null && pieceIndex !== 8) { - return failure; - } - return address; - } - function serializeIPv6(address) { - let output = ''; - const seqResult = findLongestZeroSequence(address); - const compress = seqResult.idx; - let ignore0 = false; - for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { - if (ignore0 && address[pieceIndex] === 0) { - continue; - } else if (ignore0) { - ignore0 = false; + if (url.origin != null && typeof url.origin !== "string") { + throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); } - if (compress === pieceIndex) { - const separator = pieceIndex === 0 ? '::' : ':'; - output += separator; - ignore0 = true; - continue; + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } - output += address[pieceIndex].toString(16); - if (pieceIndex !== 7) { - output += ':'; + 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[origin.length - 1] === "/") { + origin = origin.slice(0, origin.length - 1); } - } - return output; - } - function parseHost(input, isSpecialArg) { - if (input[0] === '[') { - if (input[input.length - 1] !== ']') { - return failure; + if (path && path[0] !== "/") { + path = `/${path}`; } - return parseIPv6(input.substring(1, input.length - 1)); - } - if (!isSpecialArg) { - return parseOpaqueHost(input); + return new URL(`${origin}${path}`); } - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === 'number' || ipv4Host === failure) { - return ipv4Host; + return url; + } + function parseOrigin(url) { + url = parseURL(url); + if (url.pathname !== "/" || url.search || url.hash) { + throw new InvalidArgumentError("invalid url"); } - return asciiDomain; + return url; } - function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; + function getHostname(host) { + if (host[0] === "[") { + const idx2 = host.indexOf("]"); + assert(idx2 !== -1); + return host.substring(1, idx2); + } + const idx = host.indexOf(":"); + if (idx === -1) return host; + return host.substring(0, idx); + } + function getServerName(host) { + if (!host) { + return null; } - let output = ''; - const decoded = punycode.ucs2.decode(input); - for (let i = 0; i < decoded.length; ++i) { - output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + assert(typeof host === "string"); + const servername = getHostname(host); + if (net.isIP(servername)) { + return ""; } - return output; + return servername; + } + function deepClone(obj) { + return JSON.parse(JSON.stringify(obj)); + } + function isAsyncIterable(obj) { + return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); + } + function isIterable(obj) { + return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); + } + function bodyLength(body) { + if (body == null) { + 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; + } else if (isBlobLike(body)) { + return body.size != null ? body.size : null; + } else if (isBuffer(body)) { + return body.byteLength; + } + return null; + } + function isDestroyed(body) { + return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body)); + } + function destroy(stream2, err) { + if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { + return; + } + if (typeof stream2.destroy === "function") { + if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { + stream2.socket = null; + } + stream2.destroy(err); + } else if (err) { + queueMicrotask(() => { + stream2.emit("error", err); + }); + } + if (stream2.destroyed !== true) { + stream2[kDestroyed] = true; + } + } + 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; + } + function headerNameToString(value) { + return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase(); + } + function bufferToLowerCasedHeaderName(value) { + return tree.lookup(value) ?? value.toString("latin1").toLowerCase(); } - function findLongestZeroSequence(arr) { - let maxIdx = null; - let maxLen = 1; - let currStart = null; - let currLen = 0; - for (let i = 0; i < arr.length; ++i) { - if (arr[i] !== 0) { - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - currStart = null; - currLen = 0; + function parseHeaders(headers, obj) { + if (obj === void 0) obj = {}; + for (let i = 0; i < headers.length; i += 2) { + const key = headerNameToString(headers[i]); + let val = obj[key]; + if (val) { + if (typeof val === "string") { + val = [val]; + obj[key] = val; + } + val.push(headers[i + 1].toString("utf8")); } else { - if (currStart === null) { - currStart = i; + const headersValue = headers[i + 1]; + if (typeof headersValue === "string") { + obj[key] = headersValue; + } else { + obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8"); } - ++currLen; } } - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; + if ("content-length" in obj && "content-disposition" in obj) { + obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); } - return { - idx: maxIdx, - len: maxLen - }; + return obj; } - function serializeHost(host) { - if (typeof host === 'number') { - return serializeIPv4(host); + function parseRawHeaders(headers) { + const len = headers.length; + const ret = new Array(len); + let hasContentLength = false; + let contentDispositionIdx = -1; + let key; + let val; + let kLen = 0; + for (let n = 0; n < headers.length; n += 2) { + key = headers[n]; + val = headers[n + 1]; + typeof key !== "string" && (key = key.toString()); + typeof val !== "string" && (val = val.toString("utf8")); + kLen = key.length; + if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) { + hasContentLength = true; + } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { + contentDispositionIdx = n + 1; + } + ret[n] = key; + ret[n + 1] = val; } - if (host instanceof Array) { - return '[' + serializeIPv6(host) + ']'; + if (hasContentLength && contentDispositionIdx !== -1) { + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); } - return host; - } - function trimControlChars(url) { - return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ''); + return ret; } - function trimTabAndNewline(url) { - return url.replace(/\u0009|\u000A|\u000D/g, ''); + function isBuffer(buffer) { + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); } - function shortenPath(url) { - const path = url.path; - if (path.length === 0) { - return; + function validateHandler(handler2, method, upgrade) { + if (!handler2 || typeof handler2 !== "object") { + throw new InvalidArgumentError("handler must be an object"); } - if (url.scheme === 'file' && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { - return; + if (typeof handler2.onConnect !== "function") { + throw new InvalidArgumentError("invalid onConnect method"); } - path.pop(); - } - function includesCredentials(url) { - return url.username !== '' || url.password !== ''; - } - function cannotHaveAUsernamePasswordPort(url) { - return url.host === null || url.host === '' || url.cannotBeABaseURL || url.scheme === 'file'; - } - function isNormalizedWindowsDriveLetter(string) { - return /^[A-Za-z]:$/.test(string); - } - function URLStateMachine(input, base, encodingOverride, url, stateOverride) { - this.pointer = 0; - this.input = input; - this.base = base || null; - this.encodingOverride = encodingOverride || 'utf-8'; - this.stateOverride = stateOverride; - this.url = url; - this.failure = false; - this.parseError = false; - if (!this.url) { - this.url = { - scheme: '', - username: '', - password: '', - host: null, - port: null, - path: [], - query: null, - fragment: null, - cannotBeABaseURL: false - }; - const res2 = trimControlChars(this.input); - if (res2 !== this.input) { - this.parseError = true; - } - this.input = res2; - } - const res = trimTabAndNewline(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - this.state = stateOverride || 'scheme start'; - this.buffer = ''; - this.atFlag = false; - this.arrFlag = false; - this.passwordTokenSeenFlag = false; - this.input = punycode.ucs2.decode(this.input); - for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); - const ret = this['parse ' + this.state](c, cStr); - if (!ret) { - break; - } else if (ret === failure) { - this.failure = true; - break; - } + if (typeof handler2.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); } - } - URLStateMachine.prototype['parse scheme start'] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { - this.buffer += cStr.toLowerCase(); - this.state = 'scheme'; - } else if (!this.stateOverride) { - this.state = 'no scheme'; - --this.pointer; + if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) { + throw new InvalidArgumentError("invalid onBodySent method"); + } + if (upgrade || method === "CONNECT") { + if (typeof handler2.onUpgrade !== "function") { + throw new InvalidArgumentError("invalid onUpgrade method"); + } } else { - this.parseError = true; - return failure; + if (typeof handler2.onHeaders !== "function") { + throw new InvalidArgumentError("invalid onHeaders method"); + } + if (typeof handler2.onData !== "function") { + throw new InvalidArgumentError("invalid onData method"); + } + if (typeof handler2.onComplete !== "function") { + throw new InvalidArgumentError("invalid onComplete method"); + } } - return true; - }; - URLStateMachine.prototype['parse scheme'] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { - this.buffer += cStr.toLowerCase(); - } else if (c === 58) { - if (this.stateOverride) { - if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { - return false; - } - if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { - return false; - } - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === 'file') { - return false; - } - if (this.url.scheme === 'file' && (this.url.host === '' || this.url.host === null)) { - return false; - } + } + function isDisturbed(body) { + return !!(body && (stream.isDisturbed(body) || body[kBodyUsed])); + } + function isErrored(body) { + return !!(body && stream.isErrored(body)); + } + function isReadable(body) { + return !!(body && stream.isReadable(body)); + } + function getSocketInfo(socket) { + return { + localAddress: socket.localAddress, + localPort: socket.localPort, + remoteAddress: socket.remoteAddress, + remotePort: socket.remotePort, + remoteFamily: socket.remoteFamily, + timeout: socket.timeout, + bytesWritten: socket.bytesWritten, + bytesRead: socket.bytesRead + }; + } + function ReadableStreamFrom(iterable) { + let iterator2; + return new ReadableStream( + { + async start() { + iterator2 = iterable[Symbol.asyncIterator](); + }, + async pull(controller) { + const { done, value } = await iterator2.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + controller.byobRequest?.respond(0); + }); + } else { + const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); + if (buf.byteLength) { + controller.enqueue(new Uint8Array(buf)); + } + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator2.return(); + }, + type: "bytes" } - this.url.scheme = this.buffer; - this.buffer = ''; - if (this.stateOverride) { + ); + } + 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"; + } + function addAbortListener(signal, 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); + } + var hasToWellFormed = typeof String.prototype.toWellFormed === "function"; + var hasIsWellFormed = typeof String.prototype.isWellFormed === "function"; + function toUSVString(val) { + return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val); + } + function isUSVString(val) { + return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`; + } + function isTokenCharCode(c) { + switch (c) { + case 34: + case 40: + case 41: + case 44: + case 47: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 91: + case 92: + case 93: + case 123: + case 125: return false; - } - if (this.url.scheme === 'file') { - if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { - this.parseError = true; - } - this.state = 'file'; - } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { - this.state = 'special relative or authority'; - } else if (isSpecial(this.url)) { - this.state = 'special authority slashes'; - } else if (this.input[this.pointer + 1] === 47) { - this.state = 'path or authority'; - ++this.pointer; - } else { - this.url.cannotBeABaseURL = true; - this.url.path.push(''); - this.state = 'cannot-be-a-base-URL path'; - } - } else if (!this.stateOverride) { - this.buffer = ''; - this.state = 'no scheme'; - this.pointer = -1; - } else { - this.parseError = true; - return failure; + default: + return c >= 33 && c <= 126; } - return true; - }; - URLStateMachine.prototype['parse no scheme'] = function parseNoScheme(c) { - if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { - return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { - this.url.scheme = this.base.scheme; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ''; - this.url.cannotBeABaseURL = true; - this.state = 'fragment'; - } else if (this.base.scheme === 'file') { - this.state = 'file'; - --this.pointer; - } else { - this.state = 'relative'; - --this.pointer; + } + function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; } - return true; - }; - URLStateMachine.prototype['parse special relative or authority'] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = 'special authority ignore slashes'; - ++this.pointer; - } else { - this.parseError = true; - this.state = 'relative'; - --this.pointer; + for (let i = 0; i < characters.length; ++i) { + if (!isTokenCharCode(characters.charCodeAt(i))) { + return false; + } } return true; - }; - URLStateMachine.prototype['parse path or authority'] = function parsePathOrAuthority(c) { - if (c === 47) { - this.state = 'authority'; - } else { - this.state = 'path'; - --this.pointer; + } + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + function isValidHeaderValue(characters) { + return !headerCharRegex.test(characters); + } + function parseRangeHeader(range) { + if (range == null || range === "") return { start: 0, end: null, size: null }; + const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; + return m ? { + start: parseInt(m[1]), + end: m[2] ? parseInt(m[2]) : null, + size: m[3] ? parseInt(m[3]) : null + } : null; + } + function addListener(obj, name, listener) { + const listeners = obj[kListeners] ??= []; + listeners.push([name, listener]); + obj.on(name, listener); + return obj; + } + function removeAllListeners(obj) { + for (const [name, listener] of obj[kListeners] ?? []) { + obj.removeListener(name, listener); } - return true; - }; - URLStateMachine.prototype['parse relative'] = function parseRelative(c) { - this.url.scheme = this.base.scheme; - if (isNaN(c)) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 47) { - this.state = 'relative slash'; - } else if (c === 63) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = ''; - this.state = 'query'; - } else if (c === 35) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ''; - this.state = 'fragment'; - } else if (isSpecial(this.url) && c === 92) { - this.parseError = true; - this.state = 'relative slash'; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(0, this.base.path.length - 1); - this.state = 'path'; - --this.pointer; + obj[kListeners] = null; + } + function errorRequest(client, request2, err) { + try { + request2.onError(err); + assert(request2.aborted); + } catch (err2) { + client.emit("error", err2); } - return true; + } + var kEnumerableProperty = /* @__PURE__ */ Object.create(null); + kEnumerableProperty.enumerable = true; + var normalizedMethodRecordsBase = { + delete: "DELETE", + DELETE: "DELETE", + get: "GET", + GET: "GET", + head: "HEAD", + HEAD: "HEAD", + options: "OPTIONS", + OPTIONS: "OPTIONS", + post: "POST", + POST: "POST", + put: "PUT", + PUT: "PUT" }; - URLStateMachine.prototype['parse relative slash'] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { - this.parseError = true; - } - this.state = 'special authority ignore slashes'; - } else if (c === 47) { - this.state = 'authority'; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.state = 'path'; - --this.pointer; - } - return true; + var normalizedMethodRecords = { + ...normalizedMethodRecordsBase, + patch: "patch", + PATCH: "PATCH" }; - URLStateMachine.prototype['parse special authority slashes'] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = 'special authority ignore slashes'; - ++this.pointer; - } else { - this.parseError = true; - this.state = 'special authority ignore slashes'; - --this.pointer; - } - return true; + Object.setPrototypeOf(normalizedMethodRecordsBase, null); + Object.setPrototypeOf(normalizedMethodRecords, null); + module2.exports = { + kEnumerableProperty, + nop, + isDisturbed, + isErrored, + isReadable, + toUSVString, + isUSVString, + isBlobLike, + parseOrigin, + parseURL, + getServerName, + isStream, + isIterable, + isAsyncIterable, + isDestroyed, + headerNameToString, + bufferToLowerCasedHeaderName, + addListener, + removeAllListeners, + errorRequest, + parseRawHeaders, + parseHeaders, + parseKeepAliveTimeout, + destroy, + bodyLength, + deepClone, + ReadableStreamFrom, + isBuffer, + validateHandler, + getSocketInfo, + isFormDataLike, + buildURL, + addAbortListener, + isValidHTTPToken, + isValidHeaderValue, + isTokenCharCode, + parseRangeHeader, + normalizedMethodRecordsBase, + normalizedMethodRecords, + isValidPort, + isHttpOrHttpsPrefixed, + nodeMajor, + nodeMinor, + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"], + wrapRequestBody }; - URLStateMachine.prototype['parse special authority ignore slashes'] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { - this.state = 'authority'; - --this.pointer; - } else { - this.parseError = true; + } +}); + +// node_modules/undici/lib/core/diagnostics.js +var require_diagnostics = __commonJS({ + "node_modules/undici/lib/core/diagnostics.js"(exports2, module2) { + "use strict"; + var diagnosticsChannel = require("node:diagnostics_channel"); + var util = require("node:util"); + var undiciDebugLog = util.debuglog("undici"); + var fetchDebuglog = util.debuglog("fetch"); + var websocketDebuglog = util.debuglog("websocket"); + var isClientSet = false; + var channels = { + // Client + beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"), + connected: diagnosticsChannel.channel("undici:client:connected"), + connectError: diagnosticsChannel.channel("undici:client:connectError"), + sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"), + // Request + create: diagnosticsChannel.channel("undici:request:create"), + bodySent: diagnosticsChannel.channel("undici:request:bodySent"), + headers: diagnosticsChannel.channel("undici:request:headers"), + trailers: diagnosticsChannel.channel("undici:request:trailers"), + error: diagnosticsChannel.channel("undici:request:error"), + // WebSocket + open: diagnosticsChannel.channel("undici:websocket:open"), + close: diagnosticsChannel.channel("undici:websocket:close"), + socketError: diagnosticsChannel.channel("undici:websocket:socket_error"), + ping: diagnosticsChannel.channel("undici:websocket:ping"), + pong: diagnosticsChannel.channel("undici:websocket:pong") + }; + if (undiciDebugLog.enabled || fetchDebuglog.enabled) { + const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog; + diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connecting to %s using %s%s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connected to %s using %s%s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host }, + error + } = evt; + debuglog( + "connection to %s using %s%s errored - %s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version, + error.message + ); + }); + diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + const { + request: { method, path, origin } + } = evt; + debuglog("sending request to %s %s/%s", method, origin, path); + }); + diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => { + const { + request: { method, path, origin }, + response: { statusCode } + } = evt; + debuglog( + "received response to %s %s/%s - HTTP %d", + method, + origin, + path, + statusCode + ); + }); + diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => { + const { + request: { method, path, origin } + } = evt; + debuglog("trailers received from %s %s/%s", method, origin, path); + }); + diagnosticsChannel.channel("undici:request:error").subscribe((evt) => { + const { + request: { method, path, origin }, + error + } = evt; + debuglog( + "request to %s %s/%s errored - %s", + method, + origin, + path, + error.message + ); + }); + isClientSet = true; + } + if (websocketDebuglog.enabled) { + if (!isClientSet) { + const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog; + diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connecting to %s%s using %s%s", + host, + port ? `:${port}` : "", + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connected to %s%s using %s%s", + host, + port ? `:${port}` : "", + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host }, + error + } = evt; + debuglog( + "connection to %s%s using %s%s errored - %s", + host, + port ? `:${port}` : "", + protocol, + version, + error.message + ); + }); + diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + const { + request: { method, path, origin } + } = evt; + debuglog("sending request to %s %s/%s", method, origin, path); + }); } - return true; + diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => { + const { + address: { address, port } + } = evt; + websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : ""); + }); + diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => { + const { websocket, code, reason } = evt; + websocketDebuglog( + "closed connection to %s - %s %s", + websocket.url, + code, + reason + ); + }); + diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => { + websocketDebuglog("connection errored - %s", err.message); + }); + diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => { + websocketDebuglog("ping received"); + }); + diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => { + websocketDebuglog("pong received"); + }); + } + module2.exports = { + channels }; - URLStateMachine.prototype['parse authority'] = function parseAuthority(c, cStr) { - if (c === 64) { - this.parseError = true; - if (this.atFlag) { - this.buffer = '%40' + this.buffer; - } - this.atFlag = true; - const len = countSymbols(this.buffer); - for (let pointer = 0; pointer < len; ++pointer) { - const codePoint = this.buffer.codePointAt(pointer); - if (codePoint === 58 && !this.passwordTokenSeenFlag) { - this.passwordTokenSeenFlag = true; - continue; - } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; - } + } +}); + +// node_modules/undici/lib/core/request.js +var require_request = __commonJS({ + "node_modules/undici/lib/core/request.js"(exports2, module2) { + "use strict"; + var { + InvalidArgumentError, + NotSupportedError + } = require_errors(); + var assert = require("node:assert"); + var { + isValidHTTPToken, + isValidHeaderValue, + isStream, + destroy, + isBuffer, + isFormDataLike, + isIterable, + isBlobLike, + buildURL, + validateHandler, + getServerName, + normalizedMethodRecords + } = require_util(); + var { channels } = require_diagnostics(); + var { headerNameLowerCasedRecord } = require_constants(); + var invalidPathRegex = /[^\u0021-\u00ff]/; + var kHandler = Symbol("handler"); + var Request = class { + constructor(origin, { + path, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue, + servername + }, handler2) { + 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.test(path)) { + throw new InvalidArgumentError("invalid request path"); } - this.buffer = ''; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || (isSpecial(this.url) && c === 92)) { - if (this.atFlag && this.buffer === '') { - this.parseError = true; - return failure; + if (typeof method !== "string") { + throw new InvalidArgumentError("method must be a string"); + } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) { + throw new InvalidArgumentError("invalid request method"); } - this.pointer -= countSymbols(this.buffer) + 1; - this.buffer = ''; - this.state = 'host'; - } else { - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype['parse hostname'] = URLStateMachine.prototype['parse host'] = function parseHostName(c, cStr) { - if (this.stateOverride && this.url.scheme === 'file') { - --this.pointer; - this.state = 'file host'; - } else if (c === 58 && !this.arrFlag) { - if (this.buffer === '') { - this.parseError = true; - return failure; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ''; - this.state = 'port'; - if (this.stateOverride === 'hostname') { - return false; + if (upgrade && typeof upgrade !== "string") { + throw new InvalidArgumentError("upgrade must be a string"); } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || (isSpecial(this.url) && c === 92)) { - --this.pointer; - if (isSpecial(this.url) && this.buffer === '') { - this.parseError = true; - return failure; - } else if (this.stateOverride && this.buffer === '' && (includesCredentials(this.url) || this.url.port !== null)) { - this.parseError = true; - return false; + if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError("invalid headersTimeout"); } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; + if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError("invalid bodyTimeout"); } - this.url.host = host; - this.buffer = ''; - this.state = 'path start'; - if (this.stateOverride) { - return false; + if (reset != null && typeof reset !== "boolean") { + throw new InvalidArgumentError("invalid reset"); } - } else { - if (c === 91) { - this.arrFlag = true; - } else if (c === 93) { - this.arrFlag = false; + if (expectContinue != null && typeof expectContinue !== "boolean") { + throw new InvalidArgumentError("invalid expectContinue"); } - this.buffer += cStr; - } - return true; - }; - URLStateMachine.prototype['parse port'] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { - this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || (isSpecial(this.url) && c === 92) || this.stateOverride) { - if (this.buffer !== '') { - const port = parseInt(this.buffer); - if (port > Math.pow(2, 16) - 1) { - this.parseError = true; - return failure; + this.headersTimeout = headersTimeout; + this.bodyTimeout = bodyTimeout; + this.throwOnError = throwOnError === true; + this.method = method; + this.abort = null; + if (body == null) { + this.body = null; + } else if (isStream(body)) { + this.body = body; + const rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + destroy(this); + }; + this.body.on("end", this.endHandler); } - this.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ''; + this.errorHandler = (err) => { + if (this.abort) { + this.abort(err); + } else { + this.error = err; + } + }; + this.body.on("error", this.errorHandler); + } else if (isBuffer(body)) { + 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; + } 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 (isFormDataLike(body) || isIterable(body) || 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"); } - if (this.stateOverride) { - return false; + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? 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"); + } + for (let i = 0; i < headers.length; i += 2) { + processHeader(this, headers[i], headers[i + 1]); + } + } else if (headers && typeof headers === "object") { + if (headers[Symbol.iterator]) { + for (const header of headers) { + if (!Array.isArray(header) || header.length !== 2) { + throw new InvalidArgumentError("headers must be in key-value pair format"); + } + processHeader(this, header[0], header[1]); + } + } else { + const keys = Object.keys(headers); + for (let i = 0; i < keys.length; ++i) { + processHeader(this, keys[i], headers[keys[i]]); + } + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + validateHandler(handler2, method, upgrade); + this.servername = servername || getServerName(this.host); + this[kHandler] = handler2; + if (channels.create.hasSubscribers) { + channels.create.publish({ request: this }); } - this.state = 'path start'; - --this.pointer; - } else { - this.parseError = true; - return failure; } - return true; - }; - var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]); - URLStateMachine.prototype['parse file'] = function parseFile(c) { - this.url.scheme = 'file'; - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = 'file slash'; - } else if (this.base !== null && this.base.scheme === 'file') { - if (isNaN(c)) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 63) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = ''; - this.state = 'query'; - } else if (c === 35) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ''; - this.state = 'fragment'; - } else { - if ( - this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points - !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || - (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points - !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) - ) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - shortenPath(this.url); - } else { - this.parseError = true; + onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); } - this.state = 'path'; - --this.pointer; } - } else { - this.state = 'path'; - --this.pointer; } - return true; - }; - URLStateMachine.prototype['parse file slash'] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); } - this.state = 'file host'; - } else { - if (this.base !== null && this.base.scheme === 'file') { - if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { - this.url.path.push(this.base.path[0]); - } else { - this.url.host = this.base.host; + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); } } - this.state = 'path'; - --this.pointer; } - return true; - }; - URLStateMachine.prototype['parse file host'] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { - --this.pointer; - if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { - this.parseError = true; - this.state = 'path'; - } else if (this.buffer === '') { - this.url.host = ''; - if (this.stateOverride) { - return false; - } - this.state = 'path start'; + onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); } else { - let host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - if (host === 'localhost') { - host = ''; - } - this.url.host = host; - if (this.stateOverride) { - return false; - } - this.buffer = ''; - this.state = 'path start'; + this.abort = abort; + return this[kHandler].onConnect(abort); } - } else { - this.buffer += cStr; } - return true; - }; - URLStateMachine.prototype['parse path start'] = function parsePathStart(c) { - if (isSpecial(this.url)) { - if (c === 92) { - this.parseError = true; - } - this.state = 'path'; - if (c !== 47 && c !== 92) { - --this.pointer; + onResponseStarted() { + return this[kHandler].onResponseStarted?.(); + } + onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); } - } else if (!this.stateOverride && c === 63) { - this.url.query = ''; - this.state = 'query'; - } else if (!this.stateOverride && c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; - } else if (c !== void 0) { - this.state = 'path'; - if (c !== 47) { - --this.pointer; + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); } } - return true; - }; - URLStateMachine.prototype['parse path'] = function parsePath(c) { - if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || (!this.stateOverride && (c === 63 || c === 35))) { - if (isSpecial(this.url) && c === 92) { - this.parseError = true; - } - if (isDoubleDot(this.buffer)) { - shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(''); - } - } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(''); - } else if (!isSingleDot(this.buffer)) { - if (this.url.scheme === 'file' && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { - if (this.url.host !== '' && this.url.host !== null) { - this.parseError = true; - this.url.host = ''; - } - this.buffer = this.buffer[0] + ':'; - } - this.url.path.push(this.buffer); + onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); + return false; } - this.buffer = ''; - if (this.url.scheme === 'file' && (c === void 0 || c === 63 || c === 35)) { - while (this.url.path.length > 1 && this.url.path[0] === '') { - this.parseError = true; - this.url.path.shift(); - } + } + 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; + if (channels.trailers.hasSubscribers) { + channels.trailers.publish({ request: this, trailers }); } - if (c === 63) { - this.url.query = ''; - this.state = 'query'; + try { + return this[kHandler].onComplete(trailers); + } catch (err) { + this.onError(err); } - if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; + } + onError(error) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error }); } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + if (this.aborted) { + return; } - this.buffer += percentEncodeChar(c, isPathPercentEncode); + this.aborted = true; + return this[kHandler].onError(error); } - return true; - }; - URLStateMachine.prototype['parse cannot-be-a-base-URL path'] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { - this.url.query = ''; - this.state = 'query'; - } else if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; - } else { - if (!isNaN(c) && c !== 37) { - this.parseError = true; + onFinally() { + if (this.errorHandler) { + this.body.off("error", this.errorHandler); + this.errorHandler = null; } - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + if (this.endHandler) { + this.body.off("end", this.endHandler); + this.endHandler = null; } } - return true; + addHeader(key, value) { + processHeader(this, key, value); + return this; + } }; - URLStateMachine.prototype['parse query'] = function parseQuery(c, cStr) { - if (isNaN(c) || (!this.stateOverride && c === 35)) { - if (!isSpecial(this.url) || this.url.scheme === 'ws' || this.url.scheme === 'wss') { - this.encodingOverride = 'utf-8'; + function processHeader(request2, key, val) { + if (val && (typeof val === "object" && !Array.isArray(val))) { + throw new InvalidArgumentError(`invalid ${key} header`); + } else if (val === void 0) { + return; + } + let headerName = headerNameLowerCasedRecord[key]; + if (headerName === void 0) { + headerName = key.toLowerCase(); + if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) { + throw new InvalidArgumentError("invalid header key"); } - const buffer = new Buffer(this.buffer); - for (let i = 0; i < buffer.length; ++i) { - if ( - buffer[i] < 33 || - buffer[i] > 126 || - buffer[i] === 34 || - buffer[i] === 35 || - buffer[i] === 60 || - buffer[i] === 62 - ) { - this.url.query += percentEncode(buffer[i]); + } + if (Array.isArray(val)) { + const arr = []; + for (let i = 0; i < val.length; i++) { + if (typeof val[i] === "string") { + if (!isValidHeaderValue(val[i])) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + arr.push(val[i]); + } else if (val[i] === null) { + arr.push(""); + } else if (typeof val[i] === "object") { + throw new InvalidArgumentError(`invalid ${key} header`); } else { - this.url.query += String.fromCodePoint(buffer[i]); + arr.push(`${val[i]}`); } } - this.buffer = ''; - if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; + val = arr; + } else if (typeof val === "string") { + if (!isValidHeaderValue(val)) { + throw new InvalidArgumentError(`invalid ${key} header`); } + } else if (val === null) { + val = ""; } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += cStr; + val = `${val}`; } - return true; - }; - URLStateMachine.prototype['parse fragment'] = function parseFragment(c) { - if (isNaN(c)) { - } else if (c === 0) { - this.parseError = true; - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + if (request2.host === null && headerName === "host") { + if (typeof val !== "string") { + throw new InvalidArgumentError("invalid host header"); } - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); - } - return true; - }; - function serializeURL(url, excludeFragment) { - let output = url.scheme + ':'; - if (url.host !== null) { - output += '//'; - if (url.username !== '' || url.password !== '') { - output += url.username; - if (url.password !== '') { - output += ':' + url.password; - } - output += '@'; + request2.host = val; + } else if (request2.contentLength === null && headerName === "content-length") { + request2.contentLength = parseInt(val, 10); + if (!Number.isFinite(request2.contentLength)) { + throw new InvalidArgumentError("invalid content-length header"); } - output += serializeHost(url.host); - if (url.port !== null) { - output += ':' + url.port; + } else if (request2.contentType === null && headerName === "content-type") { + request2.contentType = val; + request2.headers.push(key, val); + } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") { + throw new InvalidArgumentError(`invalid ${headerName} header`); + } else if (headerName === "connection") { + const value = typeof val === "string" ? val.toLowerCase() : null; + if (value !== "close" && value !== "keep-alive") { + throw new InvalidArgumentError("invalid connection header"); } - } else if (url.host === null && url.scheme === 'file') { - output += '//'; - } - if (url.cannotBeABaseURL) { - output += url.path[0]; + if (value === "close") { + request2.reset = true; + } + } else if (headerName === "expect") { + throw new NotSupportedError("expect header not supported"); } else { - for (const string of url.path) { - output += '/' + string; + request2.headers.push(key, val); + } + } + module2.exports = Request; + } +}); + +// node_modules/undici/lib/dispatcher/dispatcher.js +var require_dispatcher = __commonJS({ + "node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) { + "use strict"; + var EventEmitter = require("node:events"); + var Dispatcher = class extends EventEmitter { + dispatch() { + throw new Error("not implemented"); + } + close() { + throw new Error("not implemented"); + } + destroy() { + throw new Error("not implemented"); + } + compose(...args) { + const interceptors = Array.isArray(args[0]) ? args[0] : args; + let dispatch = this.dispatch.bind(this); + for (const interceptor of interceptors) { + if (interceptor == null) { + continue; + } + if (typeof interceptor !== "function") { + throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`); + } + dispatch = interceptor(dispatch); + if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) { + throw new TypeError("invalid interceptor"); + } } + return new ComposedDispatcher(this, dispatch); } - if (url.query !== null) { - output += '?' + url.query; + }; + var ComposedDispatcher = class extends Dispatcher { + #dispatcher = null; + #dispatch = null; + constructor(dispatcher, dispatch) { + super(); + this.#dispatcher = dispatcher; + this.#dispatch = dispatch; } - if (!excludeFragment && url.fragment !== null) { - output += '#' + url.fragment; + dispatch(...args) { + this.#dispatch(...args); } - return output; - } - function serializeOrigin(tuple) { - let result = tuple.scheme + '://'; - result += serializeHost(tuple.host); - if (tuple.port !== null) { - result += ':' + tuple.port; + close(...args) { + return this.#dispatcher.close(...args); } - return result; - } - module2.exports.serializeURL = serializeURL; - module2.exports.serializeURLOrigin = function (url) { - switch (url.scheme) { - case 'blob': - try { - return module2.exports.serializeURLOrigin(module2.exports.parseURL(url.path[0])); - } catch (e) { - return 'null'; - } - case 'ftp': - case 'gopher': - case 'http': - case 'https': - case 'ws': - case 'wss': - return serializeOrigin({ - scheme: url.scheme, - host: url.host, - port: url.port - }); - case 'file': - return 'file://'; - default: - return 'null'; - } - }; - module2.exports.basicURLParse = function (input, options) { - if (options === void 0) { - options = {}; - } - const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); - if (usm.failure) { - return 'failure'; - } - return usm.url; - }; - module2.exports.setTheUsername = function (url, username) { - url.username = ''; - const decoded = punycode.ucs2.decode(username); - for (let i = 0; i < decoded.length; ++i) { - url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } - }; - module2.exports.setThePassword = function (url, password) { - url.password = ''; - const decoded = punycode.ucs2.decode(password); - for (let i = 0; i < decoded.length; ++i) { - url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } - }; - module2.exports.serializeHost = serializeHost; - module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; - module2.exports.serializeInteger = function (integer) { - return String(integer); - }; - module2.exports.parseURL = function (input, options) { - if (options === void 0) { - options = {}; + destroy(...args) { + return this.#dispatcher.destroy(...args); } - return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); }; + module2.exports = Dispatcher; } }); -// node_modules/whatwg-url/lib/URL-impl.js -var require_URL_impl = __commonJS({ - 'node_modules/whatwg-url/lib/URL-impl.js'(exports2) { - 'use strict'; - var usm = require_url_state_machine(); - exports2.implementation = class URLImpl { - constructor(constructorArgs) { - const url = constructorArgs[0]; - const base = constructorArgs[1]; - let parsedBase = null; - if (base !== void 0) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === 'failure') { - throw new TypeError('Invalid base URL'); - } - } - const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); - if (parsedURL === 'failure') { - throw new TypeError('Invalid URL'); - } - this._url = parsedURL; - } - get href() { - return usm.serializeURL(this._url); - } - set href(v) { - const parsedURL = usm.basicURLParse(v); - if (parsedURL === 'failure') { - throw new TypeError('Invalid URL'); - } - this._url = parsedURL; - } - get origin() { - return usm.serializeURLOrigin(this._url); - } - get protocol() { - return this._url.scheme + ':'; - } - set protocol(v) { - usm.basicURLParse(v + ':', { url: this._url, stateOverride: 'scheme start' }); - } - get username() { - return this._url.username; - } - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setTheUsername(this._url, v); - } - get password() { - return this._url.password; - } - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; +// node_modules/undici/lib/dispatcher/dispatcher-base.js +var require_dispatcher_base = __commonJS({ + "node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher(); + var { + ClientDestroyedError, + ClientClosedError, + InvalidArgumentError + } = require_errors(); + var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols(); + 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] = []; + } + get destroyed() { + return this[kDestroyed]; + } + get closed() { + return this[kClosed]; + } + get interceptors() { + 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"); + } + } } - usm.setThePassword(this._url, v); + this[kInterceptors] = newInterceptors; } - get host() { - const url = this._url; - if (url.host === null) { - return ''; + close(callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve(data); + }); + }); } - if (url.port === null) { - return usm.serializeHost(url.host); + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); } - return usm.serializeHost(url.host) + ':' + usm.serializeInteger(url.port); - } - set host(v) { - if (this._url.cannotBeABaseURL) { + if (this[kDestroyed]) { + queueMicrotask(() => callback(new ClientDestroyedError(), null)); return; } - usm.basicURLParse(v, { url: this._url, stateOverride: 'host' }); - } - get hostname() { - if (this._url.host === null) { - return ''; - } - return usm.serializeHost(this._url.host); - } - set hostname(v) { - if (this._url.cannotBeABaseURL) { + if (this[kClosed]) { + if (this[kOnClosed]) { + this[kOnClosed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } return; } - usm.basicURLParse(v, { url: this._url, stateOverride: 'hostname' }); - } - get port() { - if (this._url.port === null) { - return ''; - } - return usm.serializeInteger(this._url.port); + this[kClosed] = true; + this[kOnClosed].push(callback); + const onClosed = () => { + const callbacks = this[kOnClosed]; + this[kOnClosed] = null; + for (let i = 0; i < callbacks.length; i++) { + callbacks[i](null, null); + } + }; + this[kClose]().then(() => this.destroy()).then(() => { + queueMicrotask(onClosed); + }); } - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - if (v === '') { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: 'port' }); + destroy(err, callback) { + if (typeof err === "function") { + callback = err; + err = null; } - } - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; + 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); + }); + }); } - if (this._url.path.length === 0) { - return ''; + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); } - return '/' + this._url.path.join('/'); - } - set pathname(v) { - if (this._url.cannotBeABaseURL) { + if (this[kDestroyed]) { + if (this[kOnDestroyed]) { + this[kOnDestroyed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } return; } - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: 'path start' }); - } - get search() { - if (this._url.query === null || this._url.query === '') { - return ''; + if (!err) { + err = new ClientDestroyedError(); } - return '?' + this._url.query; + this[kDestroyed] = true; + this[kOnDestroyed] = this[kOnDestroyed] || []; + this[kOnDestroyed].push(callback); + const onDestroyed = () => { + const callbacks = this[kOnDestroyed]; + this[kOnDestroyed] = null; + for (let i = 0; i < callbacks.length; i++) { + callbacks[i](null, null); + } + }; + this[kDestroy](err).then(() => { + queueMicrotask(onDestroyed); + }); } - set search(v) { - const url = this._url; - if (v === '') { - url.query = null; - return; + [kInterceptedDispatch](opts, handler2) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler2); } - const input = v[0] === '?' ? v.substring(1) : v; - url.query = ''; - usm.basicURLParse(input, { url, stateOverride: 'query' }); - } - get hash() { - if (this._url.fragment === null || this._url.fragment === '') { - return ''; + let dispatch = this[kDispatch].bind(this); + for (let i = this[kInterceptors].length - 1; i >= 0; i--) { + dispatch = this[kInterceptors][i](dispatch); } - return '#' + this._url.fragment; + this[kInterceptedDispatch] = dispatch; + return dispatch(opts, handler2); } - set hash(v) { - if (v === '') { - this._url.fragment = null; - return; + dispatch(opts, handler2) { + if (!handler2 || typeof handler2 !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + try { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("opts must be an object."); + } + if (this[kDestroyed] || this[kOnDestroyed]) { + throw new ClientDestroyedError(); + } + if (this[kClosed]) { + throw new ClientClosedError(); + } + return this[kInterceptedDispatch](opts, handler2); + } catch (err) { + if (typeof handler2.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + handler2.onError(err); + return false; } - const input = v[0] === '#' ? v.substring(1) : v; - this._url.fragment = ''; - usm.basicURLParse(input, { url: this._url, stateOverride: 'fragment' }); - } - toJSON() { - return this.href; } }; + module2.exports = DispatcherBase; } }); -// node_modules/whatwg-url/lib/URL.js -var require_URL = __commonJS({ - 'node_modules/whatwg-url/lib/URL.js'(exports2, module2) { - 'use strict'; - var conversions = require_lib2(); - var utils = require_utils3(); - var Impl = require_URL_impl(); - var impl = utils.implSymbol; - function URL3(url) { - if (!this || this[impl] || !(this instanceof URL3)) { - throw new TypeError( - "Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function." - ); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + ' present.'); +// node_modules/undici/lib/util/timers.js +var require_timers = __commonJS({ + "node_modules/undici/lib/util/timers.js"(exports2, module2) { + "use strict"; + var fastNow = 0; + var RESOLUTION_MS = 1e3; + var TICK_MS = (RESOLUTION_MS >> 1) - 1; + var fastNowTimeout; + var kFastTimer = Symbol("kFastTimer"); + var fastTimers = []; + var NOT_IN_LIST = -2; + var TO_BE_CLEARED = -1; + var PENDING = 0; + var ACTIVE = 1; + function onTick() { + fastNow += TICK_MS; + let idx = 0; + let len = fastTimers.length; + while (idx < len) { + const timer = fastTimers[idx]; + if (timer._state === PENDING) { + timer._idleStart = fastNow - TICK_MS; + timer._state = ACTIVE; + } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) { + timer._state = TO_BE_CLEARED; + timer._idleStart = -1; + timer._onTimeout(timer._timerArg); + } + if (timer._state === TO_BE_CLEARED) { + timer._state = NOT_IN_LIST; + if (--len !== 0) { + fastTimers[idx] = fastTimers[len]; + } + } else { + ++idx; + } } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; + fastTimers.length = len; + if (fastTimers.length !== 0) { + refreshTimeout(); } - args[0] = conversions['USVString'](args[0]); - if (args[1] !== void 0) { - args[1] = conversions['USVString'](args[1]); + } + function refreshTimeout() { + if (fastNowTimeout) { + fastNowTimeout.refresh(); + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTick, TICK_MS); + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); + } } - module2.exports.setup(this, args); } - URL3.prototype.toJSON = function toJSON() { - if (!this || !module2.exports.is(this)) { - throw new TypeError('Illegal invocation'); + var FastTimer = class { + [kFastTimer] = true; + /** + * The state of the timer, which can be one of the following: + * - NOT_IN_LIST (-2) + * - TO_BE_CLEARED (-1) + * - PENDING (0) + * - ACTIVE (1) + * + * @type {-2|-1|0|1} + * @private + */ + _state = NOT_IN_LIST; + /** + * The number of milliseconds to wait before calling the callback. + * + * @type {number} + * @private + */ + _idleTimeout = -1; + /** + * The time in milliseconds when the timer was started. This value is used to + * calculate when the timer should expire. + * + * @type {number} + * @default -1 + * @private + */ + _idleStart = -1; + /** + * The function to be executed when the timer expires. + * @type {Function} + * @private + */ + _onTimeout; + /** + * The argument to be passed to the callback when the timer expires. + * + * @type {*} + * @private + */ + _timerArg; + /** + * @constructor + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should wait + * before the specified function or code is executed. + * @param {*} arg + */ + constructor(callback, delay, arg) { + this._onTimeout = callback; + this._idleTimeout = delay; + this._timerArg = arg; + this.refresh(); } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; + /** + * Sets the timer's start time to the current time, and reschedules the timer + * to call its callback at the previously specified duration adjusted to the + * current time. + * Using this on a timer that has already called its callback will reactivate + * the timer. + * + * @returns {void} + */ + refresh() { + if (this._state === NOT_IN_LIST) { + fastTimers.push(this); + } + if (!fastNowTimeout || fastTimers.length === 1) { + refreshTimeout(); + } + this._state = PENDING; } - return this[impl].toJSON.apply(this[impl], args); - }; - Object.defineProperty(URL3.prototype, 'href', { - get() { - return this[impl].href; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true - }); - URL3.prototype.toString = function () { - if (!this || !module2.exports.is(this)) { - throw new TypeError('Illegal invocation'); + /** + * The `clear` method cancels the timer, preventing it from executing. + * + * @returns {void} + * @private + */ + clear() { + this._state = TO_BE_CLEARED; + this._idleStart = -1; } - return this.href; }; - Object.defineProperty(URL3.prototype, 'origin', { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'protocol', { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'username', { - get() { - return this[impl].username; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'password', { - get() { - return this[impl].password; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'host', { - get() { - return this[impl].host; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'hostname', { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'port', { - get() { - return this[impl].port; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'pathname', { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'search', { - get() { - return this[impl].search; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL3.prototype, 'hash', { - get() { - return this[impl].hash; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].hash = V; - }, - enumerable: true, - configurable: true - }); module2.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL3.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) privateData = {}; - privateData.wrapper = obj; - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; + /** + * The setTimeout() method sets a timer which executes a function once the + * timer expires. + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should + * wait before the specified function or code is executed. + * @param {*} [arg] An optional argument to be passed to the callback function + * when the timer expires. + * @returns {NodeJS.Timeout|FastTimer} + */ + setTimeout(callback, delay, arg) { + return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg); }, - interface: URL3, - expose: { - Window: { URL: URL3 }, - Worker: { URL: URL3 } - } - }; - } -}); - -// node_modules/whatwg-url/lib/public-api.js -var require_public_api = __commonJS({ - 'node_modules/whatwg-url/lib/public-api.js'(exports2) { - 'use strict'; - exports2.URL = require_URL().interface; - exports2.serializeURL = require_url_state_machine().serializeURL; - exports2.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; - exports2.basicURLParse = require_url_state_machine().basicURLParse; - exports2.setTheUsername = require_url_state_machine().setTheUsername; - exports2.setThePassword = require_url_state_machine().setThePassword; - exports2.serializeHost = require_url_state_machine().serializeHost; - exports2.serializeInteger = require_url_state_machine().serializeInteger; - exports2.parseURL = require_url_state_machine().parseURL; - } -}); - -// node_modules/node-fetch/lib/index.js -var require_lib3 = __commonJS({ - 'node_modules/node-fetch/lib/index.js'(exports2, module2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function _interopDefault(ex) { - return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex; - } - var Stream = _interopDefault(require('stream')); - var http = _interopDefault(require('http')); - var Url = _interopDefault(require('url')); - var whatwgUrl = _interopDefault(require_public_api()); - var https = _interopDefault(require('https')); - var zlib = _interopDefault(require('zlib')); - var Readable = Stream.Readable; - var BUFFER = Symbol('buffer'); - var TYPE = Symbol('type'); - var Blob = class _Blob { - constructor() { - this[TYPE] = ''; - const blobParts = arguments[0]; - const options = arguments[1]; - const buffers = []; - let size = 0; - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof _Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === 'string' ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } - this[BUFFER] = Buffer.concat(buffers); - let type = options && options.type !== void 0 && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } - } - get size() { - return this[BUFFER].length; - } - get type() { - return this[TYPE]; - } - text() { - return Promise.resolve(this[BUFFER].toString()); - } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); - } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; - } - toString() { - return '[object Blob]'; - } - slice() { - const size = this.size; - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === void 0) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === void 0) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); + /** + * The clearTimeout method cancels an instantiated Timer previously created + * by calling setTimeout. + * + * @param {NodeJS.Timeout|FastTimer} timeout + */ + clearTimeout(timeout) { + if (timeout[kFastTimer]) { + timeout.clear(); } else { - relativeEnd = Math.min(end, size); + clearTimeout(timeout); } - const span = Math.max(relativeEnd - relativeStart, 0); - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new _Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; - } - }; - Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } - }); - Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: 'Blob', - writable: false, - enumerable: false, - configurable: true - }); - function FetchError(message, type, systemError) { - Error.call(this, message); - this.message = message; - this.type = type; - if (systemError) { - this.code = this.errno = systemError.code; - } - Error.captureStackTrace(this, this.constructor); - } - FetchError.prototype = Object.create(Error.prototype); - FetchError.prototype.constructor = FetchError; - FetchError.prototype.name = 'FetchError'; - var convert; - try { - convert = require('encoding').convert; - } catch (e) {} - var INTERNALS = Symbol('Body internals'); - var PassThrough = Stream.PassThrough; - function Body(body) { - var _this = this; - var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, - _ref$size = _ref.size; - let size = _ref$size === void 0 ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; - if (body == null) { - body = null; - } else if (isURLSearchParams(body)) { - body = Buffer.from(body.toString()); - } else if (isBlob(body)); - else if (Buffer.isBuffer(body)); - else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream); - else { - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - if (body instanceof Stream) { - body.on('error', function (err) { - const error = - err.name === 'AbortError' - ? err - : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); - _this[INTERNALS].error = error; - }); - } - } - Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - get bodyUsed() { - return this[INTERNALS].disturbed; }, /** - * Decode response as ArrayBuffer - * - * @return Promise + * The setFastTimeout() method sets a fastTimer which executes a function once + * the timer expires. + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should + * wait before the specified function or code is executed. + * @param {*} [arg] An optional argument to be passed to the callback function + * when the timer expires. + * @returns {FastTimer} */ - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); + setFastTimeout(callback, delay, arg) { + return new FastTimer(callback, delay, arg); }, /** - * Return raw response as Blob + * The clearTimeout method cancels an instantiated FastTimer previously + * created by calling setFastTimeout. * - * @return Promise + * @param {FastTimer} timeout */ - blob() { - let ct = (this.headers && this.headers.get('content-type')) || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - // Prevent copying - new Blob([], { - type: ct.toLowerCase() - }), - { - [BUFFER]: buf - } - ); - }); + clearFastTimeout(timeout) { + timeout.clear(); }, /** - * Decode response as json + * The now method returns the value of the internal fast timer clock. * - * @return Promise + * @returns {number} */ - json() { - var _this2 = this; - return consumeBody.call(this).then(function (buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject( - new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json') - ); - } - }); + now() { + return fastNow; }, /** - * Decode response as text - * - * @return Promise + * Trigger the onTick function to process the fastTimers array. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + * @param {number} [delay=0] The delay in milliseconds to add to the now value. */ - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); - }); + tick(delay = 0) { + fastNow += delay - RESOLUTION_MS + 1; + onTick(); + onTick(); }, /** - * Decode response as buffer (non-spec api) - * - * @return Promise + * Reset FastTimers. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated */ - buffer() { - return consumeBody.call(this); + reset() { + fastNow = 0; + fastTimers.length = 0; + clearTimeout(fastNowTimeout); + fastNowTimeout = null; }, /** - * Decode response as text, while automatically detecting the encoding and - * trying to decode to UTF-8 (non-spec api) - * - * @return Promise + * Exporting for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated */ - textConverted() { - var _this3 = this; - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); - }); - } + kFastTimer }; - Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } - }); - Body.mixIn = function (proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); - } - } - }; - function consumeBody() { - var _this4 = this; - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } - this[INTERNALS].disturbed = true; - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } - let body = this.body; - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - if (isBlob(body)) { - body = body.stream(); - } - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - let accum = []; - let accumBytes = 0; - let abort = false; - return new Body.Promise(function (resolve, reject) { - let resTimeout; - if (_this4.timeout) { - resTimeout = setTimeout(function () { - abort = true; - reject( - new FetchError( - `Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, - 'body-timeout' - ) - ); - }, _this4.timeout); + } +}); + +// node_modules/undici/lib/core/connect.js +var require_connect = __commonJS({ + "node_modules/undici/lib/core/connect.js"(exports2, module2) { + "use strict"; + var net = require("node:net"); + var assert = require("node:assert"); + var util = require_util(); + var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); + var timers = require_timers(); + function noop3() { + } + var tls; + var SessionCache; + if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) { + SessionCache = class WeakSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + this._sessionRegistry = new global.FinalizationRegistry((key) => { + if (this._sessionCache.size < this._maxCachedSessions) { + return; + } + const ref = this._sessionCache.get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this._sessionCache.delete(key); + } + }); } - body.on('error', function (err) { - if (err.name === 'AbortError') { - abort = true; - reject(err); - } else { - reject( - new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err) - ); - } - }); - body.on('data', function (chunk) { - if (abort || chunk === null) { - return; - } - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + get(sessionKey) { + const ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { return; } - accumBytes += chunk.length; - accum.push(chunk); - }); - body.on('end', function () { - if (abort) { + 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(); + } + get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { return; } - clearTimeout(resTimeout); - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - reject( - new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err) - ); + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: oldestKey } = this._sessionCache.keys().next(); + this._sessionCache.delete(oldestKey); } - }); - }); + this._sessionCache.set(sessionKey, session); + } + }; } - function convertBody(buffer, headers) { - if (typeof convert !== 'function') { - throw new Error('The package `encoding` must be installed to use the textConverted() function'); - } - const ct = headers.get('content-type'); - let charset = 'utf-8'; - let res, str; - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } - str = buffer.slice(0, 1024).toString(); - if (!res && str) { - res = / { + if (!opts.timeout) { + return noop3; + } + let s1 = null; + let s2 = null; + const fastTimer = timers.setFastTimeout(() => { + s1 = setImmediate(() => { + s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts)); + }); + }, opts.timeout); + return () => { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + clearImmediate(s2); + }; + } : (socketWeakRef, opts) => { + if (!opts.timeout) { + return noop3; + } + let s1 = null; + const fastTimer = timers.setFastTimeout(() => { + s1 = setImmediate(() => { + onConnectTimeout(socketWeakRef.deref(), opts); + }); + }, opts.timeout); + return () => { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + }; + }; + function onConnectTimeout(socket, opts) { + if (socket == null) { + return; } - return ( - obj.constructor.name === 'URLSearchParams' || - Object.prototype.toString.call(obj) === '[object URLSearchParams]' || - typeof obj.sort === 'function' - ); + let message = "Connect Timeout Error"; + if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) { + message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`; + } else { + message += ` (attempted address: ${opts.hostname}:${opts.port},`; + } + message += ` timeout: ${opts.timeout}ms)`; + util.destroy(socket, new ConnectTimeoutError(message)); } - function isBlob(obj) { - return ( - typeof obj === 'object' && - typeof obj.arrayBuffer === 'function' && - typeof obj.type === 'string' && - typeof obj.stream === 'function' && - typeof obj.constructor === 'function' && - typeof obj.constructor.name === 'string' && - /^(Blob|File)$/.test(obj.constructor.name) && - /^(Blob|File)$/.test(obj[Symbol.toStringTag]) - ); + module2.exports = buildConnector; + } +}); + +// node_modules/undici/lib/llhttp/utils.js +var require_utils2 = __commonJS({ + "node_modules/undici/lib/llhttp/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.enumToMap = void 0; + function enumToMap(obj) { + const res = {}; + Object.keys(obj).forEach((key) => { + const value = obj[key]; + if (typeof value === "number") { + res[key] = value; + } + }); + return res; } - function clone(instance) { - let p1, p2; - let body = instance.body; - if (instance.bodyUsed) { - throw new Error('cannot clone body after it is used'); + exports2.enumToMap = enumToMap; + } +}); + +// node_modules/undici/lib/llhttp/constants.js +var require_constants2 = __commonJS({ + "node_modules/undici/lib/llhttp/constants.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.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 = exports2.ERROR || (exports2.ERROR = {})); + var TYPE; + (function(TYPE2) { + TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; + TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; + TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; + })(TYPE = exports2.TYPE || (exports2.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 = exports2.FLAGS || (exports2.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 = exports2.LENIENT_FLAGS || (exports2.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 = exports2.METHODS || (exports2.METHODS = {})); + exports2.METHODS_HTTP = [ + METHODS.DELETE, + METHODS.GET, + METHODS.HEAD, + METHODS.POST, + METHODS.PUT, + METHODS.CONNECT, + METHODS.OPTIONS, + METHODS.TRACE, + METHODS.COPY, + METHODS.LOCK, + METHODS.MKCOL, + METHODS.MOVE, + METHODS.PROPFIND, + METHODS.PROPPATCH, + METHODS.SEARCH, + METHODS.UNLOCK, + METHODS.BIND, + METHODS.REBIND, + METHODS.UNBIND, + METHODS.ACL, + METHODS.REPORT, + METHODS.MKACTIVITY, + METHODS.CHECKOUT, + METHODS.MERGE, + METHODS["M-SEARCH"], + METHODS.NOTIFY, + METHODS.SUBSCRIBE, + METHODS.UNSUBSCRIBE, + METHODS.PATCH, + METHODS.PURGE, + METHODS.MKCALENDAR, + METHODS.LINK, + METHODS.UNLINK, + METHODS.PRI, + // TODO(indutny): should we allow it with HTTP? + METHODS.SOURCE + ]; + exports2.METHODS_ICE = [ + METHODS.SOURCE + ]; + exports2.METHODS_RTSP = [ + METHODS.OPTIONS, + METHODS.DESCRIBE, + METHODS.ANNOUNCE, + METHODS.SETUP, + METHODS.PLAY, + METHODS.PAUSE, + METHODS.TEARDOWN, + METHODS.GET_PARAMETER, + METHODS.SET_PARAMETER, + METHODS.REDIRECT, + METHODS.RECORD, + METHODS.FLUSH, + // For AirPlay + METHODS.GET, + METHODS.POST + ]; + exports2.METHOD_MAP = utils_1.enumToMap(METHODS); + exports2.H_METHOD_MAP = {}; + Object.keys(exports2.METHOD_MAP).forEach((key) => { + if (/^H/.test(key)) { + exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key]; } - if (body instanceof Stream && typeof body.getBoundary !== 'function') { - p1 = new PassThrough(); - p2 = new PassThrough(); - body.pipe(p1); - body.pipe(p2); - instance[INTERNALS].body = p1; - body = p2; + }); + var FINISH; + (function(FINISH2) { + FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; + FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; + FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; + })(FINISH = exports2.FINISH || (exports2.FINISH = {})); + exports2.ALPHA = []; + for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { + exports2.ALPHA.push(String.fromCharCode(i)); + exports2.ALPHA.push(String.fromCharCode(i + 32)); + } + exports2.NUM_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9 + }; + exports2.HEX_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 10, + B: 11, + C: 12, + D: 13, + E: 14, + F: 15, + a: 10, + b: 11, + c: 12, + d: 13, + e: 14, + f: 15 + }; + exports2.NUM = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ]; + exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM); + exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; + exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + exports2.STRICT_URL_CHAR = [ + "!", + '"', + "$", + "%", + "&", + "'", + "(", + ")", + "*", + "+", + ",", + "-", + ".", + "/", + ":", + ";", + "<", + "=", + ">", + "@", + "[", + "\\", + "]", + "^", + "_", + "`", + "{", + "|", + "}", + "~" + ].concat(exports2.ALPHANUM); + exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([" ", "\f"]); + for (let i = 128; i <= 255; i++) { + exports2.URL_CHAR.push(i); + } + exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + exports2.STRICT_TOKEN = [ + "!", + "#", + "$", + "%", + "&", + "'", + "*", + "+", + "-", + ".", + "^", + "_", + "`", + "|", + "~" + ].concat(exports2.ALPHANUM); + exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]); + exports2.HEADER_CHARS = [" "]; + for (let i = 32; i <= 255; i++) { + if (i !== 127) { + exports2.HEADER_CHARS.push(i); } - return body; } - function extractContentType(body) { - if (body === null) { - return null; - } else if (typeof body === 'string') { - return 'text/plain;charset=UTF-8'; - } else if (isURLSearchParams(body)) { - return 'application/x-www-form-urlencoded;charset=UTF-8'; - } else if (isBlob(body)) { - return body.type || null; - } else if (Buffer.isBuffer(body)) { - return null; - } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - return null; - } else if (ArrayBuffer.isView(body)) { - return null; - } else if (typeof body.getBoundary === 'function') { - return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream) { - return null; - } else { - return 'text/plain;charset=UTF-8'; + exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44); + exports2.MAJOR = exports2.NUM_MAP; + exports2.MINOR = exports2.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 = exports2.HEADER_STATE || (exports2.HEADER_STATE = {})); + exports2.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 + }; + } +}); + +// node_modules/undici/lib/llhttp/llhttp-wasm.js +var require_llhttp_wasm = __commonJS({ + "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { + "use strict"; + var { Buffer: Buffer2 } = require("node:buffer"); + module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtXACAAQRhqQgA3AwAgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIABB3QE2AhwLBgAgABAyC5otAQt/IwBBEGsiCiQAQaTQACgCACIJRQRAQeTTACgCACIFRQRAQfDTAEJ/NwIAQejTAEKAgISAgIDAADcCAEHk0wAgCkEIakFwcUHYqtWqBXMiBTYCAEH40wBBADYCAEHI0wBBADYCAAtBzNMAQYDUBDYCAEGc0ABBgNQENgIAQbDQACAFNgIAQazQAEF/NgIAQdDTAEGArAM2AgADQCABQcjQAGogAUG80ABqIgI2AgAgAiABQbTQAGoiAzYCACABQcDQAGogAzYCACABQdDQAGogAUHE0ABqIgM2AgAgAyACNgIAIAFB2NAAaiABQczQAGoiAjYCACACIAM2AgAgAUHU0ABqIAI2AgAgAUEgaiIBQYACRw0AC0GM1ARBwasDNgIAQajQAEH00wAoAgA2AgBBmNAAQcCrAzYCAEGk0ABBiNQENgIAQcz/B0E4NgIAQYjUBCEJCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFNBEBBjNAAKAIAIgZBECAAQRNqQXBxIABBC0kbIgRBA3YiAHYiAUEDcQRAAkAgAUEBcSAAckEBcyICQQN0IgBBtNAAaiIBIABBvNAAaigCACIAKAIIIgNGBEBBjNAAIAZBfiACd3E2AgAMAQsgASADNgIIIAMgATYCDAsgAEEIaiEBIAAgAkEDdCICQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDBELQZTQACgCACIIIARPDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIAQQN0IgJBtNAAaiIBIAJBvNAAaigCACICKAIIIgNGBEBBjNAAIAZBfiAAd3EiBjYCAAwBCyABIAM2AgggAyABNgIMCyACIARBA3I2AgQgAEEDdCIAIARrIQUgACACaiAFNgIAIAIgBGoiBCAFQQFyNgIEIAgEQCAIQXhxQbTQAGohAEGg0AAoAgAhAwJ/QQEgCEEDdnQiASAGcUUEQEGM0AAgASAGcjYCACAADAELIAAoAggLIgEgAzYCDCAAIAM2AgggAyAANgIMIAMgATYCCAsgAkEIaiEBQaDQACAENgIAQZTQACAFNgIADBELQZDQACgCACILRQ0BIAtoQQJ0QbzSAGooAgAiACgCBEF4cSAEayEFIAAhAgNAAkAgAigCECIBRQRAIAJBFGooAgAiAUUNAQsgASgCBEF4cSAEayIDIAVJIQIgAyAFIAIbIQUgASAAIAIbIQAgASECDAELCyAAKAIYIQkgACgCDCIDIABHBEBBnNAAKAIAGiADIAAoAggiATYCCCABIAM2AgwMEAsgAEEUaiICKAIAIgFFBEAgACgCECIBRQ0DIABBEGohAgsDQCACIQcgASIDQRRqIgIoAgAiAQ0AIANBEGohAiADKAIQIgENAAsgB0EANgIADA8LQX8hBCAAQb9/Sw0AIABBE2oiAUFwcSEEQZDQACgCACIIRQ0AQQAgBGshBQJAAkACQAJ/QQAgBEGAAkkNABpBHyAEQf///wdLDQAaIARBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBvNIAaigCACICRQRAQQAhAUEAIQMMAQtBACEBIARBGSAGQQF2a0EAIAZBH0cbdCEAQQAhAwNAAkAgAigCBEF4cSAEayIHIAVPDQAgAiEDIAciBQ0AQQAhBSACIQEMAwsgASACQRRqKAIAIgcgByACIABBHXZBBHFqQRBqKAIAIgJGGyABIAcbIQEgAEEBdCEAIAINAAsLIAEgA3JFBEBBACEDQQIgBnQiAEEAIABrciAIcSIARQ0DIABoQQJ0QbzSAGooAgAhAQsgAUUNAQsDQCABKAIEQXhxIARrIgIgBUkhACACIAUgABshBSABIAMgABshAyABKAIQIgAEfyAABSABQRRqKAIACyIBDQALCyADRQ0AIAVBlNAAKAIAIARrTw0AIAMoAhghByADIAMoAgwiAEcEQEGc0AAoAgAaIAAgAygCCCIBNgIIIAEgADYCDAwOCyADQRRqIgIoAgAiAUUEQCADKAIQIgFFDQMgA0EQaiECCwNAIAIhBiABIgBBFGoiAigCACIBDQAgAEEQaiECIAAoAhAiAQ0ACyAGQQA2AgAMDQtBlNAAKAIAIgMgBE8EQEGg0AAoAgAhAQJAIAMgBGsiAkEQTwRAIAEgBGoiACACQQFyNgIEIAEgA2ogAjYCACABIARBA3I2AgQMAQsgASADQQNyNgIEIAEgA2oiACAAKAIEQQFyNgIEQQAhAEEAIQILQZTQACACNgIAQaDQACAANgIAIAFBCGohAQwPC0GY0AAoAgAiAyAESwRAIAQgCWoiACADIARrIgFBAXI2AgRBpNAAIAA2AgBBmNAAIAE2AgAgCSAEQQNyNgIEIAlBCGohAQwPC0EAIQEgBAJ/QeTTACgCAARAQezTACgCAAwBC0Hw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBDGpBcHFB2KrVqgVzNgIAQfjTAEEANgIAQcjTAEEANgIAQYCABAsiACAEQccAaiIFaiIGQQAgAGsiB3EiAk8EQEH80wBBMDYCAAwPCwJAQcTTACgCACIBRQ0AQbzTACgCACIIIAJqIQAgACABTSAAIAhLcQ0AQQAhAUH80wBBMDYCAAwPC0HI0wAtAABBBHENBAJAAkAgCQRAQczTACEBA0AgASgCACIAIAlNBEAgACABKAIEaiAJSw0DCyABKAIIIgENAAsLQQAQMyIAQX9GDQUgAiEGQejTACgCACIBQQFrIgMgAHEEQCACIABrIAAgA2pBACABa3FqIQYLIAQgBk8NBSAGQf7///8HSw0FQcTTACgCACIDBEBBvNMAKAIAIgcgBmohASABIAdNDQYgASADSw0GCyAGEDMiASAARw0BDAcLIAYgA2sgB3EiBkH+////B0sNBCAGEDMhACAAIAEoAgAgASgCBGpGDQMgACEBCwJAIAYgBEHIAGpPDQAgAUF/Rg0AQezTACgCACIAIAUgBmtqQQAgAGtxIgBB/v///wdLBEAgASEADAcLIAAQM0F/RwRAIAAgBmohBiABIQAMBwtBACAGaxAzGgwECyABIgBBf0cNBQwDC0EAIQMMDAtBACEADAoLIABBf0cNAgtByNMAQcjTACgCAEEEcjYCAAsgAkH+////B0sNASACEDMhAEEAEDMhASAAQX9GDQEgAUF/Rg0BIAAgAU8NASABIABrIgYgBEE4ak0NAQtBvNMAQbzTACgCACAGaiIBNgIAQcDTACgCACABSQRAQcDTACABNgIACwJAAkACQEGk0AAoAgAiAgRAQczTACEBA0AgACABKAIAIgMgASgCBCIFakYNAiABKAIIIgENAAsMAgtBnNAAKAIAIgFBAEcgACABT3FFBEBBnNAAIAA2AgALQQAhAUHQ0wAgBjYCAEHM0wAgADYCAEGs0ABBfzYCAEGw0ABB5NMAKAIANgIAQdjTAEEANgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBeCAAa0EPcSIBIABqIgIgBkE4ayIDIAFrIgFBAXI2AgRBqNAAQfTTACgCADYCAEGY0AAgATYCAEGk0AAgAjYCACAAIANqQTg2AgQMAgsgACACTQ0AIAIgA0kNACABKAIMQQhxDQBBeCACa0EPcSIAIAJqIgNBmNAAKAIAIAZqIgcgAGsiAEEBcjYCBCABIAUgBmo2AgRBqNAAQfTTACgCADYCAEGY0AAgADYCAEGk0AAgAzYCACACIAdqQTg2AgQMAQsgAEGc0AAoAgBJBEBBnNAAIAA2AgALIAAgBmohA0HM0wAhAQJAAkACQANAIAMgASgCAEcEQCABKAIIIgENAQwCCwsgAS0ADEEIcUUNAQtBzNMAIQEDQCABKAIAIgMgAk0EQCADIAEoAgRqIgUgAksNAwsgASgCCCEBDAALAAsgASAANgIAIAEgASgCBCAGajYCBCAAQXggAGtBD3FqIgkgBEEDcjYCBCADQXggA2tBD3FqIgYgBCAJaiIEayEBIAIgBkYEQEGk0AAgBDYCAEGY0ABBmNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEDAgLQaDQACgCACAGRgRAQaDQACAENgIAQZTQAEGU0AAoAgAgAWoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAgLIAYoAgQiBUEDcUEBRw0GIAVBeHEhCCAFQf8BTQRAIAVBA3YhAyAGKAIIIgAgBigCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBwsgAiAANgIIIAAgAjYCDAwGCyAGKAIYIQcgBiAGKAIMIgBHBEAgACAGKAIIIgI2AgggAiAANgIMDAULIAZBFGoiAigCACIFRQRAIAYoAhAiBUUNBCAGQRBqIQILA0AgAiEDIAUiAEEUaiICKAIAIgUNACAAQRBqIQIgACgCECIFDQALIANBADYCAAwEC0F4IABrQQ9xIgEgAGoiByAGQThrIgMgAWsiAUEBcjYCBCAAIANqQTg2AgQgAiAFQTcgBWtBD3FqQT9rIgMgAyACQRBqSRsiA0EjNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAc2AgAgA0EQakHU0wApAgA3AgAgA0HM0wApAgA3AghB1NMAIANBCGo2AgBB0NMAIAY2AgBBzNMAIAA2AgBB2NMAQQA2AgAgA0EkaiEBA0AgAUEHNgIAIAUgAUEEaiIBSw0ACyACIANGDQAgAyADKAIEQX5xNgIEIAMgAyACayIFNgIAIAIgBUEBcjYCBCAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIDcUUEQEGM0AAgASADcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEGQ0AAoAgAiA0EBIAF0IgZxRQRAIAAgAjYCAEGQ0AAgAyAGcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQMCQANAIAMiACgCBEF4cSAFRg0BIAFBHXYhAyABQQF0IQEgACADQQRxakEQaiIGKAIAIgMNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAtBmNAAKAIAIgEgBE0NAEGk0AAoAgAiACAEaiICIAEgBGsiAUEBcjYCBEGY0AAgATYCAEGk0AAgAjYCACAAIARBA3I2AgQgAEEIaiEBDAgLQQAhAUH80wBBMDYCAAwHC0EAIQALIAdFDQACQCAGKAIcIgJBAnRBvNIAaiIDKAIAIAZGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAdBEEEUIAcoAhAgBkYbaiAANgIAIABFDQELIAAgBzYCGCAGKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAGQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAIaiEBIAYgCGoiBigCBCEFCyAGIAVBfnE2AgQgASAEaiABNgIAIAQgAUEBcjYCBCABQf8BTQRAIAFBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASABQQN2dCIBcUUEQEGM0AAgASACcjYCACAADAELIAAoAggLIgEgBDYCDCAAIAQ2AgggBCAANgIMIAQgATYCCAwBC0EfIQUgAUH///8HTQRAIAFBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBQsgBCAFNgIcIARCADcCECAFQQJ0QbzSAGohAEGQ0AAoAgAiAkEBIAV0IgNxRQRAIAAgBDYCAEGQ0AAgAiADcjYCACAEIAA2AhggBCAENgIIIAQgBDYCDAwBCyABQRkgBUEBdmtBACAFQR9HG3QhBSAAKAIAIQACQANAIAAiAigCBEF4cSABRg0BIAVBHXYhACAFQQF0IQUgAiAAQQRxakEQaiIDKAIAIgANAAsgAyAENgIAIAQgAjYCGCAEIAQ2AgwgBCAENgIIDAELIAIoAggiACAENgIMIAIgBDYCCCAEQQA2AhggBCACNgIMIAQgADYCCAsgCUEIaiEBDAILAkAgB0UNAAJAIAMoAhwiAUECdEG80gBqIgIoAgAgA0YEQCACIAA2AgAgAA0BQZDQACAIQX4gAXdxIgg2AgAMAgsgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAQsgACAHNgIYIAMoAhAiAQRAIAAgATYCECABIAA2AhgLIANBFGooAgAiAUUNACAAQRRqIAE2AgAgASAANgIYCwJAIAVBD00EQCADIAQgBWoiAEEDcjYCBCAAIANqIgAgACgCBEEBcjYCBAwBCyADIARqIgIgBUEBcjYCBCADIARBA3I2AgQgAiAFaiAFNgIAIAVB/wFNBEAgBUF4cUG00ABqIQACf0GM0AAoAgAiAUEBIAVBA3Z0IgVxRQRAQYzQACABIAVyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRBvNIAaiEAQQEgAXQiBCAIcUUEQCAAIAI2AgBBkNAAIAQgCHI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEEAkADQCAEIgAoAgRBeHEgBUYNASABQR12IQQgAUEBdCEBIAAgBEEEcWpBEGoiBigCACIEDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLIANBCGohAQwBCwJAIAlFDQACQCAAKAIcIgFBAnRBvNIAaiICKAIAIABGBEAgAiADNgIAIAMNAUGQ0AAgC0F+IAF3cTYCAAwCCyAJQRBBFCAJKAIQIABGG2ogAzYCACADRQ0BCyADIAk2AhggACgCECIBBEAgAyABNgIQIAEgAzYCGAsgAEEUaigCACIBRQ0AIANBFGogATYCACABIAM2AhgLAkAgBUEPTQRAIAAgBCAFaiIBQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELIAAgBGoiByAFQQFyNgIEIAAgBEEDcjYCBCAFIAdqIAU2AgAgCARAIAhBeHFBtNAAaiEBQaDQACgCACEDAn9BASAIQQN2dCICIAZxRQRAQYzQACACIAZyNgIAIAEMAQsgASgCCAsiAiADNgIMIAEgAzYCCCADIAE2AgwgAyACNgIIC0Gg0AAgBzYCAEGU0AAgBTYCAAsgAEEIaiEBCyAKQRBqJAAgAQtDACAARQRAPwBBEHQPCwJAIABB//8DcQ0AIABBAEgNACAAQRB2QAAiAEF/RgRAQfzTAEEwNgIAQX8PCyAAQRB0DwsACwvcPyIAQYAICwkBAAAAAgAAAAMAQZQICwUEAAAABQBBpAgLCQYAAAAHAAAACABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64"); + } +}); + +// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +var require_llhttp_simd_wasm = __commonJS({ + "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { + "use strict"; + var { Buffer: Buffer2 } = require("node:buffer"); + module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64"); + } +}); + +// node_modules/undici/lib/web/fetch/constants.js +var require_constants3 = __commonJS({ + "node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) { + "use strict"; + var corsSafeListedMethods = ( + /** @type {const} */ + ["GET", "HEAD", "POST"] + ); + var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); + var nullBodyStatus = ( + /** @type {const} */ + [101, 204, 205, 304] + ); + var redirectStatus = ( + /** @type {const} */ + [301, 302, 303, 307, 308] + ); + var redirectStatusSet = new Set(redirectStatus); + var badPorts = ( + /** @type {const} */ + [ + "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", + "4190", + "5060", + "5061", + "6000", + "6566", + "6665", + "6666", + "6667", + "6668", + "6669", + "6679", + "6697", + "10080" + ] + ); + var badPortsSet = new Set(badPorts); + var referrerPolicy = ( + /** @type {const} */ + [ + "", + "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 = ( + /** @type {const} */ + ["follow", "manual", "error"] + ); + var safeMethods = ( + /** @type {const} */ + ["GET", "HEAD", "OPTIONS", "TRACE"] + ); + var safeMethodsSet = new Set(safeMethods); + var requestMode = ( + /** @type {const} */ + ["navigate", "same-origin", "no-cors", "cors"] + ); + var requestCredentials = ( + /** @type {const} */ + ["omit", "same-origin", "include"] + ); + var requestCache = ( + /** @type {const} */ + [ + "default", + "no-store", + "reload", + "no-cache", + "force-cache", + "only-if-cached" + ] + ); + var requestBodyHeader = ( + /** @type {const} */ + [ + "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 = ( + /** @type {const} */ + [ + "half" + ] + ); + var forbiddenMethods = ( + /** @type {const} */ + ["CONNECT", "TRACE", "TRACK"] + ); + var forbiddenMethodsSet = new Set(forbiddenMethods); + var subresource = ( + /** @type {const} */ + [ + "audio", + "audioworklet", + "font", + "image", + "manifest", + "paintworklet", + "script", + "style", + "track", + "video", + "xslt", + "" + ] + ); + var subresourceSet = new Set(subresource); + module2.exports = { + subresource, + forbiddenMethods, + requestBodyHeader, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + redirectStatus, + corsSafeListedMethods, + nullBodyStatus, + safeMethods, + badPorts, + requestDuplex, + subresourceSet, + badPortsSet, + redirectStatusSet, + corsSafeListedMethodsSet, + safeMethodsSet, + forbiddenMethodsSet, + referrerPolicySet + }; + } +}); + +// node_modules/undici/lib/web/fetch/global.js +var require_global = __commonJS({ + "node_modules/undici/lib/web/fetch/global.js"(exports2, module2) { + "use strict"; + var globalOrigin = Symbol.for("undici.globalOrigin.1"); + function getGlobalOrigin() { + return globalThis[globalOrigin]; + } + function setGlobalOrigin(newOrigin) { + if (newOrigin === void 0) { + Object.defineProperty(globalThis, globalOrigin, { + value: void 0, + writable: true, + enumerable: false, + configurable: false + }); + 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}`); } + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); } - function getTotalBytes(instance) { - const body = instance.body; - if (body === null) { - return 0; - } else if (isBlob(body)) { - return body.size; - } else if (Buffer.isBuffer(body)) { - return body.length; - } else if (body && typeof body.getLengthSync === 'function') { - if ( - (body._lengthRetrievers && body._lengthRetrievers.length == 0) || // 1.x - (body.hasKnownLength && body.hasKnownLength()) - ) { - return body.getLengthSync(); + module2.exports = { + getGlobalOrigin, + setGlobalOrigin + }; + } +}); + +// node_modules/undici/lib/web/fetch/data-url.js +var require_data_url = __commonJS({ + "node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var encoder = new TextEncoder(); + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; + var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; + var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; + 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); + if (position.position >= input.length) { + return "failure"; + } + 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"; } - return null; - } else { - return null; + mimeType = mimeType.slice(0, -6); + mimeType = mimeType.replace(/(\u0020)+$/, ""); + mimeType = mimeType.slice(0, -1); } - } - function writeToStream(dest, instance) { - const body = instance.body; - if (body === null) { - dest.end(); - } else if (isBlob(body)) { - body.stream().pipe(dest); - } else if (Buffer.isBuffer(body)) { - dest.write(body); - dest.end(); - } else { - body.pipe(dest); + if (mimeType.startsWith(";")) { + mimeType = "text/plain" + mimeType; + } + let mimeTypeRecord = parseMIMEType(mimeType); + if (mimeTypeRecord === "failure") { + mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); } + return { mimeType: mimeTypeRecord, body }; } - Body.Promise = global.Promise; - var invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; - var invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - function validateName(name) { - name = `${name}`; - if (invalidTokenRegex.test(name) || name === '') { - throw new TypeError(`${name} is not a legal HTTP header name`); + function URLSerializer(url, excludeFragment = false) { + if (!excludeFragment) { + return url.href; } + const href = url.href; + const hashLength = url.hash.length; + const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength); + if (!hashLength && href.endsWith("#")) { + return serialized.slice(0, -1); + } + return serialized; } - function validateValue(value) { - value = `${value}`; - if (invalidHeaderCharRegex.test(value)) { - throw new TypeError(`${value} is not a legal HTTP header value`); + function collectASequenceOfCodePoints(condition, input, position) { + let result = ""; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; } + return result; + } + function collectASequenceOfCodePointsFast(char, input, 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 = idx; + return input.slice(start, position.position); + } + function stringPercentDecode(input) { + const bytes = encoder.encode(input); + return percentDecode(bytes); + } + function isHexCharByte(byte) { + return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102; + } + function hexByteToNumber(byte) { + return ( + // 0-9 + byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55 + ); } - function find(map, name) { - name = name.toLowerCase(); - for (const key in map) { - if (key.toLowerCase() === name) { - return key; + function percentDecode(input) { + const length = input.length; + const output = new Uint8Array(length); + let j = 0; + for (let i = 0; i < length; ++i) { + const byte = input[i]; + if (byte !== 37) { + output[j++] = byte; + } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) { + output[j++] = 37; + } else { + output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]); + i += 2; } } - return void 0; + return length === j ? output : output.subarray(0, j); } - var MAP = Symbol('map'); - var Headers = class _Headers { - /** - * Headers class - * - * @param Object headers Response headers - * @return Void - */ - constructor() { - let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; - this[MAP] = /* @__PURE__ */ Object.create(null); - if (init instanceof _Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } + function parseMIMEType(input) { + 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"; + } + if (position.position > input.length) { + 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"; + } + const typeLowercase = type.toLowerCase(); + const subtypeLowercase = subtype.toLowerCase(); + const mimeType = { + type: typeLowercase, + subtype: subtypeLowercase, + /** @type {Map} */ + parameters: /* @__PURE__ */ new Map(), + // https://mimesniff.spec.whatwg.org/#mime-type-essence + essence: `${typeLowercase}/${subtypeLowercase}` + }; + while (position.position < input.length) { + position.position++; + collectASequenceOfCodePoints( + // https://fetch.spec.whatwg.org/#http-whitespace + (char) => HTTP_WHITESPACE_REGEX.test(char), + input, + position + ); + let parameterName = collectASequenceOfCodePoints( + (char) => char !== ";" && char !== "=", + input, + position + ); + parameterName = parameterName.toLowerCase(); + if (position.position < input.length) { + if (input[position.position] === ";") { + continue; } - return; + position.position++; } - if (init == null); - else if (typeof init === 'object') { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== 'function') { - throw new TypeError('Header pairs must be iterable'); - } - const pairs = []; - for (const pair of init) { - if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { - throw new TypeError('Each header pair must be iterable'); - } - pairs.push(Array.from(pair)); - } - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError('Each header pair must be a name/value tuple'); - } - this.append(pair[0], pair[1]); - } - } else { - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } + if (position.position > input.length) { + break; + } + let parameterValue = null; + if (input[position.position] === '"') { + parameterValue = collectAnHTTPQuotedString(input, position, true); + collectASequenceOfCodePointsFast( + ";", + input, + position + ); } else { - throw new TypeError('Provided initializer must be an object'); + parameterValue = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + parameterValue = removeHTTPWhitespace(parameterValue, false, true); + if (parameterValue.length === 0) { + continue; + } } - } - /** - * Return combined header value given name - * - * @param String name Header name - * @return Mixed - */ - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === void 0) { - return null; + 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 this[MAP][key].join(', '); } - /** - * Iterate over all headers - * - * @param Function callback Executed for each item with parameters (value, name, thisArg) - * @param Boolean thisArg `this` context for callback function - * @return Void - */ - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], - value = _pairs$i[1]; - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; + return mimeType; + } + function forgivingBase64(data) { + data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, ""); + let dataLength = data.length; + if (dataLength % 4 === 0) { + if (data.charCodeAt(dataLength - 1) === 61) { + --dataLength; + if (data.charCodeAt(dataLength - 1) === 61) { + --dataLength; + } } } - /** - * Overwrite header values given name - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== void 0 ? key : name] = [value]; + if (dataLength % 4 === 1) { + return "failure"; } - /** - * Append a value onto existing header - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== void 0) { - this[MAP][key].push(value); + if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) { + return "failure"; + } + const buffer = Buffer.from(data, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + } + function collectAnHTTPQuotedString(input, position, extractValue) { + const positionStart = position.position; + let value = ""; + assert(input[position.position] === '"'); + position.position++; + while (true) { + value += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== "\\", + input, + position + ); + if (position.position >= input.length) { + break; + } + const quoteOrBackslash = input[position.position]; + position.position++; + if (quoteOrBackslash === "\\") { + if (position.position >= input.length) { + value += "\\"; + break; + } + value += input[position.position]; + position.position++; } else { - this[MAP][name] = [value]; + assert(quoteOrBackslash === '"'); + break; } } - /** - * Check for header name existence - * - * @param String name Header name - * @return Boolean - */ - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== void 0; + if (extractValue) { + return value; } - /** - * Delete all header values given name - * - * @param String name Header name - * @return Void - */ - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== void 0) { - delete this[MAP][key]; + return input.slice(positionStart, position.position); + } + function serializeAMimeType(mimeType) { + assert(mimeType !== "failure"); + const { parameters, essence } = mimeType; + let serialization = essence; + for (let [name, value] of parameters.entries()) { + serialization += ";"; + serialization += name; + serialization += "="; + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { + value = value.replace(/(\\|")/g, "\\$1"); + value = '"' + value; + value += '"'; } + serialization += value; } - /** - * Return raw headers (non-spec api) - * - * @return Object - */ - raw() { - return this[MAP]; - } - /** - * Get an iterator on keys. - * - * @return Iterator - */ - keys() { - return createHeadersIterator(this, 'key'); - } - /** - * Get an iterator on values. - * - * @return Iterator - */ - values() { - return createHeadersIterator(this, 'value'); + return serialization; + } + function isHTTPWhiteSpace(char) { + return char === 13 || char === 10 || char === 9 || char === 32; + } + function removeHTTPWhitespace(str, leading = true, trailing = true) { + return removeChars(str, leading, trailing, isHTTPWhiteSpace); + } + function isASCIIWhitespace(char) { + return char === 13 || char === 10 || char === 9 || char === 12 || char === 32; + } + function removeASCIIWhitespace(str, leading = true, trailing = true) { + return removeChars(str, leading, trailing, isASCIIWhitespace); + } + function removeChars(str, leading, trailing, predicate) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + while (lead < str.length && predicate(str.charCodeAt(lead))) lead++; } - /** - * Get an iterator on entries. - * - * This is the default iterator of the Headers object. - * - * @return Iterator - */ - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); + if (trailing) { + while (trail > 0 && predicate(str.charCodeAt(trail))) trail--; } - }; - Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: 'Headers', - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } - }); - function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'key+value'; - const keys = Object.keys(headers[MAP]).sort(); - return keys.map( - kind === 'key' - ? function (k) { - return k.toLowerCase(); - } - : kind === 'value' - ? function (k) { - return headers[MAP][k].join(', '); - } - : function (k) { - return [k.toLowerCase(), headers[MAP][k].join(', ')]; - } - ); - } - var INTERNAL = Symbol('internal'); - function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; + return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1); } - var HeadersIteratorPrototype = Object.setPrototypeOf( - { - next() { - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError('Value of `this` is not a HeadersIterator'); - } - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, - kind = _INTERNAL.kind, - index = _INTERNAL.index; - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: void 0, - done: true - }; - } - this[INTERNAL].index = index + 1; - return { - value: values[index], - done: false - }; + function isomorphicDecode(input) { + const length = input.length; + if ((2 << 15) - 1 > length) { + return String.fromCharCode.apply(null, input); + } + let result = ""; + let i = 0; + let addition = (2 << 15) - 1; + while (i < length) { + if (i + addition > length) { + addition = length - i; } - }, - Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())) - ); - Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: 'HeadersIterator', - writable: false, - enumerable: false, - configurable: true - }); - function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - const hostHeaderKey = find(headers[MAP], 'Host'); - if (hostHeaderKey !== void 0) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; + result += String.fromCharCode.apply(null, input.subarray(i, i += addition)); } - return obj; + return result; } - function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; + function minimizeSupportedMimeType(mimeType) { + switch (mimeType.essence) { + case "application/ecmascript": + case "application/javascript": + case "application/x-ecmascript": + case "application/x-javascript": + case "text/ecmascript": + case "text/javascript": + case "text/javascript1.0": + case "text/javascript1.1": + case "text/javascript1.2": + case "text/javascript1.3": + case "text/javascript1.4": + case "text/javascript1.5": + case "text/jscript": + case "text/livescript": + case "text/x-ecmascript": + case "text/x-javascript": + return "text/javascript"; + case "application/json": + case "text/json": + return "application/json"; + case "image/svg+xml": + return "image/svg+xml"; + case "text/xml": + case "application/xml": + return "application/xml"; + } + if (mimeType.subtype.endsWith("+json")) { + return "application/json"; + } + if (mimeType.subtype.endsWith("+xml")) { + return "application/xml"; + } + return ""; + } + module2.exports = { + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType, + removeChars, + removeHTTPWhitespace, + minimizeSupportedMimeType, + HTTP_TOKEN_CODEPOINTS, + isomorphicDecode + }; + } +}); + +// node_modules/undici/lib/web/fetch/webidl.js +var require_webidl = __commonJS({ + "node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) { + "use strict"; + var { types, inspect } = require("node:util"); + var { markAsUncloneable } = require("node:worker_threads"); + var { toUSVString } = require_util(); + var webidl = {}; + webidl.converters = {}; + webidl.util = {}; + webidl.errors = {}; + webidl.errors.exception = function(message) { + return new TypeError(`${message.header}: ${message.message}`); + }; + webidl.errors.conversionFailed = function(context3) { + const plural = context3.types.length === 1 ? "" : " one of"; + const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`; + return webidl.errors.exception({ + header: context3.prefix, + message + }); + }; + webidl.errors.invalidArgument = function(context3) { + return webidl.errors.exception({ + header: context3.prefix, + message: `"${context3.value}" is an invalid ${context3.type}.` + }); + }; + webidl.brandCheck = function(V, I, opts) { + if (opts?.strict !== false) { + if (!(V instanceof I)) { + const err = new TypeError("Illegal invocation"); + err.code = "ERR_INVALID_THIS"; + throw err; } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; - } - if (headers[MAP][name] === void 0) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; + } else { + if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) { + const err = new TypeError("Illegal invocation"); + err.code = "ERR_INVALID_THIS"; + throw err; } } - return headers; - } - var INTERNALS$1 = Symbol('Response internals'); - var STATUS_CODES = http.STATUS_CODES; - var Response = class _Response { - constructor() { - let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - Body.call(this, body, opts); - const status = opts.status || 200; - const headers = new Headers(opts.headers); - if (body != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body); - if (contentType) { - headers.append('Content-Type', contentType); - } - } - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } - get url() { - return this[INTERNALS$1].url || ''; + }; + 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.`, + header: ctx + }); } - get status() { - return this[INTERNALS$1].status; + }; + webidl.illegalConstructor = function() { + throw webidl.errors.exception({ + 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": { + if (V === null) { + return "Null"; + } + return "Object"; + } } - /** - * Convenience property representing if the request ended normally - */ - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + }; + webidl.util.markAsUncloneable = markAsUncloneable || (() => { + }); + 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; + } else { + lowerBound = Math.pow(-2, 53) + 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; + } + let x = Number(V); + if (x === 0) { + x = 0; + } + if (opts?.enforceRange === true) { + if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Could not convert ${webidl.util.Stringify(V)} to an integer.` + }); + } + x = webidl.util.IntegerPart(x); + if (x < lowerBound || x > upperBound) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.` + }); + } + return x; } - get redirected() { - return this[INTERNALS$1].counter > 0; + if (!Number.isNaN(x) && opts?.clamp === true) { + x = Math.min(Math.max(x, lowerBound), upperBound); + if (Math.floor(x) % 2 === 0) { + x = Math.floor(x); + } else { + x = Math.ceil(x); + } + return x; } - get statusText() { - return this[INTERNALS$1].statusText; + if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + return 0; } - get headers() { - return this[INTERNALS$1].headers; + 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); } - /** - * Clone this response - * - * @return Response - */ - clone() { - return new _Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); + return x; + }; + webidl.util.IntegerPart = function(n) { + const r = Math.floor(Math.abs(n)); + if (n < 0) { + return -1 * r; } + return r; }; - Body.mixIn(Response.prototype); - Object.defineProperties(Response.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } - }); - Object.defineProperty(Response.prototype, Symbol.toStringTag, { - value: 'Response', - writable: false, - enumerable: false, - configurable: true - }); - var INTERNALS$2 = Symbol('Request internals'); - var URL3 = Url.URL || whatwgUrl.URL; - var parse_url = Url.parse; - var format_url = Url.format; - function parseURL(urlStr) { - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL3(urlStr).toString(); + webidl.util.Stringify = function(V) { + const type = webidl.util.Type(V); + switch (type) { + case "Symbol": + return `Symbol(${V.description})`; + case "Object": + return inspect(V); + case "String": + return `"${V}"`; + default: + return `${V}`; } - return parse_url(urlStr); - } - var streamDestructionSupported = 'destroy' in Stream.Readable.prototype; - function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; - } - function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); - } - var Request = class _Request { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - let parsedURL; - if (!isRequest(input)) { - if (input && input.href) { - parsedURL = parseURL(input.href); - } else { - parsedURL = parseURL(`${input}`); + }; + webidl.sequenceConverter = function(converter) { + return (V, prefix, argument, Iterable) => { + if (webidl.util.Type(V) !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.` + }); + } + const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.(); + const seq = []; + let index = 0; + if (method === void 0 || typeof method.next !== "function") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} is not iterable.` + }); + } + while (true) { + const { done, value } = method.next(); + if (done) { + break; } - input = {}; - } else { - parsedURL = parseURL(input.url); + seq.push(converter(value, prefix, `${argument}[${index++}]`)); } - let method = init.method || input.method || 'GET'; - method = method.toUpperCase(); - if ((init.body != null || (isRequest(input) && input.body !== null)) && (method === 'GET' || method === 'HEAD')) { - throw new TypeError('Request with GET/HEAD method cannot have body'); + return seq; + }; + }; + webidl.recordConverter = function(keyConverter, valueConverter) { + return (O, prefix, argument) => { + if (webidl.util.Type(O) !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} ("${webidl.util.Type(O)}") is not an Object.` + }); } - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); - const headers = new Headers(init.headers || input.headers || {}); - if (inputBody != null && !headers.has('Content-Type')) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append('Content-Type', contentType); + const result = {}; + if (!types.isProxy(O)) { + const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)]; + for (const key of keys2) { + const typedKey = keyConverter(key, prefix, argument); + const typedValue = valueConverter(O[key], prefix, argument); + result[typedKey] = typedValue; } + return result; } - let signal = isRequest(input) ? input.signal : null; - if ('signal' in init) signal = init.signal; - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError('Expected signal to be an instanceof AbortSignal'); + const keys = Reflect.ownKeys(O); + for (const key of keys) { + const desc = Reflect.getOwnPropertyDescriptor(O, key); + if (desc?.enumerable) { + const typedKey = keyConverter(key, prefix, argument); + const typedValue = valueConverter(O[key], prefix, argument); + result[typedKey] = typedValue; + } } - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || 'follow', - headers, - parsedURL, - signal - }; - this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; - this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; + return result; + }; + }; + webidl.interfaceConverter = function(i) { + return (V, prefix, argument, opts) => { + if (opts?.strict !== false && !(V instanceof i)) { + throw webidl.errors.exception({ + header: prefix, + message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.` + }); + } + return V; + }; + }; + webidl.dictionaryConverter = function(converters) { + return (dictionary, prefix, argument) => { + const type = webidl.util.Type(dictionary); + const dict = {}; + if (type === "Null" || type === "Undefined") { + return dict; + } else if (type !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` + }); + } + for (const options of converters) { + const { key, defaultValue, required, converter } = options; + if (required === true) { + if (!Object.hasOwn(dictionary, key)) { + throw webidl.errors.exception({ + header: prefix, + message: `Missing required key "${key}".` + }); + } + } + let value = dictionary[key]; + const hasDefault = Object.hasOwn(options, "defaultValue"); + if (hasDefault && value !== null) { + value ??= defaultValue(); + } + if (required || hasDefault || value !== void 0) { + value = converter(value, prefix, `${argument}.${key}`); + if (options.allowedValues && !options.allowedValues.includes(value)) { + throw webidl.errors.exception({ + header: prefix, + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` + }); + } + dict[key] = value; + } + } + return dict; + }; + }; + webidl.nullableConverter = function(converter) { + return (V, prefix, argument) => { + if (V === null) { + return V; + } + return converter(V, prefix, argument); + }; + }; + webidl.converters.DOMString = function(V, prefix, argument, opts) { + if (V === null && opts?.legacyNullToEmptyString) { + return ""; + } + if (typeof V === "symbol") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} is a symbol, which cannot be converted to a DOMString.` + }); } - get method() { - return this[INTERNALS$2].method; + return String(V); + }; + webidl.converters.ByteString = function(V, prefix, argument) { + const x = webidl.converters.DOMString(V, prefix, argument); + for (let index = 0; index < x.length; index++) { + if (x.charCodeAt(index) > 255) { + throw new TypeError( + `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.` + ); + } } - get url() { - return format_url(this[INTERNALS$2].parsedURL); + 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, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument); + return x; + }; + webidl.converters["unsigned long long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument); + return x; + }; + webidl.converters["unsigned long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument); + return x; + }; + webidl.converters["unsigned short"] = function(V, prefix, argument, opts) { + const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument); + return x; + }; + webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) { + if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { + throw webidl.errors.conversionFailed({ + prefix, + argument: `${argument} ("${webidl.util.Stringify(V)}")`, + types: ["ArrayBuffer"] + }); } - get headers() { - return this[INTERNALS$2].headers; + if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); } - get redirect() { - return this[INTERNALS$2].redirect; + if (V.resizable || V.growable) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "Received a resizable ArrayBuffer." + }); } - get signal() { - return this[INTERNALS$2].signal; + return V; + }; + webidl.converters.TypedArray = function(V, T, prefix, name, opts) { + if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { + throw webidl.errors.conversionFailed({ + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, + types: [T.name] + }); } - /** - * Clone this request - * - * @return Request - */ - clone() { - return new _Request(this); + if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); } + if (V.buffer.resizable || V.buffer.growable) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "Received a resizable ArrayBuffer." + }); + } + return V; }; - Body.mixIn(Request.prototype); - Object.defineProperty(Request.prototype, Symbol.toStringTag, { - value: 'Request', - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Request.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } - }); - function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); - if (!headers.has('Accept')) { - headers.set('Accept', '*/*'); + webidl.converters.DataView = function(V, prefix, name, opts) { + if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { + throw webidl.errors.exception({ + header: prefix, + message: `${name} is not a DataView.` + }); + } + if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + if (V.buffer.resizable || V.buffer.growable) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "Received a resizable ArrayBuffer." + }); } - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError('Only absolute URLs are supported'); + return V; + }; + webidl.converters.BufferSource = function(V, prefix, name, opts) { + if (types.isAnyArrayBuffer(V)) { + return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false }); } - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError('Only HTTP(S) protocols are supported'); + if (types.isTypedArray(V)) { + return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false }); } - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + if (types.isDataView(V)) { + return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false }); } - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = '0'; + throw webidl.errors.conversionFailed({ + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, + types: ["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/undici/lib/web/fetch/util.js +var require_util2 = __commonJS({ + "node_modules/undici/lib/web/fetch/util.js"(exports2, module2) { + "use strict"; + var { Transform } = require("node:stream"); + var zlib = require("node:zlib"); + var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants3(); + var { getGlobalOrigin } = require_global(); + var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url(); + var { performance: performance2 } = require("node:perf_hooks"); + var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util(); + var assert = require("node:assert"); + var { isUint8Array } = require("node:util/types"); + var { webidl } = require_webidl(); + var supportedHashes = []; + var crypto; + try { + crypto = require("node:crypto"); + const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; + supportedHashes = crypto.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); + } catch { + } + function responseURL(response) { + 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; } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === 'number') { - contentLengthValue = String(totalBytes); + let location = response.headersList.get("location", true); + if (location !== null && isValidHeaderValue(location)) { + if (!isValidEncodedURL(location)) { + location = normalizeBinaryStringToUtf8(location); } + location = new URL(location, responseURL(response)); } - if (contentLengthValue) { - headers.set('Content-Length', contentLengthValue); + if (location && !location.hash) { + location.hash = requestFragment; } - if (!headers.has('User-Agent')) { - headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + return location; + } + function isValidEncodedURL(url) { + for (let i = 0; i < url.length; ++i) { + const code = url.charCodeAt(i); + if (code > 126 || // Non-US-ASCII + DEL + code < 32) { + return false; + } + } + return true; + } + function normalizeBinaryStringToUtf8(value) { + return Buffer.from(value, "binary").toString("utf8"); + } + function requestCurrentURL(request2) { + return request2.urlList[request2.urlList.length - 1]; + } + function requestBadPort(request2) { + const url = requestCurrentURL(request2); + if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { + return "blocked"; } - if (request.compress && !headers.has('Accept-Encoding')) { - headers.set('Accept-Encoding', 'gzip,deflate'); + return "allowed"; + } + function isErrorLike(object) { + 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; + } } - let agent = request.agent; - if (typeof agent === 'function') { - agent = agent(parsedURL); + return true; + } + var isValidHeaderName = isValidHTTPToken; + function isValidHeaderValue(potentialValue) { + return (potentialValue[0] === " " || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false; + } + function setRequestReferrerPolicyOnRedirect(request2, actualResponse) { + const { headersList } = actualResponse; + const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(","); + let policy = ""; + if (policyHeader.length > 0) { + for (let i = policyHeader.length; i !== 0; i--) { + const token2 = policyHeader[i - 1].trim(); + if (referrerPolicyTokens.has(token2)) { + policy = token2; + break; + } + } } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); + if (policy !== "") { + request2.referrerPolicy = policy; } - return Object.assign({}, parsedURL, { - method: request.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); } - function AbortError(message) { - Error.call(this, message); - this.type = 'aborted'; - this.message = message; - Error.captureStackTrace(this, this.constructor); - } - AbortError.prototype = Object.create(Error.prototype); - AbortError.prototype.constructor = AbortError; - AbortError.prototype.name = 'AbortError'; - var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream.PassThrough; - var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; - return orig === dest || (orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest)); - }; - function fetch(url, opts) { - if (!fetch.Promise) { - throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); - } - Body.Promise = fetch.Promise; - return new fetch.Promise(function (resolve, reject) { - const request = new Request(url, opts); - const options = getNodeRequestOptions(request); - const send = (options.protocol === 'https:' ? https : http).request; - const signal = request.signal; - let response = null; - const abort = function abort2() { - let error = new AbortError('The user aborted a request.'); - reject(error); - if (request.body && request.body instanceof Stream.Readable) { - request.body.destroy(error); - } - if (!response || !response.body) return; - response.body.emit('error', error); - }; - if (signal && signal.aborted) { - abort(); - return; + function crossOriginResourcePolicyCheck() { + return "allowed"; + } + function corsCheck() { + return "success"; + } + function TAOCheck() { + return "success"; + } + function appendFetchMetadata(httpRequest) { + let header = null; + header = httpRequest.mode; + httpRequest.headersList.set("sec-fetch-mode", header, true); + } + function appendRequestOriginHeader(request2) { + let serializedOrigin = request2.origin; + if (serializedOrigin === "client" || serializedOrigin === void 0) { + return; + } + if (request2.responseTainting === "cors" || request2.mode === "websocket") { + request2.headersList.append("origin", serializedOrigin, true); + } else if (request2.method !== "GET" && request2.method !== "HEAD") { + switch (request2.referrerPolicy) { + case "no-referrer": + serializedOrigin = null; + break; + case "no-referrer-when-downgrade": + case "strict-origin": + case "strict-origin-when-cross-origin": + if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) { + serializedOrigin = null; + } + break; + case "same-origin": + if (!sameOrigin(request2, requestCurrentURL(request2))) { + serializedOrigin = null; + } + break; + default: } - const abortAndFinalize = function abortAndFinalize2() { - abort(); - finalize(); + request2.headersList.append("origin", serializedOrigin, true); + } + } + function coarsenTime(timestamp, crossOriginIsolatedCapability) { + return timestamp; + } + function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) { + if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) { + return { + domainLookupStartTime: defaultStartTime, + domainLookupEndTime: defaultStartTime, + connectionStartTime: defaultStartTime, + connectionEndTime: defaultStartTime, + secureConnectionStartTime: defaultStartTime, + ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol }; - const req = send(options); - let reqTimeout; - if (signal) { - signal.addEventListener('abort', abortAndFinalize); - } - function finalize() { - req.abort(); - if (signal) signal.removeEventListener('abort', abortAndFinalize); - clearTimeout(reqTimeout); - } - if (request.timeout) { - req.once('socket', function (socket) { - reqTimeout = setTimeout(function () { - reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); - finalize(); - }, request.timeout); - }); + } + return { + domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability), + domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability), + connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability), + connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability), + secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability), + ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol + }; + } + function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { + return coarsenTime(performance2.now(), crossOriginIsolatedCapability); + } + function createOpaqueTimingInfo(timingInfo) { + return { + startTime: timingInfo.startTime ?? 0, + redirectStartTime: 0, + redirectEndTime: 0, + postRedirectStartTime: timingInfo.startTime ?? 0, + finalServiceWorkerStartTime: 0, + finalNetworkResponseStartTime: 0, + finalNetworkRequestStartTime: 0, + endTime: 0, + encodedBodySize: 0, + decodedBodySize: 0, + finalConnectionTimingInfo: null + }; + } + function makePolicyContainer() { + return { + referrerPolicy: "strict-origin-when-cross-origin" + }; + } + function clonePolicyContainer(policyContainer) { + return { + referrerPolicy: policyContainer.referrerPolicy + }; + } + function determineRequestsReferrer(request2) { + const policy = request2.referrerPolicy; + assert(policy); + let referrerSource = null; + if (request2.referrer === "client") { + const globalOrigin = getGlobalOrigin(); + if (!globalOrigin || globalOrigin.origin === "null") { + return "no-referrer"; } - req.on('error', function (err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); - finalize(); - }); - req.on('response', function (res) { - clearTimeout(reqTimeout); - const headers = createHeadersLenient(res.headers); - if (fetch.isRedirect(res.statusCode)) { - const location = headers.get('Location'); - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - if (request.redirect !== 'manual') { - reject( - new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect') - ); - finalize(); - return; - } - } - switch (request.redirect) { - case 'error': - reject( - new FetchError( - `uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, - 'no-redirect' - ) - ); - finalize(); - return; - case 'manual': - if (locationURL !== null) { - try { - headers.set('Location', locationURL); - } catch (err) { - reject(err); - } - } - break; - case 'follow': - if (locationURL === null) { - break; - } - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); - finalize(); - return; - } - const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; - if (!isDomainOrSubdomain(request.url, locationURL)) { - for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { - requestOpts.headers.delete(name); - } - } - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); - finalize(); - return; - } - if ( - res.statusCode === 303 || - ((res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') - ) { - requestOpts.method = 'GET'; - requestOpts.body = void 0; - requestOpts.headers.delete('content-length'); - } - resolve(fetch(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } - res.once('end', function () { - if (signal) signal.removeEventListener('abort', abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; - const codings = headers.get('Content-Encoding'); - if ( - !request.compress || - request.method === 'HEAD' || - codings === null || - res.statusCode === 204 || - res.statusCode === 304 - ) { - response = new Response(body, response_options); - resolve(response); - return; - } - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - if (codings == 'gzip' || codings == 'x-gzip') { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body, response_options); - resolve(response); - return; - } - if (codings == 'deflate' || codings == 'x-deflate') { - const raw = res.pipe(new PassThrough$1()); - raw.once('data', function (chunk) { - if ((chunk[0] & 15) === 8) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response(body, response_options); - resolve(response); - }); - return; + referrerSource = new URL(globalOrigin); + } else if (request2.referrer instanceof URL) { + referrerSource = request2.referrer; + } + let referrerURL = stripURLForReferrer(referrerSource); + const referrerOrigin = stripURLForReferrer(referrerSource, true); + if (referrerURL.toString().length > 4096) { + referrerURL = referrerOrigin; + } + const areSameOrigin = sameOrigin(request2, referrerURL); + const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.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(request2); + if (sameOrigin(referrerURL, currentURL)) { + return referrerURL; } - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response(body, response_options); - resolve(response); - return; + if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { + return "no-referrer"; } - response = new Response(body, response_options); - resolve(response); - }); - writeToStream(req, request); - }); + return referrerOrigin; + } + case "strict-origin": + // eslint-disable-line + /** + * 1. If referrerURL is a potentially trustworthy URL and + * request’s current URL is not a potentially trustworthy URL, + * then return no referrer. + * 2. Return referrerOrigin + */ + case "no-referrer-when-downgrade": + // eslint-disable-line + /** + * 1. If referrerURL is a potentially trustworthy URL and + * request’s current URL is not a potentially trustworthy URL, + * then return no referrer. + * 2. Return referrerOrigin + */ + default: + return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; + } } - fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; - }; - fetch.Promise = global.Promise; - module2.exports = exports2 = fetch; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.default = exports2; - exports2.Headers = Headers; - exports2.Request = Request; - exports2.Response = Response; - exports2.FetchError = FetchError; - } -}); - -// node_modules/deprecation/dist-node/index.js -var require_dist_node3 = __commonJS({ - 'node_modules/deprecation/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var Deprecation = class extends Error { - constructor(message) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); + function stripURLForReferrer(url, originOnly) { + assert(url instanceof URL); + url = new URL(url); + if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { + return "no-referrer"; + } + url.username = ""; + url.password = ""; + url.hash = ""; + if (originOnly) { + url.pathname = ""; + url.search = ""; + } + return url; + } + function isURLPotentiallyTrustworthy(url) { + if (!(url instanceof URL)) { + return false; + } + 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); + 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; } - this.name = 'Deprecation'; + return false; } - }; - exports2.Deprecation = Deprecation; - } -}); - -// node_modules/wrappy/wrappy.js -var require_wrappy = __commonJS({ - 'node_modules/wrappy/wrappy.js'(exports2, 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]; + } + function bytesMatch(bytes, metadataList) { + if (crypto === void 0) { + return true; + } + const parsedMetadata = parseMetadata(metadataList); + if (parsedMetadata === "no metadata") { + return true; + } + if (parsedMetadata.length === 0) { + return true; + } + const strongest = getStrongestMetadata(parsedMetadata); + const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); + for (const item of metadata) { + const algorithm = item.algo; + const expectedValue = item.hash; + let actualValue = crypto.createHash(algorithm).update(bytes).digest("base64"); + if (actualValue[actualValue.length - 1] === "=") { + if (actualValue[actualValue.length - 2] === "=") { + actualValue = actualValue.slice(0, -2); + } else { + actualValue = actualValue.slice(0, -1); + } + } + if (compareBase64Mixed(actualValue, expectedValue)) { + return true; + } + } + return false; + } + var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; + function parseMetadata(metadata) { + const result = []; + let empty = true; + for (const token2 of metadata.split(" ")) { + empty = false; + const parsedToken = parseHashWithOptions.exec(token2); + if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { + continue; + } + const algorithm = parsedToken.groups.algo.toLowerCase(); + if (supportedHashes.includes(algorithm)) { + result.push(parsedToken.groups); + } + } + if (empty === true) { + return "no metadata"; + } + return result; + } + function getStrongestMetadata(metadataList) { + let algorithm = metadataList[0].algo; + if (algorithm[3] === "5") { + return algorithm; + } + for (let i = 1; i < metadataList.length; ++i) { + const metadata = metadataList[i]; + if (metadata.algo[3] === "5") { + algorithm = "sha512"; + break; + } else if (algorithm[3] === "3") { + continue; + } else if (metadata.algo[3] === "3") { + algorithm = "sha384"; + } + } + return algorithm; + } + function filterMetadataListByAlgorithm(metadataList, algorithm) { + if (metadataList.length === 1) { + return metadataList; + } + let pos = 0; + for (let i = 0; i < metadataList.length; ++i) { + if (metadataList[i].algo === algorithm) { + metadataList[pos++] = metadataList[i]; + } + } + metadataList.length = pos; + return metadataList; + } + function compareBase64Mixed(actualValue, expectedValue) { + if (actualValue.length !== expectedValue.length) { + return false; + } + for (let i = 0; i < actualValue.length; ++i) { + if (actualValue[i] !== expectedValue[i]) { + if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") { + continue; + } + return false; + } + } + return true; + } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) { + } + function sameOrigin(A, B) { + 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; + } + return false; + } + function createDeferredPromise() { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + return { promise, resolve: res, reject: rej }; + } + function isAborted(fetchParams) { + return fetchParams.controller.state === "aborted"; + } + function isCancelled(fetchParams) { + return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; + } + function normalizeMethod(method) { + return normalizedMethodRecordsBase[method.toLowerCase()] ?? method; + } + function serializeJavascriptValueToJSONString(value) { + const result = JSON.stringify(value); + if (result === void 0) { + throw new TypeError("Value is not JSON serializable"); + } + assert(typeof result === "string"); + return result; + } + var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) { + class FastIterableIterator { + /** @type {any} */ + #target; + /** @type {'key' | 'value' | 'key+value'} */ + #kind; + /** @type {number} */ + #index; + /** + * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object + * @param {unknown} target + * @param {'key' | 'value' | 'key+value'} kind + */ + constructor(target, kind) { + this.#target = target; + this.#kind = kind; + this.#index = 0; + } + next() { + if (typeof this !== "object" || this === null || !(#target in this)) { + throw new TypeError( + `'next' called on an object that does not implement interface ${name} Iterator.` + ); + } + const index = this.#index; + const values = this.#target[kInternalIterator]; + const len = values.length; + if (index >= len) { + return { + value: void 0, + done: true + }; + } + const { [keyIndex]: key, [valueIndex]: value } = values[index]; + this.#index = index + 1; + let result; + switch (this.#kind) { + case "key": + result = key; + break; + case "value": + result = value; + break; + case "key+value": + result = [key, value]; + break; + } + return { + value: result, + done: false + }; + } + } + delete FastIterableIterator.prototype.constructor; + Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype); + Object.defineProperties(FastIterableIterator.prototype, { + [Symbol.toStringTag]: { + writable: false, + enumerable: false, + configurable: true, + value: `${name} Iterator` + }, + next: { writable: true, enumerable: true, configurable: true } + }); + return function(target, kind) { + return new FastIterableIterator(target, kind); + }; + } + function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) { + const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex); + const properties = { + keys: { + writable: true, + enumerable: true, + configurable: true, + value: function keys() { + webidl.brandCheck(this, object); + return makeIterator(this, "key"); + } + }, + values: { + writable: true, + enumerable: true, + configurable: true, + value: function values() { + webidl.brandCheck(this, object); + return makeIterator(this, "value"); + } + }, + entries: { + writable: true, + enumerable: true, + configurable: true, + value: function entries() { + webidl.brandCheck(this, object); + return makeIterator(this, "key+value"); + } + }, + forEach: { + writable: true, + enumerable: true, + configurable: true, + value: function forEach(callbackfn, thisArg = globalThis) { + webidl.brandCheck(this, object); + webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`); + if (typeof callbackfn !== "function") { + throw new TypeError( + `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.` + ); + } + for (const { 0: key, 1: value } of makeIterator(this, "key+value")) { + callbackfn.call(thisArg, value, key, this); + } + } + } + }; + return Object.defineProperties(object.prototype, { + ...properties, + [Symbol.iterator]: { + writable: true, + enumerable: false, + configurable: true, + value: properties.entries.value + } + }); + } + async function fullyReadBody(body, processBody, processBodyError) { + const successSteps = processBody; + const errorSteps = processBodyError; + let reader; + try { + reader = body.stream.getReader(); + } catch (e) { + errorSteps(e); + return; + } + try { + successSteps(await readAllBytes(reader)); + } catch (e) { + errorSteps(e); + } + } + function isReadableStreamLike(stream) { + return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; + } + function readableStreamClose(controller) { + try { + controller.close(); + controller.byobRequest?.respond(0); + } catch (err) { + if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) { + throw err; + } + } + } + var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; + function isomorphicEncode(input) { + assert(!invalidIsomorphicEncodeValueRegex.test(input)); + return input; + } + async function readAllBytes(reader) { + const bytes = []; + let byteLength = 0; + while (true) { + const { done, value: chunk } = await reader.read(); + if (done) { + return Buffer.concat(bytes, byteLength); + } + if (!isUint8Array(chunk)) { + throw new TypeError("Received non-Uint8Array chunk"); + } + bytes.push(chunk); + byteLength += chunk.length; + } + } + function urlIsLocal(url) { + assert("protocol" in url); + const protocol = url.protocol; + return protocol === "about:" || protocol === "blob:" || protocol === "data:"; + } + function urlHasHttpsScheme(url) { + return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:"; + } + function urlIsHttpHttpsScheme(url) { + assert("protocol" in url); + const protocol = url.protocol; + return protocol === "http:" || protocol === "https:"; + } + function simpleRangeHeaderValue(value, allowWhitespace) { + const data = value; + if (!data.startsWith("bytes")) { + return "failure"; + } + const position = { position: 5 }; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + if (data.charCodeAt(position.position) !== 61) { + return "failure"; + } + position.position++; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + const rangeStart = collectASequenceOfCodePoints( + (char) => { + const code = char.charCodeAt(0); + return code >= 48 && code <= 57; + }, + data, + position + ); + const rangeStartValue = rangeStart.length ? Number(rangeStart) : null; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + if (data.charCodeAt(position.position) !== 45) { + return "failure"; + } + position.position++; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + const rangeEnd = collectASequenceOfCodePoints( + (char) => { + const code = char.charCodeAt(0); + return code >= 48 && code <= 57; + }, + data, + position + ); + const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null; + if (position.position < data.length) { + return "failure"; + } + if (rangeEndValue === null && rangeStartValue === null) { + return "failure"; + } + if (rangeStartValue > rangeEndValue) { + return "failure"; + } + return { rangeStartValue, rangeEndValue }; + } + function buildContentRange(rangeStart, rangeEnd, fullLength) { + let contentRange = "bytes "; + contentRange += isomorphicEncode(`${rangeStart}`); + contentRange += "-"; + contentRange += isomorphicEncode(`${rangeEnd}`); + contentRange += "/"; + contentRange += isomorphicEncode(`${fullLength}`); + return contentRange; + } + var InflateStream = class extends Transform { + #zlibOptions; + /** @param {zlib.ZlibOptions} [zlibOptions] */ + constructor(zlibOptions) { + super(); + this.#zlibOptions = zlibOptions; + } + _transform(chunk, encoding, callback) { + if (!this._inflateStream) { + if (chunk.length === 0) { + callback(); + return; + } + this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions); + this._inflateStream.on("data", this.push.bind(this)); + this._inflateStream.on("end", () => this.push(null)); + this._inflateStream.on("error", (err) => this.destroy(err)); + } + this._inflateStream.write(chunk, encoding, callback); + } + _final(callback) { + if (this._inflateStream) { + this._inflateStream.end(); + this._inflateStream = null; + } + callback(); + } + }; + function createInflate(zlibOptions) { + return new InflateStream(zlibOptions); + } + function extractMimeType(headers) { + let charset = null; + let essence = null; + let mimeType = null; + const values = getDecodeSplit("content-type", headers); + if (values === null) { + return "failure"; + } + for (const value of values) { + const temporaryMimeType = parseMIMEType(value); + if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") { + continue; + } + mimeType = temporaryMimeType; + if (mimeType.essence !== essence) { + charset = null; + if (mimeType.parameters.has("charset")) { + charset = mimeType.parameters.get("charset"); + } + essence = mimeType.essence; + } else if (!mimeType.parameters.has("charset") && charset !== null) { + mimeType.parameters.set("charset", charset); + } + } + if (mimeType == null) { + return "failure"; + } + return mimeType; + } + function gettingDecodingSplitting(value) { + const input = value; + const position = { position: 0 }; + const values = []; + let temporaryValue = ""; + while (position.position < input.length) { + temporaryValue += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== ",", + input, + position + ); + if (position.position < input.length) { + if (input.charCodeAt(position.position) === 34) { + temporaryValue += collectAnHTTPQuotedString( + input, + position + ); + if (position.position < input.length) { + continue; + } + } else { + assert(input.charCodeAt(position.position) === 44); + position.position++; + } + } + temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32); + values.push(temporaryValue); + temporaryValue = ""; + } + return values; + } + function getDecodeSplit(name, list) { + const value = list.get(name, true); + if (value === null) { + return null; + } + return gettingDecodingSplitting(value); + } + var textDecoder = new TextDecoder(); + function utf8DecodeBytes(buffer) { + if (buffer.length === 0) { + return ""; + } + if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { + buffer = buffer.subarray(3); + } + const output = textDecoder.decode(buffer); + return output; + } + var EnvironmentSettingsObjectBase = class { + get baseUrl() { + return getGlobalOrigin(); + } + get origin() { + return this.baseUrl?.origin; + } + policyContainer = makePolicyContainer(); + }; + var EnvironmentSettingsObject = class { + settingsObject = new EnvironmentSettingsObjectBase(); + }; + var environmentSettingsObject = new EnvironmentSettingsObject(); + module2.exports = { + isAborted, + isCancelled, + isValidEncodedURL, + createDeferredPromise, + ReadableStreamFrom, + tryUpgradeRequestToAPotentiallyTrustworthyURL, + clampAndCoarsenConnectionTimingInfo, + coarsenedSharedCurrentTime, + determineRequestsReferrer, + makePolicyContainer, + clonePolicyContainer, + appendFetchMetadata, + appendRequestOriginHeader, + TAOCheck, + corsCheck, + crossOriginResourcePolicyCheck, + createOpaqueTimingInfo, + setRequestReferrerPolicyOnRedirect, + isValidHTTPToken, + requestBadPort, + requestCurrentURL, + responseURL, + responseLocationURL, + isBlobLike, + isURLPotentiallyTrustworthy, + isValidReasonPhrase, + sameOrigin, + normalizeMethod, + serializeJavascriptValueToJSONString, + iteratorMixin, + createIterator, + isValidHeaderName, + isValidHeaderValue, + isErrorLike, + fullyReadBody, + bytesMatch, + isReadableStreamLike, + readableStreamClose, + isomorphicEncode, + urlIsLocal, + urlHasHttpsScheme, + urlIsHttpHttpsScheme, + readAllBytes, + simpleRangeHeaderValue, + buildContentRange, + parseMetadata, + createInflate, + extractMimeType, + getDecodeSplit, + utf8DecodeBytes, + environmentSettingsObject + }; + } +}); + +// node_modules/undici/lib/web/fetch/symbols.js +var require_symbols2 = __commonJS({ + "node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kUrl: Symbol("url"), + kHeaders: Symbol("headers"), + kSignal: Symbol("signal"), + kState: Symbol("state"), + kDispatcher: Symbol("dispatcher") + }; + } +}); + +// node_modules/undici/lib/web/fetch/file.js +var require_file = __commonJS({ + "node_modules/undici/lib/web/fetch/file.js"(exports2, module2) { + "use strict"; + var { Blob: Blob2, File } = require("node:buffer"); + var { kState } = require_symbols2(); + var { webidl } = require_webidl(); + var FileLike = class _FileLike { + constructor(blobLike, fileName, options = {}) { + 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); + } + arrayBuffer(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.arrayBuffer(...args); + } + slice(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.slice(...args); + } + text(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.text(...args); + } + get size() { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.size; + } + get type() { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.type; + } + get name() { + webidl.brandCheck(this, _FileLike); + return this[kState].name; + } + get lastModified() { + webidl.brandCheck(this, _FileLike); + return this[kState].lastModified; + } + get [Symbol.toStringTag]() { + return "File"; + } + }; + webidl.converters.Blob = webidl.interfaceConverter(Blob2); + function isFileLike(object) { + return object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + } + module2.exports = { FileLike, isFileLike }; + } +}); + +// node_modules/undici/lib/web/fetch/formdata.js +var require_formdata = __commonJS({ + "node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) { + "use strict"; + var { isBlobLike, iteratorMixin } = require_util2(); + var { kState } = require_symbols2(); + var { kEnumerableProperty } = require_util(); + var { FileLike, isFileLike } = require_file(); + var { webidl } = require_webidl(); + var { File: NativeFile } = require("node:buffer"); + var nodeUtil = require("node:util"); + var File = globalThis.File ?? NativeFile; + var FormData = class _FormData { + constructor(form) { + webidl.util.markAsUncloneable(this); + if (form !== void 0) { + throw webidl.errors.conversionFailed({ + prefix: "FormData constructor", + argument: "Argument 1", + types: ["undefined"] + }); + } + this[kState] = []; + } + append(name, value, filename = void 0) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.append"; + webidl.argumentLengthCheck(arguments, 2, prefix); + 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, prefix, "name"); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value"); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0; + const entry = makeEntry(name, value, filename); + this[kState].push(entry); + } + delete(name) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); + this[kState] = this[kState].filter((entry) => entry.name !== name); + } + get(name) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.get"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); + const idx = this[kState].findIndex((entry) => entry.name === name); + if (idx === -1) { + return null; + } + return this[kState][idx].value; + } + getAll(name) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.getAll"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); + return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); + } + has(name) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.has"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); + return this[kState].findIndex((entry) => entry.name === name) !== -1; + } + set(name, value, filename = void 0) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.set"; + webidl.argumentLengthCheck(arguments, 2, prefix); + 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, prefix, "name"); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name"); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : 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) + ]; + } else { + this[kState].push(entry); + } + } + [nodeUtil.inspect.custom](depth, options) { + const state = this[kState].reduce((a, b) => { + if (a[b.name]) { + if (Array.isArray(a[b.name])) { + a[b.name].push(b.value); + } else { + a[b.name] = [a[b.name], b.value]; + } + } else { + a[b.name] = b.value; + } + return a; + }, { __proto__: null }); + options.depth ??= depth; + options.colors ??= true; + const output = nodeUtil.formatWithOptions(options, state); + return `FormData ${output.slice(output.indexOf("]") + 2)}`; + } + }; + iteratorMixin("FormData", FormData, kState, "name", "value"); + Object.defineProperties(FormData.prototype, { + append: kEnumerableProperty, + delete: kEnumerableProperty, + get: kEnumerableProperty, + getAll: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "FormData", + configurable: true + } + }); + function makeEntry(name, value, filename) { + if (typeof value === "string") { + } else { + if (!isFileLike(value)) { + value = value instanceof Blob ? 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 = value instanceof NativeFile ? new File([value], filename, options) : new FileLike(value, filename, options); + } + } + return { name, value }; + } + module2.exports = { FormData, makeEntry }; + } +}); + +// node_modules/undici/lib/web/fetch/formdata-parser.js +var require_formdata_parser = __commonJS({ + "node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) { + "use strict"; + var { isUSVString, bufferToLowerCasedHeaderName } = require_util(); + var { utf8DecodeBytes } = require_util2(); + var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url(); + var { isFileLike } = require_file(); + var { makeEntry } = require_formdata(); + var assert = require("node:assert"); + var { File: NodeFile } = require("node:buffer"); + var File = globalThis.File ?? NodeFile; + var formDataNameBuffer = Buffer.from('form-data; name="'); + var filenameBuffer = Buffer.from("; filename"); + var dd = Buffer.from("--"); + var ddcrlf = Buffer.from("--\r\n"); + function isAsciiString(chars) { + for (let i = 0; i < chars.length; ++i) { + if ((chars.charCodeAt(i) & ~127) !== 0) { + return false; + } + } + return true; + } + function validateBoundary(boundary) { + const length = boundary.length; + if (length < 27 || length > 70) { + return false; + } + for (let i = 0; i < length; ++i) { + const cp = boundary.charCodeAt(i); + if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) { + return false; + } + } + return true; + } + function multipartFormDataParser(input, mimeType) { + assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data"); + const boundaryString = mimeType.parameters.get("boundary"); + if (boundaryString === void 0) { + return "failure"; + } + const boundary = Buffer.from(`--${boundaryString}`, "utf8"); + const entryList = []; + const position = { position: 0 }; + while (input[position.position] === 13 && input[position.position + 1] === 10) { + position.position += 2; + } + let trailing = input.length; + while (input[trailing - 1] === 10 && input[trailing - 2] === 13) { + trailing -= 2; + } + if (trailing !== input.length) { + input = input.subarray(0, trailing); + } + while (true) { + if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) { + position.position += boundary.length; + } else { + return "failure"; + } + if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) { + return entryList; + } + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { + return "failure"; + } + position.position += 2; + const result = parseMultipartFormDataHeaders(input, position); + if (result === "failure") { + return "failure"; + } + let { name, filename, contentType, encoding } = result; + position.position += 2; + let body; + { + const boundaryIndex = input.indexOf(boundary.subarray(2), position.position); + if (boundaryIndex === -1) { + return "failure"; + } + body = input.subarray(position.position, boundaryIndex - 4); + position.position += body.length; + if (encoding === "base64") { + body = Buffer.from(body.toString(), "base64"); + } + } + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { + return "failure"; + } else { + position.position += 2; + } + let value; + if (filename !== null) { + contentType ??= "text/plain"; + if (!isAsciiString(contentType)) { + contentType = ""; + } + value = new File([body], filename, { type: contentType }); + } else { + value = utf8DecodeBytes(Buffer.from(body)); + } + assert(isUSVString(name)); + assert(typeof value === "string" && isUSVString(value) || isFileLike(value)); + entryList.push(makeEntry(name, value, filename)); + } + } + function parseMultipartFormDataHeaders(input, position) { + let name = null; + let filename = null; + let contentType = null; + let encoding = null; + while (true) { + if (input[position.position] === 13 && input[position.position + 1] === 10) { + if (name === null) { + return "failure"; + } + return { name, filename, contentType, encoding }; + } + let headerName = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 58, + input, + position + ); + headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32); + if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) { + return "failure"; + } + if (input[position.position] !== 58) { + return "failure"; + } + position.position++; + collectASequenceOfBytes( + (char) => char === 32 || char === 9, + input, + position + ); + switch (bufferToLowerCasedHeaderName(headerName)) { + case "content-disposition": { + name = filename = null; + if (!bufferStartsWith(input, formDataNameBuffer, position)) { + return "failure"; + } + position.position += 17; + name = parseMultipartFormDataName(input, position); + if (name === null) { + return "failure"; + } + if (bufferStartsWith(input, filenameBuffer, position)) { + let check = position.position + filenameBuffer.length; + if (input[check] === 42) { + position.position += 1; + check += 1; + } + if (input[check] !== 61 || input[check + 1] !== 34) { + return "failure"; + } + position.position += 12; + filename = parseMultipartFormDataName(input, position); + if (filename === null) { + return "failure"; + } + } + break; + } + case "content-type": { + let headerValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + contentType = isomorphicDecode(headerValue); + break; + } + case "content-transfer-encoding": { + let headerValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + encoding = isomorphicDecode(headerValue); + break; + } + default: { + collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + } + } + if (input[position.position] !== 13 && input[position.position + 1] !== 10) { + return "failure"; + } else { + position.position += 2; + } + } + } + function parseMultipartFormDataName(input, position) { + assert(input[position.position - 1] === 34); + let name = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 34, + input, + position + ); + if (input[position.position] !== 34) { + return null; + } else { + position.position++; + } + name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"'); + return name; + } + function collectASequenceOfBytes(condition, input, position) { + let start = position.position; + while (start < input.length && condition(input[start])) { + ++start; + } + return input.subarray(position.position, position.position = start); + } + function removeChars(buf, leading, trailing, predicate) { + let lead = 0; + let trail = buf.length - 1; + if (leading) { + while (lead < buf.length && predicate(buf[lead])) lead++; + } + if (trailing) { + while (trail > 0 && predicate(buf[trail])) trail--; + } + return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1); + } + function bufferStartsWith(buffer, start, position) { + if (buffer.length < start.length) { + return false; + } + for (let i = 0; i < start.length; i++) { + if (start[i] !== buffer[position.position + i]) { + return false; + } + } + return true; + } + module2.exports = { + multipartFormDataParser, + validateBoundary + }; + } +}); + +// node_modules/undici/lib/web/fetch/body.js +var require_body = __commonJS({ + "node_modules/undici/lib/web/fetch/body.js"(exports2, module2) { + "use strict"; + var util = require_util(); + var { + ReadableStreamFrom, + isBlobLike, + isReadableStreamLike, + readableStreamClose, + createDeferredPromise, + fullyReadBody, + extractMimeType, + utf8DecodeBytes + } = require_util2(); + var { FormData } = require_formdata(); + var { kState } = require_symbols2(); + var { webidl } = require_webidl(); + var { Blob: Blob2 } = require("node:buffer"); + var assert = require("node:assert"); + var { isErrored, isDisturbed } = require("node:stream"); + var { isArrayBuffer } = require("node:util/types"); + var { serializeAMimeType } = require_data_url(); + var { multipartFormDataParser } = require_formdata_parser(); + var random; + try { + const crypto = require("node:crypto"); + random = (max) => crypto.randomInt(0, max); + } catch { + random = (max) => Math.floor(Math.random(max)); + } + var textEncoder = new TextEncoder(); + function noop3() { + } + var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0; + var streamRegistry; + if (hasFinalizationRegistry) { + streamRegistry = new FinalizationRegistry((weakRef) => { + const stream = weakRef.deref(); + if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) { + stream.cancel("Response object has been garbage collected").catch(noop3); + } + }); + } + function extractBody(object, keepalive = false) { + let stream = null; + if (object instanceof ReadableStream) { + stream = object; + } else if (isBlobLike(object)) { + stream = object.stream(); + } else { + stream = new ReadableStream({ + async pull(controller) { + const buffer = typeof source === "string" ? textEncoder.encode(source) : source; + if (buffer.byteLength) { + controller.enqueue(buffer); + } + queueMicrotask(() => readableStreamClose(controller)); + }, + start() { + }, + type: "bytes" + }); + } + assert(isReadableStreamLike(stream)); + let action = 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"; + } else if (isArrayBuffer(object)) { + source = new Uint8Array(object.slice()); + } else if (ArrayBuffer.isView(object)) { + source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + } else if (util.isFormDataLike(object)) { + const boundary = `----formdata-undici-0${`${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; + for (const [name, value] of object) { + if (typeof value === "string") { + const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r +\r +${normalizeLinefeeds(value)}\r +`); + 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 +\r +`); + blobParts.push(chunk2, value, rn); + if (typeof value.size === "number") { + length += chunk2.byteLength + value.size + rn.byteLength; + } else { + hasUnknownSizeValue = true; + } + } + } + const chunk = textEncoder.encode(`--${boundary}--\r +`); + blobParts.push(chunk); + length += chunk.byteLength; + if (hasUnknownSizeValue) { + length = null; + } + source = object; + action = async function* () { + for (const part of blobParts) { + if (part.stream) { + yield* part.stream(); + } else { + yield part; + } + } + }; + type = `multipart/form-data; boundary=${boundary}`; + } else if (isBlobLike(object)) { + source = object; + length = object.size; + if (object.type) { + type = object.type; + } + } else if (typeof object[Symbol.asyncIterator] === "function") { + if (keepalive) { + throw new TypeError("keepalive"); + } + if (util.isDisturbed(object) || object.locked) { + throw new TypeError( + "Response body object should not be disturbed or locked" + ); + } + stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); + } + if (typeof source === "string" || util.isBuffer(source)) { + length = Buffer.byteLength(source); + } + if (action != null) { + let iterator2; + stream = new ReadableStream({ + async start() { + iterator2 = action(object)[Symbol.asyncIterator](); + }, + async pull(controller) { + const { value, done } = await iterator2.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + controller.byobRequest?.respond(0); + }); + } else { + if (!isErrored(stream)) { + const buffer = new Uint8Array(value); + if (buffer.byteLength) { + controller.enqueue(buffer); + } + } + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator2.return(); + }, + type: "bytes" + }); + } + const body = { stream, source, length }; + return [body, type]; + } + function safelyExtractBody(object, keepalive = false) { + if (object instanceof ReadableStream) { + assert(!util.isDisturbed(object), "The body has already been consumed."); + assert(!object.locked, "The stream is locked."); + } + return extractBody(object, keepalive); + } + function cloneBody(instance, body) { + const [out1, out2] = body.stream.tee(); + body.stream = out1; + return { + stream: out2, + length: body.length, + source: body.source + }; + } + function throwIfAborted(state) { + if (state.aborted) { + throw new DOMException("The operation was aborted.", "AbortError"); + } + } + function bodyMixinMethods(instance) { + const methods = { + blob() { + return consumeBody(this, (bytes) => { + let mimeType = bodyMimeType(this); + if (mimeType === null) { + mimeType = ""; + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType); + } + return new Blob2([bytes], { type: mimeType }); + }, instance); + }, + arrayBuffer() { + return consumeBody(this, (bytes) => { + return new Uint8Array(bytes).buffer; + }, instance); + }, + text() { + return consumeBody(this, utf8DecodeBytes, instance); + }, + json() { + return consumeBody(this, parseJSONFromBytes, instance); + }, + formData() { + return consumeBody(this, (value) => { + const mimeType = bodyMimeType(this); + if (mimeType !== null) { + switch (mimeType.essence) { + case "multipart/form-data": { + const parsed = multipartFormDataParser(value, mimeType); + if (parsed === "failure") { + throw new TypeError("Failed to parse body as FormData."); + } + const fd = new FormData(); + fd[kState] = parsed; + return fd; + } + case "application/x-www-form-urlencoded": { + const entries = new URLSearchParams(value.toString()); + const fd = new FormData(); + for (const [name, value2] of entries) { + fd.append(name, value2); + } + return fd; + } + } + } + throw new TypeError( + 'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".' + ); + }, instance); + }, + bytes() { + return consumeBody(this, (bytes) => { + return new Uint8Array(bytes); + }, instance); + } + }; + return methods; + } + function mixinBody(prototype) { + Object.assign(prototype.prototype, bodyMixinMethods(prototype)); + } + async function consumeBody(object, convertBytesToJSValue, instance) { + webidl.brandCheck(object, instance); + if (bodyUnusable(object)) { + throw new TypeError("Body is unusable: Body has already been read"); + } + throwIfAborted(object[kState]); + const promise = createDeferredPromise(); + const errorSteps = (error) => promise.reject(error); + const successSteps = (data) => { + try { + promise.resolve(convertBytesToJSValue(data)); + } catch (e) { + errorSteps(e); + } + }; + if (object[kState].body == null) { + successSteps(Buffer.allocUnsafe(0)); + return promise.promise; + } + await fullyReadBody(object[kState].body, successSteps, errorSteps); + return promise.promise; + } + function bodyUnusable(object) { + const body = object[kState].body; + return body != null && (body.stream.locked || util.isDisturbed(body.stream)); + } + function parseJSONFromBytes(bytes) { + return JSON.parse(utf8DecodeBytes(bytes)); + } + function bodyMimeType(requestOrResponse) { + const headers = requestOrResponse[kState].headersList; + const mimeType = extractMimeType(headers); + if (mimeType === "failure") { + return null; + } + return mimeType; + } + module2.exports = { + extractBody, + safelyExtractBody, + cloneBody, + mixinBody, + streamRegistry, + hasFinalizationRegistry, + bodyUnusable + }; + } +}); + +// node_modules/undici/lib/dispatcher/client-h1.js +var require_client_h1 = __commonJS({ + "node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var util = require_util(); + var { channels } = require_diagnostics(); + var timers = require_timers(); + var { + RequestContentLengthMismatchError, + ResponseContentLengthMismatchError, + RequestAbortedError, + HeadersTimeoutError, + HeadersOverflowError, + SocketError, + InformationalError, + BodyTimeoutError, + HTTPParserError, + ResponseExceededMaxSizeError + } = require_errors(); + var { + kUrl, + kReset, + kClient, + kParser, + kBlocking, + kRunning, + kPending, + kSize, + kWriting, + kQueue, + kNoRef, + kKeepAliveDefaultTimeout, + kHostHeader, + kPendingIdx, + kRunningIdx, + kError, + kPipelining, + kSocket, + kKeepAliveTimeoutValue, + kMaxHeadersSize, + kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold, + kHeadersTimeout, + kBodyTimeout, + kStrictContentLength, + kMaxRequests, + kCounter, + kMaxResponseSize, + kOnError, + kResume, + kHTTPContext + } = require_symbols(); + var constants = require_constants2(); + var EMPTY_BUF = Buffer.alloc(0); + var FastBuffer = Buffer[Symbol.species]; + var addListener = util.addListener; + var removeAllListeners = util.removeAllListeners; + var extractBody; + async function lazyllhttp() { + const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; + let mod; + try { + mod = await WebAssembly.compile(require_llhttp_simd_wasm()); + } catch (e) { + mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm()); + } + return await WebAssembly.instantiate(mod, { + env: { + /* eslint-disable camelcase */ + wasm_on_url: (p, at, len) => { + return 0; + }, + wasm_on_status: (p, at, len) => { + assert(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(currentParser.ptr === p); + return currentParser.onMessageBegin() || 0; + }, + wasm_on_header_field: (p, at, len) => { + assert(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(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(currentParser.ptr === p); + return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + }, + wasm_on_body: (p, at, len) => { + assert(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(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 USE_NATIVE_TIMER = 0; + var USE_FAST_TIMER = 1; + var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER; + var TIMEOUT_BODY = 4 | USE_FAST_TIMER; + var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER; + var Parser = class { + constructor(client, socket, { exports: exports3 }) { + assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); + this.llhttp = exports3; + 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(delay, type) { + if (delay !== this.timeoutValue || type & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) { + if (this.timeout) { + timers.clearTimeout(this.timeout); + this.timeout = null; + } + if (delay) { + if (type & USE_FAST_TIMER) { + this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this)); + } else { + this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this)); + this.timeout.unref(); + } + } + this.timeoutValue = delay; + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + this.timeoutType = type; + } + resume() { + if (this.socket.destroyed || !this.paused) { + return; + } + 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.paused = false; + this.execute(this.socket.read() || EMPTY_BUF); + this.readMore(); + } + readMore() { + while (!this.paused && this.ptr) { + const chunk = this.socket.read(); + if (chunk === null) { + break; + } + this.execute(chunk); + } + } + execute(data) { + assert(this.ptr != null); + assert(currentParser == null); + assert(!this.paused); + const { socket, llhttp } = this; + if (data.length > currentBufferSize) { + if (currentBufferPtr) { + llhttp.free(currentBufferPtr); + } + currentBufferSize = Math.ceil(data.length / 4096) * 4096; + currentBufferPtr = llhttp.malloc(currentBufferSize); + } + new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + try { + let ret; + try { + currentBufferRef = data; + currentParser = this; + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); + } catch (err) { + throw err; + } finally { + currentParser = null; + currentBufferRef = null; + } + const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + if (ret === constants.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(data.slice(offset)); + } else if (ret === constants.ERROR.PAUSED) { + 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 = ""; + 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() + ")"; + } + throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); + } + } catch (err) { + util.destroy(socket, err); + } + } + destroy() { + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_free(this.ptr); + this.ptr = null; + this.timeout && timers.clearTimeout(this.timeout); + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.paused = false; + } + onStatus(buf) { + this.statusText = buf.toString(); + } + onMessageBegin() { + const { socket, client } = this; + if (socket.destroyed) { + return -1; + } + const request2 = client[kQueue][client[kRunningIdx]]; + if (!request2) { + return -1; + } + request2.onResponseStarted(); + } + onHeaderField(buf) { + const len = this.headers.length; + if ((len & 1) === 0) { + this.headers.push(buf); + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + this.trackHeader(buf.length); + } + onHeaderValue(buf) { + let len = this.headers.length; + if ((len & 1) === 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) { + const headerName = util.bufferToLowerCasedHeaderName(key); + if (headerName === "keep-alive") { + this.keepAlive += buf.toString(); + } else if (headerName === "connection") { + this.connection += buf.toString(); + } + } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") { + this.contentLength += buf.toString(); + } + this.trackHeader(buf.length); + } + trackHeader(len) { + this.headersSize += len; + if (this.headersSize >= this.headersMaxSize) { + util.destroy(this.socket, new HeadersOverflowError()); + } + } + onUpgrade(head) { + const { upgrade, client, socket, headers, statusCode } = this; + assert(upgrade); + assert(client[kSocket] === socket); + assert(!socket.destroyed); + assert(!this.paused); + assert((headers.length & 1) === 0); + const request2 = client[kQueue][client[kRunningIdx]]; + assert(request2); + assert(request2.upgrade || request2.method === "CONNECT"); + this.statusCode = null; + this.statusText = ""; + this.shouldKeepAlive = null; + this.headers = []; + this.headersSize = 0; + socket.unshift(head); + socket[kParser].destroy(); + socket[kParser] = null; + socket[kClient] = null; + socket[kError] = null; + removeAllListeners(socket); + client[kSocket] = null; + client[kHTTPContext] = null; + client[kQueue][client[kRunningIdx]++] = null; + client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); + try { + request2.onUpgrade(statusCode, headers, socket); + } catch (err) { + util.destroy(socket, err); + } + client[kResume](); + } + onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { + const { client, socket, headers, statusText } = this; + if (socket.destroyed) { + return -1; + } + const request2 = client[kQueue][client[kRunningIdx]]; + if (!request2) { + return -1; + } + assert(!this.upgrade); + assert(this.statusCode < 200); + if (statusCode === 100) { + util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + return -1; + } + if (upgrade && !request2.upgrade) { + util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); + return -1; + } + assert(this.timeoutType === TIMEOUT_HEADERS); + this.statusCode = statusCode; + this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. + request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + if (this.statusCode >= 200) { + const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout]; + this.setTimeout(bodyTimeout, TIMEOUT_BODY); + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + if (request2.method === "CONNECT") { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + if (upgrade) { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + assert((this.headers.length & 1) === 0); + this.headers = []; + this.headersSize = 0; + if (this.shouldKeepAlive && client[kPipelining]) { + 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; + } else { + client[kKeepAliveTimeoutValue] = timeout; + } + } else { + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; + } + } else { + socket[kReset] = true; + } + const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false; + if (request2.aborted) { + return -1; + } + if (request2.method === "HEAD") { + return 1; + } + if (statusCode < 200) { + return 1; + } + if (socket[kBlocking]) { + socket[kBlocking] = false; + client[kResume](); + } + return pause ? constants.ERROR.PAUSED : 0; + } + onBody(buf) { + const { client, socket, statusCode, maxResponseSize } = this; + if (socket.destroyed) { + return -1; + } + const request2 = client[kQueue][client[kRunningIdx]]; + assert(request2); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + assert(statusCode >= 200); + if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { + util.destroy(socket, new ResponseExceededMaxSizeError()); + return -1; + } + this.bytesRead += buf.length; + if (request2.onData(buf) === false) { + return constants.ERROR.PAUSED; + } + } + onMessageComplete() { + const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; + if (socket.destroyed && (!statusCode || shouldKeepAlive)) { + return -1; + } + if (upgrade) { + return; + } + assert(statusCode >= 100); + assert((this.headers.length & 1) === 0); + const request2 = client[kQueue][client[kRunningIdx]]; + assert(request2); + this.statusCode = null; + this.statusText = ""; + this.bytesRead = 0; + this.contentLength = ""; + this.keepAlive = ""; + this.connection = ""; + this.headers = []; + this.headersSize = 0; + if (statusCode < 200) { + return; + } + if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { + util.destroy(socket, new ResponseContentLengthMismatchError()); + return -1; + } + request2.onComplete(headers); + client[kQueue][client[kRunningIdx]++] = null; + if (socket[kWriting]) { + assert(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; + } else if (socket[kReset] && client[kRunning] === 0) { + util.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (client[kPipelining] == null || client[kPipelining] === 1) { + setImmediate(() => client[kResume]()); + } else { + client[kResume](); + } + } + }; + function onParserTimeout(parser) { + const { socket, timeoutType, client, paused } = parser.deref(); + if (timeoutType === TIMEOUT_HEADERS) { + if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { + assert(!paused, "cannot be paused while waiting for headers"); + util.destroy(socket, new HeadersTimeoutError()); + } + } else if (timeoutType === TIMEOUT_BODY) { + if (!paused) { + util.destroy(socket, new BodyTimeoutError()); + } + } else if (timeoutType === TIMEOUT_KEEP_ALIVE) { + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); + util.destroy(socket, new InformationalError("socket idle timeout")); + } + } + async function connectH1(client, socket) { + client[kSocket] = socket; + 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); + addListener(socket, "error", function(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + const parser = this[kParser]; + if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; + } + this[kError] = err; + this[kClient][kOnError](err); + }); + addListener(socket, "readable", function() { + const parser = this[kParser]; + if (parser) { + parser.readMore(); + } + }); + addListener(socket, "end", function() { + const parser = this[kParser]; + if (parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; + } + util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + }); + addListener(socket, "close", function() { + const client2 = this[kClient]; + const parser = this[kParser]; + if (parser) { + if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + } + this[kParser].destroy(); + this[kParser] = null; + } + const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + client2[kSocket] = null; + client2[kHTTPContext] = null; + if (client2.destroyed) { + assert(client2[kPending] === 0); + const requests = client2[kQueue].splice(client2[kRunningIdx]); + for (let i = 0; i < requests.length; i++) { + const request2 = requests[i]; + util.errorRequest(client2, request2, err); + } + } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") { + const request2 = client2[kQueue][client2[kRunningIdx]]; + client2[kQueue][client2[kRunningIdx]++] = null; + util.errorRequest(client2, request2, err); + } + client2[kPendingIdx] = client2[kRunningIdx]; + assert(client2[kRunning] === 0); + client2.emit("disconnect", client2[kUrl], [client2], err); + client2[kResume](); + }); + let closed = false; + socket.on("close", () => { + closed = true; + }); + return { + version: "h1", + defaultPipelining: 1, + write(...args) { + return writeH1(client, ...args); + }, + resume() { + resumeH1(client); + }, + destroy(err, callback) { + if (closed) { + queueMicrotask(callback); + } else { + socket.destroy(err).on("close", callback); + } + }, + get destroyed() { + return socket.destroyed; + }, + busy(request2) { + if (socket[kWriting] || socket[kReset] || socket[kBlocking]) { + return true; + } + if (request2) { + if (client[kRunning] > 0 && !request2.idempotent) { + return true; + } + if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) { + return true; + } + if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) { + return true; + } + } + return false; + } + }; + } + function resumeH1(client) { + const socket = client[kSocket]; + if (socket && !socket.destroyed) { + if (client[kSize] === 0) { + if (!socket[kNoRef] && socket.unref) { + socket.unref(); + socket[kNoRef] = true; + } + } else if (socket[kNoRef] && socket.ref) { + socket.ref(); + socket[kNoRef] = false; + } + if (client[kSize] === 0) { + if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) { + socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE); + } + } 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); + } + } + } + } + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function writeH1(client, request2) { + const { method, path, host, upgrade, blocking, reset } = request2; + let { body, headers, contentLength } = request2; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH"; + if (util.isFormDataLike(body)) { + if (!extractBody) { + extractBody = require_body().extractBody; + } + const [bodyStream, contentType] = extractBody(body); + if (request2.contentType == null) { + headers.push("content-type", contentType); + } + body = bodyStream.stream; + contentLength = bodyStream.length; + } else if (util.isBlobLike(body) && request2.contentType == null && body.type) { + headers.push("content-type", body.type); + } + if (body && typeof body.read === "function") { + body.read(0); + } + const bodyLength = util.bodyLength(body); + contentLength = bodyLength ?? contentLength; + if (contentLength === null) { + contentLength = request2.contentLength; + } + if (contentLength === 0 && !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request2, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + const socket = client[kSocket]; + const abort = (err) => { + if (request2.aborted || request2.completed) { + return; + } + util.errorRequest(client, request2, err || new RequestAbortedError()); + util.destroy(body); + util.destroy(socket, new InformationalError("aborted")); + }; + try { + request2.onConnect(abort); + } catch (err) { + util.errorRequest(client, request2, err); + } + if (request2.aborted) { + return false; + } + if (method === "HEAD") { + socket[kReset] = true; + } + if (upgrade || method === "CONNECT") { + socket[kReset] = true; + } + if (reset != null) { + socket[kReset] = reset; + } + if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { + socket[kReset] = true; + } + if (blocking) { + socket[kBlocking] = true; + } + let header = `${method} ${path} HTTP/1.1\r +`; + if (typeof host === "string") { + header += `host: ${host}\r +`; + } else { + header += client[kHostHeader]; + } + if (upgrade) { + header += `connection: upgrade\r +upgrade: ${upgrade}\r +`; + } else if (client[kPipelining] && !socket[kReset]) { + header += "connection: keep-alive\r\n"; + } else { + header += "connection: close\r\n"; + } + if (Array.isArray(headers)) { + for (let n = 0; n < headers.length; n += 2) { + const key = headers[n + 0]; + const val = headers[n + 1]; + if (Array.isArray(val)) { + for (let i = 0; i < val.length; i++) { + header += `${key}: ${val[i]}\r +`; + } + } else { + header += `${key}: ${val}\r +`; + } + } + } + if (channels.sendHeaders.hasSubscribers) { + channels.sendHeaders.publish({ request: request2, headers: header, socket }); + } + if (!body || bodyLength === 0) { + writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBuffer(body)) { + writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload); + } else { + writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } + } else if (util.isStream(body)) { + writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isIterable(body)) { + writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else { + assert(false); + } + return true; + } + function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + let finished = false; + const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); + const onData = function(chunk) { + if (finished) { + return; + } + try { + if (!writer.write(chunk) && this.pause) { + this.pause(); + } + } catch (err) { + util.destroy(this, err); + } + }; + const onDrain = function() { + if (finished) { + return; + } + if (body.resume) { + body.resume(); + } + }; + const onClose = function() { + queueMicrotask(() => { + body.removeListener("error", onFinished); + }); + if (!finished) { + const err = new RequestAbortedError(); + queueMicrotask(() => onFinished(err)); + } + }; + 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("close", onClose); + if (!err) { + try { + writer.end(); + } catch (er) { + err = er; + } + } + writer.destroy(err); + if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { + util.destroy(body, err); + } else { + util.destroy(body); + } + }; + body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose); + if (body.resume) { + body.resume(); + } + socket.on("drain", onDrain).on("error", onFinished); + if (body.errorEmitted ?? body.errored) { + setImmediate(() => onFinished(body.errored)); + } else if (body.endEmitted ?? body.readableEnded) { + setImmediate(() => onFinished(null)); + } + if (body.closeEmitted ?? body.closed) { + setImmediate(onClose); + } + } + function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + try { + if (!body) { + if (contentLength === 0) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + assert(contentLength === null, "no body must not have content length"); + socket.write(`${header}\r +`, "latin1"); + } + } else if (util.isBuffer(body)) { + 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(); + request2.onBodySent(body); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + } + request2.onRequestSent(); + client[kResume](); + } catch (err) { + abort(err); + } + } + async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength === body.size, "blob body must have content length"); + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body.arrayBuffer()); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(buffer); + socket.uncork(); + request2.onBodySent(buffer); + request2.onRequestSent(); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } + } + async function writeIterable(abort, body, client, request2, 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 waitForDrain = () => new Promise((resolve, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + socket.on("close", onDrain).on("drain", onDrain); + const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + if (!writer.write(chunk)) { + await waitForDrain(); + } + } + writer.end(); + } catch (err) { + writer.destroy(err); + } finally { + socket.off("close", onDrain).off("drain", onDrain); + } + } + var AsyncWriter = class { + constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) { + this.socket = socket; + this.request = request2; + this.contentLength = contentLength; + this.client = client; + this.bytesWritten = 0; + this.expectsPayload = expectsPayload; + this.header = header; + this.abort = abort; + socket[kWriting] = true; + } + write(chunk) { + const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this; + if (socket[kError]) { + throw socket[kError]; + } + if (socket.destroyed) { + return false; + } + const len = Buffer.byteLength(chunk); + if (!len) { + return true; + } + if (contentLength !== null && bytesWritten + len > contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + socket.cork(); + if (bytesWritten === 0) { + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + if (contentLength === null) { + socket.write(`${header}transfer-encoding: chunked\r +`, "latin1"); + } else { + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + } + } + if (contentLength === null) { + socket.write(`\r +${len.toString(16)}\r +`, "latin1"); + } + this.bytesWritten += len; + const ret = socket.write(chunk); + socket.uncork(); + request2.onBodySent(chunk); + if (!ret) { + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + } + return ret; + } + end() { + const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this; + request2.onRequestSent(); + socket[kWriting] = false; + if (socket[kError]) { + throw socket[kError]; + } + if (socket.destroyed) { + return; + } + if (bytesWritten === 0) { + if (expectsPayload) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + socket.write(`${header}\r +`, "latin1"); + } + } else if (contentLength === null) { + socket.write("\r\n0\r\n\r\n", "latin1"); + } + if (contentLength !== null && bytesWritten !== contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } else { + process.emitWarning(new RequestContentLengthMismatchError()); + } + } + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + client[kResume](); + } + destroy(err) { + const { socket, client, abort } = this; + socket[kWriting] = false; + if (err) { + assert(client[kRunning] <= 1, "pipeline should only contain this request"); + abort(err); + } + } + }; + module2.exports = connectH1; + } +}); + +// node_modules/undici/lib/dispatcher/client-h2.js +var require_client_h2 = __commonJS({ + "node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { pipeline } = require("node:stream"); + var util = require_util(); + var { + RequestContentLengthMismatchError, + RequestAbortedError, + SocketError, + InformationalError + } = require_errors(); + var { + kUrl, + kReset, + kClient, + kRunning, + kPending, + kQueue, + kPendingIdx, + kRunningIdx, + kError, + kSocket, + kStrictContentLength, + kOnError, + kMaxConcurrentStreams, + kHTTP2Session, + kResume, + kSize, + kHTTPContext + } = require_symbols(); + var kOpenStreams = Symbol("open streams"); + var extractBody; + var h2ExperimentalWarned = false; + var http2; + try { + http2 = require("node:http2"); + } catch { + http2 = { constants: {} }; + } + var { + constants: { + HTTP2_HEADER_AUTHORITY, + HTTP2_HEADER_METHOD, + HTTP2_HEADER_PATH, + HTTP2_HEADER_SCHEME, + HTTP2_HEADER_CONTENT_LENGTH, + HTTP2_HEADER_EXPECT, + HTTP2_HEADER_STATUS + } + } = http2; + function parseH2Headers(headers) { + const result = []; + for (const [name, value] of Object.entries(headers)) { + if (Array.isArray(value)) { + for (const subvalue of value) { + result.push(Buffer.from(name), Buffer.from(subvalue)); + } + } else { + result.push(Buffer.from(name), Buffer.from(value)); + } + } + return result; + } + async function connectH2(client, socket) { + client[kSocket] = socket; + if (!h2ExperimentalWarned) { + 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[kMaxConcurrentStreams] + }); + session[kOpenStreams] = 0; + session[kClient] = client; + session[kSocket] = socket; + util.addListener(session, "error", onHttp2SessionError); + util.addListener(session, "frameError", onHttp2FrameError); + util.addListener(session, "end", onHttp2SessionEnd); + util.addListener(session, "goaway", onHTTP2GoAway); + util.addListener(session, "close", function() { + const { [kClient]: client2 } = this; + const { [kSocket]: socket2 } = client2; + const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2)); + client2[kHTTP2Session] = null; + if (client2.destroyed) { + assert(client2[kPending] === 0); + const requests = client2[kQueue].splice(client2[kRunningIdx]); + for (let i = 0; i < requests.length; i++) { + const request2 = requests[i]; + util.errorRequest(client2, request2, err); + } + } + }); + session.unref(); + client[kHTTP2Session] = session; + socket[kHTTP2Session] = session; + util.addListener(socket, "error", function(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kError] = err; + this[kClient][kOnError](err); + }); + util.addListener(socket, "end", function() { + util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + }); + util.addListener(socket, "close", function() { + const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + client[kSocket] = null; + if (this[kHTTP2Session] != null) { + this[kHTTP2Session].destroy(err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit("disconnect", client[kUrl], [client], err); + client[kResume](); + }); + let closed = false; + socket.on("close", () => { + closed = true; + }); + return { + version: "h2", + defaultPipelining: Infinity, + write(...args) { + return writeH2(client, ...args); + }, + resume() { + resumeH2(client); + }, + destroy(err, callback) { + if (closed) { + queueMicrotask(callback); + } else { + socket.destroy(err).on("close", callback); + } + }, + get destroyed() { + return socket.destroyed; + }, + busy() { + return false; + } + }; + } + function resumeH2(client) { + const socket = client[kSocket]; + if (socket?.destroyed === false) { + if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) { + socket.unref(); + client[kHTTP2Session].unref(); + } else { + socket.ref(); + client[kHTTP2Session].ref(); + } + } + } + function onHttp2SessionError(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kSocket][kError] = err; + this[kClient][kOnError](err); + } + function onHttp2FrameError(type, code, id) { + if (id === 0) { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); + this[kSocket][kError] = err; + this[kClient][kOnError](err); + } + } + function onHttp2SessionEnd() { + const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket])); + this.destroy(err); + util.destroy(this[kSocket], err); + } + function onHTTP2GoAway(code) { + const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this)); + const client = this[kClient]; + client[kSocket] = null; + client[kHTTPContext] = null; + if (this[kHTTP2Session] != null) { + this[kHTTP2Session].destroy(err); + this[kHTTP2Session] = null; + } + util.destroy(this[kSocket], err); + if (client[kRunningIdx] < client[kQueue].length) { + const request2 = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + util.errorRequest(client, request2, err); + client[kPendingIdx] = client[kRunningIdx]; + } + assert(client[kRunning] === 0); + client.emit("disconnect", client[kUrl], [client], err); + client[kResume](); + } + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function writeH2(client, request2) { + const session = client[kHTTP2Session]; + const { method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; + let { body } = request2; + if (upgrade) { + util.errorRequest(client, request2, new Error("Upgrade not supported for H2")); + return false; + } + const headers = {}; + for (let n = 0; n < reqHeaders.length; n += 2) { + const key = reqHeaders[n + 0]; + const val = reqHeaders[n + 1]; + if (Array.isArray(val)) { + for (let i = 0; i < val.length; i++) { + if (headers[key]) { + headers[key] += `,${val[i]}`; + } else { + headers[key] = val[i]; + } + } + } else { + headers[key] = val; + } + } + let stream; + const { hostname, port } = client[kUrl]; + headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`; + headers[HTTP2_HEADER_METHOD] = method; + const abort = (err) => { + if (request2.aborted || request2.completed) { + return; + } + err = err || new RequestAbortedError(); + util.errorRequest(client, request2, err); + if (stream != null) { + util.destroy(stream, err); + } + util.destroy(body, err); + client[kQueue][client[kRunningIdx]++] = null; + client[kResume](); + }; + try { + request2.onConnect(abort); + } catch (err) { + util.errorRequest(client, request2, err); + } + if (request2.aborted) { + return false; + } + if (method === "CONNECT") { + session.ref(); + stream = session.request(headers, { endStream: false, signal }); + if (stream.id && !stream.pending) { + request2.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + } else { + stream.once("ready", () => { + request2.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + }); + } + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 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 (util.isFormDataLike(body)) { + extractBody ??= require_body().extractBody; + const [bodyStream, contentType] = extractBody(body); + headers["content-type"] = contentType; + body = bodyStream.stream; + contentLength = bodyStream.length; + } + if (contentLength == null) { + contentLength = request2.contentLength; + } + if (contentLength === 0 || !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request2, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + if (contentLength != null) { + assert(body, "no body must not have content length"); + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + } + session.ref(); + const shouldEndStream = method === "GET" || method === "HEAD" || body === null; + if (expectContinue) { + 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(); + } + ++session[kOpenStreams]; + stream.once("response", (headers2) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + request2.onResponseStarted(); + if (request2.aborted) { + const err = new RequestAbortedError(); + util.errorRequest(client, request2, err); + util.destroy(stream, err); + return; + } + if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) { + stream.pause(); + } + stream.on("data", (chunk) => { + if (request2.onData(chunk) === false) { + stream.pause(); + } + }); + }); + stream.once("end", () => { + if (stream.state?.state == null || stream.state.state < 6) { + request2.onComplete([]); + } + if (session[kOpenStreams] === 0) { + session.unref(); + } + abort(new InformationalError("HTTP/2: stream half-closed (remote)")); + client[kQueue][client[kRunningIdx]++] = null; + client[kPendingIdx] = client[kRunningIdx]; + client[kResume](); + }); + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) { + session.unref(); + } + }); + stream.once("error", function(err) { + abort(err); + }); + stream.once("frameError", (type, code) => { + abort(new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`)); + }); + return true; + function writeBodyH2() { + if (!body || contentLength === 0) { + writeBuffer( + abort, + stream, + null, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else if (util.isBuffer(body)) { + writeBuffer( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable( + abort, + stream, + body.stream(), + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else { + writeBlob( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } + } else if (util.isStream(body)) { + writeStream( + abort, + client[kSocket], + expectsPayload, + stream, + body, + client, + request2, + contentLength + ); + } else if (util.isIterable(body)) { + writeIterable( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else { + assert(false); + } + } + } + function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + try { + if (body != null && util.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + h2stream.cork(); + h2stream.write(body); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(body); + } + if (!expectsPayload) { + socket[kReset] = true; + } + request2.onRequestSent(); + client[kResume](); + } catch (error) { + abort(error); + } + } + function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + const pipe = pipeline( + body, + h2stream, + (err) => { + if (err) { + util.destroy(pipe, err); + abort(err); + } else { + util.removeAllListeners(pipe); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } + } + ); + util.addListener(pipe, "data", onPipeData); + function onPipeData(chunk) { + request2.onBodySent(chunk); + } + } + async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + assert(contentLength === body.size, "blob body must have content length"); + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body.arrayBuffer()); + h2stream.cork(); + h2stream.write(buffer); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(buffer); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } + } + async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, 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 waitForDrain = () => new Promise((resolve, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + h2stream.on("close", onDrain).on("drain", onDrain); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + const res = h2stream.write(chunk); + request2.onBodySent(chunk); + if (!res) { + await waitForDrain(); + } + } + h2stream.end(); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } finally { + h2stream.off("close", onDrain).off("drain", onDrain); + } + } + module2.exports = connectH2; + } +}); + +// node_modules/undici/lib/handler/redirect-handler.js +var require_redirect_handler = __commonJS({ + "node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) { + "use strict"; + var util = require_util(); + var { kBodyUsed } = require_symbols(); + var assert = require("node:assert"); + var { InvalidArgumentError } = require_errors(); + var EE = require("node:events"); + var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; + var kBody = Symbol("body"); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + var RedirectHandler = class { + constructor(dispatch, maxRedirections, opts, handler2) { + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + util.validateHandler(handler2, opts.method, opts.upgrade); + this.dispatch = dispatch; + this.location = null; + this.abort = null; + this.opts = { ...opts, maxRedirections: 0 }; + this.maxRedirections = maxRedirections; + this.handler = handler2; + this.history = []; + this.redirectionLimitReached = false; + 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); + } + } + onConnect(abort) { + this.abort = abort; + this.handler.onConnect(abort, { history: this.history }); + } + onUpgrade(statusCode, headers, socket) { + this.handler.onUpgrade(statusCode, headers, socket); + } + 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); + if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) { + if (this.request) { + this.request.abort(new Error("max redirects")); + } + this.redirectionLimitReached = true; + this.abort(new Error("max redirects")); + return; + } + if (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); + } + 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); + } + } + onComplete(trailers) { + if (this.location) { + this.location = null; + this.abort = null; + this.dispatch(this.opts, this); + } else { + this.handler.onComplete(trailers); + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) { + this.handler.onBodySent(chunk); + } + } + }; + function parseLocation(statusCode, headers) { + if (redirectableStatusCodes.indexOf(statusCode) === -1) { + return null; + } + for (let i = 0; i < headers.length; i += 2) { + if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") { + return headers[i + 1]; + } + } + } + function shouldRemoveHeader(header, removeContent, unknownOrigin) { + if (header.length === 4) { + return util.headerNameToString(header) === "host"; + } + if (removeContent && util.headerNameToString(header).startsWith("content-")) { + return true; + } + if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { + const name = util.headerNameToString(header); + return name === "authorization" || name === "cookie" || name === "proxy-authorization"; + } + return false; + } + function cleanRequestHeaders(headers, removeContent, unknownOrigin) { + 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]); + } + } + } else if (headers && typeof headers === "object") { + for (const key of Object.keys(headers)) { + if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { + ret.push(key, headers[key]); + } + } + } else { + assert(headers == null, "headers must be an object or an array"); + } + return ret; + } + module2.exports = RedirectHandler; + } +}); + +// node_modules/undici/lib/interceptor/redirect-interceptor.js +var require_redirect_interceptor = __commonJS({ + "node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) { + "use strict"; + var RedirectHandler = require_redirect_handler(); + function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { + return (dispatch) => { + return function Intercept(opts, handler2) { + const { maxRedirections = defaultMaxRedirections } = opts; + if (!maxRedirections) { + return dispatch(opts, handler2); + } + const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2); + opts = { ...opts, maxRedirections: 0 }; + return dispatch(opts, redirectHandler); + }; + }; + } + module2.exports = createRedirectInterceptor; + } +}); + +// node_modules/undici/lib/dispatcher/client.js +var require_client = __commonJS({ + "node_modules/undici/lib/dispatcher/client.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var net = require("node:net"); + var http = require("node:http"); + var util = require_util(); + var { channels } = require_diagnostics(); + var Request = require_request(); + var DispatcherBase = require_dispatcher_base(); + var { + InvalidArgumentError, + InformationalError, + ClientDestroyedError + } = require_errors(); + var buildConnector = require_connect(); + var { + kUrl, + kServerName, + kClient, + kBusy, + kConnect, + kResuming, + kRunning, + kPending, + kSize, + kQueue, + kConnected, + kConnecting, + kNeedDrain, + kKeepAliveDefaultTimeout, + kHostHeader, + kPendingIdx, + kRunningIdx, + kError, + kPipelining, + kKeepAliveTimeoutValue, + kMaxHeadersSize, + kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold, + kHeadersTimeout, + kBodyTimeout, + kStrictContentLength, + kConnector, + kMaxRedirections, + kMaxRequests, + kCounter, + kClose, + kDestroy, + kDispatch, + kInterceptors, + kLocalAddress, + kMaxResponseSize, + kOnError, + kHTTPContext, + kMaxConcurrentStreams, + kResume + } = require_symbols(); + var connectH1 = require_client_h1(); + var connectH2 = require_client_h2(); + var deprecatedInterceptorWarned = false; + var kClosedResolve = Symbol("kClosedResolve"); + var noop3 = () => { + }; + function getPipelining(client) { + return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1; + } + var Client = class extends DispatcherBase { + /** + * + * @param {string|URL} url + * @param {import('../../types/client.js').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 + maxConcurrentStreams, + allowH2 + } = {}) { + super(); + if (keepAlive !== void 0) { + throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); + } + if (socketTimeout !== void 0) { + throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); + } + if (requestTimeout !== void 0) { + throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); + } + if (idleTimeout !== void 0) { + throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); + } + if (maxKeepAliveTimeout !== void 0) { + 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"); + } + 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 (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 (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 (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 (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { + throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0"); + } + if (typeof connect2 !== "function") { + connect2 = buildConnector({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect2 + }); + } + if (interceptors?.Client && Array.isArray(interceptors.Client)) { + this[kInterceptors] = interceptors.Client; + if (!deprecatedInterceptorWarned) { + deprecatedInterceptorWarned = true; + process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", { + code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED" + }); + } + } else { + this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]; + } + this[kUrl] = util.parseOrigin(url); + this[kConnector] = connect2; + 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 ? 2e3 : 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[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100; + this[kHTTPContext] = null; + this[kQueue] = []; + this[kRunningIdx] = 0; + this[kPendingIdx] = 0; + this[kResume] = (sync) => resume(this, sync); + this[kOnError] = (err) => onError(this, err); + } + get pipelining() { + return this[kPipelining]; + } + set pipelining(value) { + this[kPipelining] = value; + this[kResume](true); + } + get [kPending]() { + return this[kQueue].length - this[kPendingIdx]; + } + get [kRunning]() { + return this[kPendingIdx] - this[kRunningIdx]; + } + get [kSize]() { + return this[kQueue].length - this[kRunningIdx]; + } + get [kConnected]() { + return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed; + } + get [kBusy]() { + return Boolean( + this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0 + ); + } + /* istanbul ignore: only used for test */ + [kConnect](cb) { + connect(this); + this.once("connect", cb); + } + [kDispatch](opts, handler2) { + const origin = opts.origin || this[kUrl].origin; + const request2 = new Request(origin, opts, handler2); + this[kQueue].push(request2); + if (this[kResuming]) { + } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) { + this[kResuming] = 1; + queueMicrotask(() => resume(this)); + } else { + this[kResume](true); + } + if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { + this[kNeedDrain] = 2; + } + return this[kNeedDrain] < 2; + } + async [kClose]() { + return new Promise((resolve) => { + if (this[kSize]) { + this[kClosedResolve] = resolve; + } else { + resolve(null); + } + }); + } + async [kDestroy](err) { + return new Promise((resolve) => { + const requests = this[kQueue].splice(this[kPendingIdx]); + for (let i = 0; i < requests.length; i++) { + const request2 = requests[i]; + util.errorRequest(this, request2, err); + } + const callback = () => { + if (this[kClosedResolve]) { + this[kClosedResolve](); + this[kClosedResolve] = null; + } + resolve(null); + }; + if (this[kHTTPContext]) { + this[kHTTPContext].destroy(err, callback); + this[kHTTPContext] = null; + } else { + queueMicrotask(callback); + } + this[kResume](); + }); + } + }; + var createRedirectInterceptor = require_redirect_interceptor(); + 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]); + for (let i = 0; i < requests.length; i++) { + const request2 = requests[i]; + util.errorRequest(client, request2, err); + } + assert(client[kSize] === 0); + } + } + async function connect(client) { + assert(!client[kConnecting]); + assert(!client[kHTTPContext]); + let { host, hostname, protocol, port } = client[kUrl]; + if (hostname[0] === "[") { + const idx = hostname.indexOf("]"); + assert(idx !== -1); + const ip = hostname.substring(1, idx); + assert(net.isIP(ip)); + hostname = ip; + } + client[kConnecting] = true; + if (channels.beforeConnect.hasSubscribers) { + channels.beforeConnect.publish({ + connectParams: { + host, + hostname, + protocol, + port, + version: client[kHTTPContext]?.version, + servername: client[kServerName], + 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); + } + }); + }); + if (client.destroyed) { + util.destroy(socket.on("error", noop3), new ClientDestroyedError()); + return; + } + assert(socket); + try { + client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket); + } catch (err) { + socket.destroy().on("error", noop3); + throw err; + } + client[kConnecting] = false; + socket[kCounter] = 0; + socket[kMaxRequests] = client[kMaxRequests]; + socket[kClient] = client; + socket[kError] = null; + if (channels.connected.hasSubscribers) { + channels.connected.publish({ + connectParams: { + host, + hostname, + protocol, + port, + version: client[kHTTPContext]?.version, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + socket + }); + } + client.emit("connect", client[kUrl], [client]); + } catch (err) { + if (client.destroyed) { + return; + } + client[kConnecting] = false; + if (channels.connectError.hasSubscribers) { + channels.connectError.publish({ + connectParams: { + host, + hostname, + protocol, + port, + version: client[kHTTPContext]?.version, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + 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 request2 = client[kQueue][client[kPendingIdx]++]; + util.errorRequest(client, request2, err); + } + } else { + onError(client, err); + } + client.emit("connectionError", client[kUrl], [client], err); + } + client[kResume](); + } + function emitDrain(client) { + client[kNeedDrain] = 0; + client.emit("drain", client[kUrl], [client]); + } + function resume(client, sync) { + if (client[kResuming] === 2) { + return; + } + 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; + } + } + function _resume(client, sync) { + while (true) { + if (client.destroyed) { + assert(client[kPending] === 0); + return; + } + if (client[kClosedResolve] && !client[kSize]) { + client[kClosedResolve](); + client[kClosedResolve] = null; + return; + } + if (client[kHTTPContext]) { + client[kHTTPContext].resume(); + } + if (client[kBusy]) { + client[kNeedDrain] = 2; + } else if (client[kNeedDrain] === 2) { + if (sync) { + client[kNeedDrain] = 1; + queueMicrotask(() => emitDrain(client)); + } else { + emitDrain(client); + } + continue; + } + if (client[kPending] === 0) { + return; + } + if (client[kRunning] >= (getPipelining(client) || 1)) { + return; + } + const request2 = client[kQueue][client[kPendingIdx]]; + if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) { + if (client[kRunning] > 0) { + return; + } + client[kServerName] = request2.servername; + client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => { + client[kHTTPContext] = null; + resume(client); + }); + } + if (client[kConnecting]) { + return; + } + if (!client[kHTTPContext]) { + connect(client); + return; + } + if (client[kHTTPContext].destroyed) { + return; + } + if (client[kHTTPContext].busy(request2)) { + return; + } + if (!request2.aborted && client[kHTTPContext].write(request2)) { + client[kPendingIdx]++; + } else { + client[kQueue].splice(client[kPendingIdx], 1); + } + } + } + module2.exports = Client; + } +}); + +// node_modules/undici/lib/dispatcher/fixed-queue.js +var require_fixed_queue = __commonJS({ + "node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, 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; + } + isEmpty() { + return this.top === this.bottom; + } + isFull() { + return (this.top + 1 & kMask) === this.bottom; + } + push(data) { + 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; + } + }; + module2.exports = class FixedQueue { + constructor() { + this.head = this.tail = new FixedCircularBuffer(); + } + isEmpty() { + return this.head.isEmpty(); + } + push(data) { + if (this.head.isFull()) { + this.head = this.head.next = new FixedCircularBuffer(); + } + this.head.push(data); + } + shift() { + const tail = this.tail; + const next = tail.shift(); + if (tail.isEmpty() && tail.next !== null) { + this.tail = tail.next; + } + return next; + } + }; + } +}); + +// node_modules/undici/lib/dispatcher/pool-stats.js +var require_pool_stats = __commonJS({ + "node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); + var kPool = Symbol("pool"); + var PoolStats = class { + constructor(pool) { + this[kPool] = pool; + } + get connected() { + return this[kPool][kConnected]; + } + get free() { + return this[kPool][kFree]; + } + get pending() { + return this[kPool][kPending]; + } + get queued() { + return this[kPool][kQueued]; + } + get running() { + return this[kPool][kRunning]; + } + get size() { + return this[kPool][kSize]; + } + }; + module2.exports = PoolStats; + } +}); + +// node_modules/undici/lib/dispatcher/pool-base.js +var require_pool_base = __commonJS({ + "node_modules/undici/lib/dispatcher/pool-base.js"(exports2, 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; + } + pool[kQueued]--; + needDrain = !this.dispatch(item.opts, item.handler); + } + this[kNeedDrain] = needDrain; + if (!this[kNeedDrain] && pool[kNeedDrain]) { + 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]); + } + }; + this[kOnConnect] = (origin, targets) => { + pool.emit("connect", origin, [pool, ...targets]); + }; + this[kOnDisconnect] = (origin, 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); + } + get [kBusy]() { + return this[kNeedDrain]; + } + get [kConnected]() { + return this[kClients].filter((client) => client[kConnected]).length; + } + get [kFree]() { + return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; + } + get [kPending]() { + let ret = this[kQueued]; + for (const { [kPending]: pending } of this[kClients]) { + ret += pending; + } + return ret; + } + get [kRunning]() { + let ret = 0; + for (const { [kRunning]: running } of this[kClients]) { + ret += running; + } + return ret; + } + get [kSize]() { + let ret = this[kQueued]; + for (const { [kSize]: size } of this[kClients]) { + ret += size; + } + return ret; + } + get stats() { + return this[kStats]; + } + async [kClose]() { + if (this[kQueue].isEmpty()) { + await Promise.all(this[kClients].map((c) => c.close())); + } else { + await new Promise((resolve) => { + this[kClosedResolve] = resolve; + }); + } + } + async [kDestroy](err) { + while (true) { + const item = this[kQueue].shift(); + if (!item) { + break; + } + item.handler.onError(err); + } + await Promise.all(this[kClients].map((c) => c.destroy(err))); + } + [kDispatch](opts, handler2) { + const dispatcher = this[kGetDispatcher](); + if (!dispatcher) { + this[kNeedDrain] = true; + this[kQueue].push({ opts, handler: handler2 }); + this[kQueued]++; + } else if (!dispatcher.dispatch(opts, handler2)) { + dispatcher[kNeedDrain] = true; + this[kNeedDrain] = !this[kGetDispatcher](); + } + 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); + if (this[kNeedDrain]) { + queueMicrotask(() => { + if (this[kNeedDrain]) { + this[kOnDrain](client[kUrl], [this, client]); + } + }); + } + return this; + } + [kRemoveClient](client) { + client.close(() => { + const idx = this[kClients].indexOf(client); + if (idx !== -1) { + this[kClients].splice(idx, 1); + } + }); + this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); + } + }; + module2.exports = { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + }; + } +}); + +// node_modules/undici/lib/dispatcher/pool.js +var require_pool = __commonJS({ + "node_modules/undici/lib/dispatcher/pool.js"(exports2, 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); + } + 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"); + } + if (typeof connect !== "function") { + connect = buildConnector({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect + }); + } + this[kInterceptors] = 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.on("connectionError", (origin2, targets, error) => { + for (const target of targets) { + const idx = this[kClients].indexOf(target); + if (idx !== -1) { + this[kClients].splice(idx, 1); + } + } + }); + } + [kGetDispatcher]() { + for (const client of this[kClients]) { + if (!client[kNeedDrain]) { + return client; + } + } + if (!this[kConnections] || this[kClients].length < this[kConnections]) { + const dispatcher = this[kFactory](this[kUrl], this[kOptions]); + this[kAddClient](dispatcher); + return dispatcher; + } + } + }; + module2.exports = Pool; + } +}); + +// node_modules/undici/lib/dispatcher/balanced-pool.js +var require_balanced_pool = __commonJS({ + "node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) { + "use strict"; + var { + BalancedPoolMissingUpstreamError, + InvalidArgumentError + } = require_errors(); + var { + PoolBase, + kClients, + kNeedDrain, + 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"); + function getGreatestCommonDivisor(a, b) { + if (a === 0) return b; + while (b !== 0) { + const t = b; + b = a % b; + a = t; + } + return a; + } + function defaultFactory(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; + if (!Array.isArray(upstreams)) { + upstreams = [upstreams]; + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("factory must be a function."); + } + this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + this[kFactory] = factory; + for (const upstream of upstreams) { + this.addUpstream(upstream); + } + 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(); + } + }); + for (const client of this[kClients]) { + client[kWeight] = this[kMaxWeightPerServer]; + } + this._updateBalancedPoolStats(); + return this; + } + _updateBalancedPoolStats() { + let result = 0; + for (let i = 0; i < this[kClients].length; i++) { + result = getGreatestCommonDivisor(this[kClients][i][kWeight], result); + } + this[kGreatestCommonDivisor] = result; + } + removeUpstream(upstream) { + 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); + } + return this; + } + get upstreams() { + 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(); + } + const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); + if (!dispatcher) { + return; + } + const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true); + if (allClientsBusy) { + return; + } + 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]; + } + if (this[kIndex] === 0) { + this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; + if (this[kCurrentWeight] <= 0) { + this[kCurrentWeight] = this[kMaxWeightPerServer]; + } + } + if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { + return pool; + } + } + this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; + this[kIndex] = maxWeightIndex; + return this[kClients][maxWeightIndex]; + } + }; + module2.exports = BalancedPool; + } +}); + +// node_modules/undici/lib/dispatcher/agent.js +var require_agent = __commonJS({ + "node_modules/undici/lib/dispatcher/agent.js"(exports2, 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_redirect_interceptor(); + 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 kOptions = Symbol("options"); + function defaultFactory(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"); + } + if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + if (connect && typeof connect !== "function") { + connect = { ...connect }; + } + this[kInterceptors] = 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[kOnDrain] = (origin, targets) => { + this.emit("drain", origin, [this, ...targets]); + }; + this[kOnConnect] = (origin, targets) => { + this.emit("connect", origin, [this, ...targets]); + }; + this[kOnDisconnect] = (origin, targets, err) => { + this.emit("disconnect", origin, [this, ...targets], err); + }; + this[kOnConnectionError] = (origin, targets, err) => { + this.emit("connectionError", origin, [this, ...targets], err); + }; + } + get [kRunning]() { + let ret = 0; + for (const client of this[kClients].values()) { + ret += client[kRunning]; + } + return ret; + } + [kDispatch](opts, handler2) { + 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."); + } + let dispatcher = this[kClients].get(key); + 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, dispatcher); + } + return dispatcher.dispatch(opts, handler2); + } + async [kClose]() { + const closePromises = []; + for (const client of this[kClients].values()) { + closePromises.push(client.close()); + } + this[kClients].clear(); + await Promise.all(closePromises); + } + async [kDestroy](err) { + const destroyPromises = []; + for (const client of this[kClients].values()) { + destroyPromises.push(client.destroy(err)); + } + this[kClients].clear(); + await Promise.all(destroyPromises); + } + }; + module2.exports = Agent; + } +}); + +// node_modules/undici/lib/dispatcher/proxy-agent.js +var require_proxy_agent = __commonJS({ + "node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) { + "use strict"; + var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); + var { URL: URL2 } = require("node:url"); + var Agent = require_agent(); + var Pool = require_pool(); + var DispatcherBase = require_dispatcher_base(); + var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors(); + var buildConnector = require_connect(); + var Client = require_client(); + 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"); + var kTunnelProxy = Symbol("tunnel proxy"); + function defaultProtocolPort(protocol) { + return protocol === "https:" ? 443 : 80; + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } + var noop3 = () => { + }; + function defaultAgentFactory(origin, opts) { + if (opts.connections === 1) { + return new Client(origin, opts); + } + return new Pool(origin, opts); + } + var Http1ProxyWrapper = class extends DispatcherBase { + #client; + constructor(proxyUrl, { headers = {}, connect, factory }) { + super(); + if (!proxyUrl) { + throw new InvalidArgumentError("Proxy URL is mandatory"); + } + this[kProxyHeaders] = headers; + if (factory) { + this.#client = factory(proxyUrl, { connect }); + } else { + this.#client = new Client(proxyUrl, { connect }); + } + } + [kDispatch](opts, handler2) { + const onHeaders = handler2.onHeaders; + handler2.onHeaders = function(statusCode, data, resume) { + if (statusCode === 407) { + if (typeof handler2.onError === "function") { + handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)")); + } + return; + } + if (onHeaders) onHeaders.call(this, statusCode, data, resume); + }; + const { + origin, + path = "/", + headers = {} + } = opts; + opts.path = origin + path; + if (!("host" in headers) && !("Host" in headers)) { + const { host } = new URL2(origin); + headers.host = host; + } + opts.headers = { ...this[kProxyHeaders], ...headers }; + return this.#client[kDispatch](opts, handler2); + } + async [kClose]() { + return this.#client.close(); + } + async [kDestroy](err) { + return this.#client.destroy(err); + } + }; + var ProxyAgent = class extends DispatcherBase { + constructor(opts) { + super(); + if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) { + throw new InvalidArgumentError("Proxy uri is mandatory"); + } + const { clientFactory = defaultFactory } = opts; + if (typeof clientFactory !== "function") { + throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); + } + const { proxyTunnel = true } = opts; + const url = this.#getUrl(opts); + const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url; + this[kProxy] = { uri: href, protocol }; + this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; + this[kRequestTls] = opts.requestTls; + this[kProxyTls] = opts.proxyTls; + this[kProxyHeaders] = opts.headers || {}; + this[kTunnelProxy] = proxyTunnel; + if (opts.auth && 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}`; + } else if (opts.token) { + this[kProxyHeaders]["proxy-authorization"] = opts.token; + } else if (username && password) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; + } + const connect = buildConnector({ ...opts.proxyTls }); + this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); + const agentFactory = opts.factory || defaultAgentFactory; + const factory = (origin2, options) => { + const { protocol: protocol2 } = new URL2(origin2); + if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") { + return new Http1ProxyWrapper(this[kProxy].uri, { + headers: this[kProxyHeaders], + connect, + factory: agentFactory + }); + } + return agentFactory(origin2, options); + }; + this[kClient] = clientFactory(url, { connect }); + this[kAgent] = new Agent({ + ...opts, + factory, + connect: async (opts2, callback) => { + let requestedPath = opts2.host; + if (!opts2.port) { + requestedPath += `:${defaultProtocolPort(opts2.protocol)}`; + } + try { + const { socket, statusCode } = await this[kClient].connect({ + origin, + port, + path: requestedPath, + signal: opts2.signal, + headers: { + ...this[kProxyHeaders], + host: opts2.host + }, + servername: this[kProxyTls]?.servername || proxyHostname + }); + if (statusCode !== 200) { + socket.on("error", noop3).destroy(); + callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); + } + if (opts2.protocol !== "https:") { + callback(null, socket); + return; + } + let servername; + if (this[kRequestTls]) { + servername = this[kRequestTls].servername; + } else { + servername = opts2.servername; + } + this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); + } catch (err) { + if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + callback(new SecureProxyConnectionError(err)); + } else { + callback(err); + } + } + } + }); + } + dispatch(opts, handler2) { + const headers = buildHeaders(opts.headers); + throwIfProxyAuthIsSent(headers); + if (headers && !("host" in headers) && !("Host" in headers)) { + const { host } = new URL2(opts.origin); + headers.host = host; + } + return this[kAgent].dispatch( + { + ...opts, + headers + }, + handler2 + ); + } + /** + * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts + * @returns {URL} + */ + #getUrl(opts) { + if (typeof opts === "string") { + return new URL2(opts); + } else if (opts instanceof URL2) { + return opts; + } else { + return new URL2(opts.uri); + } + } + async [kClose]() { + await this[kAgent].close(); + await this[kClient].close(); + } + async [kDestroy]() { + await this[kAgent].destroy(); + await this[kClient].destroy(); + } + }; + function buildHeaders(headers) { + if (Array.isArray(headers)) { + const headersPair = {}; + for (let i = 0; i < headers.length; i += 2) { + headersPair[headers[i]] = headers[i + 1]; + } + return headersPair; + } + return headers; + } + function throwIfProxyAuthIsSent(headers) { + 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"); + } + } + module2.exports = ProxyAgent; + } +}); + +// node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +var require_env_http_proxy_agent = __commonJS({ + "node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base(); + var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols(); + var ProxyAgent = require_proxy_agent(); + var Agent = require_agent(); + var DEFAULT_PORTS = { + "http:": 80, + "https:": 443 + }; + var experimentalWarned = false; + var EnvHttpProxyAgent = class extends DispatcherBase { + #noProxyValue = null; + #noProxyEntries = null; + #opts = null; + constructor(opts = {}) { + super(); + this.#opts = opts; + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", { + code: "UNDICI-EHPA" + }); + } + const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts; + this[kNoProxyAgent] = new Agent(agentOpts); + const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY; + if (HTTP_PROXY) { + this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY }); + } else { + this[kHttpProxyAgent] = this[kNoProxyAgent]; + } + const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY; + if (HTTPS_PROXY) { + this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY }); + } else { + this[kHttpsProxyAgent] = this[kHttpProxyAgent]; + } + this.#parseNoProxy(); + } + [kDispatch](opts, handler2) { + const url = new URL(opts.origin); + const agent = this.#getProxyAgentForUrl(url); + return agent.dispatch(opts, handler2); + } + async [kClose]() { + await this[kNoProxyAgent].close(); + if (!this[kHttpProxyAgent][kClosed]) { + await this[kHttpProxyAgent].close(); + } + if (!this[kHttpsProxyAgent][kClosed]) { + await this[kHttpsProxyAgent].close(); + } + } + async [kDestroy](err) { + await this[kNoProxyAgent].destroy(err); + if (!this[kHttpProxyAgent][kDestroyed]) { + await this[kHttpProxyAgent].destroy(err); + } + if (!this[kHttpsProxyAgent][kDestroyed]) { + await this[kHttpsProxyAgent].destroy(err); + } + } + #getProxyAgentForUrl(url) { + let { protocol, host: hostname, port } = url; + hostname = hostname.replace(/:\d*$/, "").toLowerCase(); + port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0; + if (!this.#shouldProxy(hostname, port)) { + return this[kNoProxyAgent]; + } + if (protocol === "https:") { + return this[kHttpsProxyAgent]; + } + return this[kHttpProxyAgent]; + } + #shouldProxy(hostname, port) { + if (this.#noProxyChanged) { + this.#parseNoProxy(); + } + if (this.#noProxyEntries.length === 0) { + return true; + } + if (this.#noProxyValue === "*") { + return false; + } + for (let i = 0; i < this.#noProxyEntries.length; i++) { + const entry = this.#noProxyEntries[i]; + if (entry.port && entry.port !== port) { + continue; + } + if (!/^[.*]/.test(entry.hostname)) { + if (hostname === entry.hostname) { + return false; + } + } else { + if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) { + return false; + } + } + } + return true; + } + #parseNoProxy() { + const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv; + const noProxySplit = noProxyValue.split(/[,\s]/); + const noProxyEntries = []; + for (let i = 0; i < noProxySplit.length; i++) { + const entry = noProxySplit[i]; + if (!entry) { + continue; + } + const parsed = entry.match(/^(.+):(\d+)$/); + noProxyEntries.push({ + hostname: (parsed ? parsed[1] : entry).toLowerCase(), + port: parsed ? Number.parseInt(parsed[2], 10) : 0 + }); + } + this.#noProxyValue = noProxyValue; + this.#noProxyEntries = noProxyEntries; + } + get #noProxyChanged() { + if (this.#opts.noProxy !== void 0) { + return false; + } + return this.#noProxyValue !== this.#noProxyEnv; + } + get #noProxyEnv() { + return process.env.no_proxy ?? process.env.NO_PROXY ?? ""; + } + }; + module2.exports = EnvHttpProxyAgent; + } +}); + +// node_modules/undici/lib/handler/retry-handler.js +var require_retry_handler = __commonJS({ + "node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { kRetryHandlerDefaultRetry } = require_symbols(); + var { RequestRetryError } = require_errors(); + var { + isDisturbed, + parseHeaders, + parseRangeHeader, + wrapRequestBody + } = require_util(); + function calculateRetryAfterHeader(retryAfter) { + const current = Date.now(); + return new Date(retryAfter).getTime() - current; + } + var RetryHandler = class _RetryHandler { + constructor(opts, handlers) { + const { retryOptions, ...dispatchOpts } = opts; + const { + // Retry scoped + retry: retryFn, + maxRetries, + maxTimeout, + minTimeout, + timeoutFactor, + // Response scoped + methods, + errorCodes, + retryAfter, + statusCodes + } = retryOptions ?? {}; + this.dispatch = handlers.dispatch; + this.handler = handlers.handler; + this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) }; + this.abort = null; + this.aborted = false; + this.retryOpts = { + retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry], + retryAfter: retryAfter ?? true, + maxTimeout: maxTimeout ?? 30 * 1e3, + // 30s, + minTimeout: minTimeout ?? 500, + // .5s + timeoutFactor: timeoutFactor ?? 2, + maxRetries: maxRetries ?? 5, + // What errors we should retry + methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], + // Indicates which errors to retry + statusCodes: statusCodes ?? [500, 502, 503, 504, 429], + // List of errors to retry + errorCodes: errorCodes ?? [ + "ECONNRESET", + "ECONNREFUSED", + "ENOTFOUND", + "ENETDOWN", + "ENETUNREACH", + "EHOSTDOWN", + "EHOSTUNREACH", + "EPIPE", + "UND_ERR_SOCKET" + ] + }; + this.retryCount = 0; + this.retryCountCheckpoint = 0; + this.start = 0; + this.end = null; + this.etag = null; + this.resume = null; + this.handler.onConnect((reason) => { + this.aborted = true; + if (this.abort) { + this.abort(reason); + } else { + this.reason = reason; + } + }); + } + onRequestSent() { + if (this.handler.onRequestSent) { + this.handler.onRequestSent(); + } + } + onUpgrade(statusCode, headers, socket) { + if (this.handler.onUpgrade) { + this.handler.onUpgrade(statusCode, headers, socket); + } + } + onConnect(abort) { + if (this.aborted) { + abort(this.reason); + } else { + this.abort = abort; + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) return this.handler.onBodySent(chunk); + } + static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { + const { statusCode, code, headers } = err; + const { method, retryOptions } = opts; + const { + maxRetries, + minTimeout, + maxTimeout, + timeoutFactor, + statusCodes, + errorCodes, + methods + } = retryOptions; + const { counter } = state; + if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) { + cb(err); + return; + } + if (Array.isArray(methods) && !methods.includes(method)) { + cb(err); + return; + } + if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { + cb(err); + return; + } + if (counter > maxRetries) { + cb(err); + return; + } + let retryAfterHeader = headers?.["retry-after"]; + if (retryAfterHeader) { + retryAfterHeader = Number(retryAfterHeader); + retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; + } + const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout); + setTimeout(() => cb(null), retryTimeout); + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const headers = parseHeaders(rawHeaders); + this.retryCount += 1; + if (statusCode >= 300) { + if (this.retryOpts.statusCodes.includes(statusCode) === false) { + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } else { + this.abort( + new RequestRetryError("Request failed", statusCode, { + headers, + data: { + count: this.retryCount + } + }) + ); + return false; + } + } + if (this.resume != null) { + this.resume = null; + if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) { + this.abort( + new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, { + headers, + data: { count: this.retryCount } + }) + ); + return false; + } + const contentRange = parseRangeHeader(headers["content-range"]); + if (!contentRange) { + this.abort( + new RequestRetryError("Content-Range mismatch", statusCode, { + headers, + data: { count: this.retryCount } + }) + ); + return false; + } + if (this.etag != null && this.etag !== headers.etag) { + this.abort( + new RequestRetryError("ETag mismatch", statusCode, { + headers, + data: { count: this.retryCount } + }) + ); + return false; + } + const { start, size, end = size - 1 } = contentRange; + assert(this.start === start, "content-range mismatch"); + assert(this.end == null || this.end === end, "content-range mismatch"); + this.resume = resume; + return true; + } + if (this.end == null) { + if (statusCode === 206) { + const range = parseRangeHeader(headers["content-range"]); + if (range == null) { + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const { start, size, end = size - 1 } = range; + assert( + start != null && Number.isFinite(start), + "content-range mismatch" + ); + assert(end != null && Number.isFinite(end), "invalid content-length"); + this.start = start; + this.end = end; + } + if (this.end == null) { + const contentLength = headers["content-length"]; + this.end = contentLength != null ? Number(contentLength) - 1 : null; + } + assert(Number.isFinite(this.start)); + assert( + this.end == null || Number.isFinite(this.end), + "invalid content-length" + ); + this.resume = resume; + this.etag = headers.etag != null ? headers.etag : null; + if (this.etag != null && this.etag.startsWith("W/")) { + this.etag = null; + } + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const err = new RequestRetryError("Request failed", statusCode, { + headers, + data: { count: this.retryCount } + }); + this.abort(err); + return false; + } + onData(chunk) { + this.start += chunk.length; + return this.handler.onData(chunk); + } + onComplete(rawTrailers) { + this.retryCount = 0; + return this.handler.onComplete(rawTrailers); + } + onError(err) { + if (this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err); + } + if (this.retryCount - this.retryCountCheckpoint > 0) { + this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint); + } else { + this.retryCount += 1; + } + this.retryOpts.retry( + err, + { + state: { counter: this.retryCount }, + opts: { retryOptions: this.retryOpts, ...this.opts } + }, + onRetry.bind(this) + ); + function onRetry(err2) { + if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err2); + } + if (this.start !== 0) { + const headers = { range: `bytes=${this.start}-${this.end ?? ""}` }; + if (this.etag != null) { + headers["if-match"] = this.etag; + } + this.opts = { + ...this.opts, + headers: { + ...this.opts.headers, + ...headers + } + }; + } + try { + this.retryCountCheckpoint = this.retryCount; + this.dispatch(this.opts, this); + } catch (err3) { + this.handler.onError(err3); + } + } + } + }; + module2.exports = RetryHandler; + } +}); + +// node_modules/undici/lib/dispatcher/retry-agent.js +var require_retry_agent = __commonJS({ + "node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher(); + var RetryHandler = require_retry_handler(); + var RetryAgent = class extends Dispatcher { + #agent = null; + #options = null; + constructor(agent, options = {}) { + super(options); + this.#agent = agent; + this.#options = options; + } + dispatch(opts, handler2) { + const retry = new RetryHandler({ + ...opts, + retryOptions: this.#options + }, { + dispatch: this.#agent.dispatch.bind(this.#agent), + handler: handler2 + }); + return this.#agent.dispatch(opts, retry); + } + close() { + return this.#agent.close(); + } + destroy() { + return this.#agent.destroy(); + } + }; + module2.exports = RetryAgent; + } +}); + +// node_modules/undici/lib/api/readable.js +var require_readable = __commonJS({ + "node_modules/undici/lib/api/readable.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { Readable } = require("node:stream"); + var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors(); + var util = require_util(); + var { ReadableStreamFrom } = require_util(); + var kConsume = Symbol("kConsume"); + var kReading = Symbol("kReading"); + var kBody = Symbol("kBody"); + var kAbort = Symbol("kAbort"); + var kContentType = Symbol("kContentType"); + var kContentLength = Symbol("kContentLength"); + var noop3 = () => { + }; + var BodyReadable = class extends Readable { + constructor({ + resume, + abort, + contentType = "", + contentLength, + highWaterMark = 64 * 1024 + // Same as nodejs fs streams. + }) { + super({ + autoDestroy: true, + read: resume, + highWaterMark + }); + this._readableState.dataEmitted = false; + this[kAbort] = abort; + this[kConsume] = null; + this[kBody] = null; + this[kContentType] = contentType; + this[kContentLength] = contentLength; + this[kReading] = false; + } + destroy(err) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (err) { + this[kAbort](); + } + return super.destroy(err); + } + _destroy(err, callback) { + if (!this[kReading]) { + setImmediate(() => { + callback(err); + }); + } else { + callback(err); + } + } + on(ev, ...args) { + if (ev === "data" || ev === "readable") { + this[kReading] = true; + } + return super.on(ev, ...args); + } + addListener(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; + } + return ret; + } + removeListener(ev, ...args) { + return this.off(ev, ...args); + } + push(chunk) { + if (this[kConsume] && chunk !== null) { + consumePush(this[kConsume], chunk); + return this[kReading] ? super.push(chunk) : true; + } + return super.push(chunk); + } + // https://fetch.spec.whatwg.org/#dom-body-text + async text() { + return consume(this, "text"); + } + // https://fetch.spec.whatwg.org/#dom-body-json + async json() { + return consume(this, "json"); + } + // https://fetch.spec.whatwg.org/#dom-body-blob + async blob() { + return consume(this, "blob"); + } + // https://fetch.spec.whatwg.org/#dom-body-bytes + async bytes() { + return consume(this, "bytes"); + } + // https://fetch.spec.whatwg.org/#dom-body-arraybuffer + async arrayBuffer() { + return consume(this, "arrayBuffer"); + } + // https://fetch.spec.whatwg.org/#dom-body-formdata + async formData() { + throw new NotSupportedError(); + } + // https://fetch.spec.whatwg.org/#dom-body-bodyused + get bodyUsed() { + return util.isDisturbed(this); + } + // https://fetch.spec.whatwg.org/#dom-body-body + get body() { + if (!this[kBody]) { + this[kBody] = ReadableStreamFrom(this); + if (this[kConsume]) { + this[kBody].getReader(); + assert(this[kBody].locked); + } + } + return this[kBody]; + } + async dump(opts) { + let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024; + const signal = opts?.signal; + if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) { + throw new InvalidArgumentError("signal must be an AbortSignal"); + } + signal?.throwIfAborted(); + if (this._readableState.closeEmitted) { + return null; + } + return await new Promise((resolve, reject) => { + if (this[kContentLength] > limit) { + this.destroy(new AbortError()); + } + const onAbort = () => { + this.destroy(signal.reason ?? new AbortError()); + }; + signal?.addEventListener("abort", onAbort); + this.on("close", function() { + signal?.removeEventListener("abort", onAbort); + if (signal?.aborted) { + reject(signal.reason ?? new AbortError()); + } else { + resolve(null); + } + }).on("error", noop3).on("data", function(chunk) { + limit -= chunk.length; + if (limit <= 0) { + this.destroy(); + } + }).resume(); + }); + } + }; + function isLocked(self) { + return self[kBody] && self[kBody].locked === true || self[kConsume]; + } + function isUnusable(self) { + return util.isDisturbed(self) || isLocked(self); + } + async function consume(stream, type) { + assert(!stream[kConsume]); + return new Promise((resolve, reject) => { + if (isUnusable(stream)) { + const rState = stream._readableState; + if (rState.destroyed && rState.closeEmitted === false) { + stream.on("error", (err) => { + reject(err); + }).on("close", () => { + reject(new TypeError("unusable")); + }); + } else { + reject(rState.errored ?? new TypeError("unusable")); + } + } else { + queueMicrotask(() => { + stream[kConsume] = { + type, + stream, + resolve, + 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()); + } + }); + consumeStart(stream[kConsume]); + }); + } + }); + } + function consumeStart(consume2) { + if (consume2.body === null) { + return; + } + const { _readableState: state } = consume2.stream; + if (state.bufferIndex) { + const start = state.bufferIndex; + const end = state.buffer.length; + for (let n = start; n < end; n++) { + consumePush(consume2, state.buffer[n]); + } + } else { + for (const chunk of state.buffer) { + consumePush(consume2, chunk); + } + } + if (state.endEmitted) { + consumeEnd(this[kConsume]); + } else { + consume2.stream.on("end", function() { + consumeEnd(this[kConsume]); + }); + } + consume2.stream.resume(); + while (consume2.stream.read() != null) { + } + } + function chunksDecode(chunks, length) { + if (chunks.length === 0 || length === 0) { + return ""; + } + const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length); + const bufferLength = buffer.length; + const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0; + return buffer.utf8Slice(start, bufferLength); + } + function chunksConcat(chunks, length) { + if (chunks.length === 0 || length === 0) { + return new Uint8Array(0); + } + if (chunks.length === 1) { + return new Uint8Array(chunks[0]); + } + const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer); + let offset = 0; + for (let i = 0; i < chunks.length; ++i) { + const chunk = chunks[i]; + buffer.set(chunk, offset); + offset += chunk.length; + } + return buffer; + } + function consumeEnd(consume2) { + const { type, body, resolve, stream, length } = consume2; + try { + if (type === "text") { + resolve(chunksDecode(body, length)); + } else if (type === "json") { + resolve(JSON.parse(chunksDecode(body, length))); + } else if (type === "arrayBuffer") { + resolve(chunksConcat(body, length).buffer); + } else if (type === "blob") { + resolve(new Blob(body, { type: stream[kContentType] })); + } else if (type === "bytes") { + resolve(chunksConcat(body, length)); + } + consumeFinish(consume2); + } catch (err) { + stream.destroy(err); + } + } + function consumePush(consume2, chunk) { + consume2.length += chunk.length; + consume2.body.push(chunk); + } + function consumeFinish(consume2, err) { + if (consume2.body === null) { + return; + } + if (err) { + consume2.reject(err); + } else { + consume2.resolve(); + } + consume2.type = null; + consume2.stream = null; + consume2.resolve = null; + consume2.reject = null; + consume2.length = 0; + consume2.body = null; + } + module2.exports = { Readable: BodyReadable, chunksDecode }; + } +}); + +// node_modules/undici/lib/api/util.js +var require_util3 = __commonJS({ + "node_modules/undici/lib/api/util.js"(exports2, module2) { + var assert = require("node:assert"); + var { + ResponseStatusCodeError + } = require_errors(); + var { chunksDecode } = require_readable(); + var CHUNK_LIMIT = 128 * 1024; + async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { + assert(body); + let chunks = []; + let length = 0; + try { + for await (const chunk of body) { + chunks.push(chunk); + length += chunk.length; + if (length > CHUNK_LIMIT) { + chunks = []; + length = 0; + break; + } + } + } catch { + chunks = []; + length = 0; + } + const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`; + if (statusCode === 204 || !contentType || !length) { + queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers))); + return; + } + const stackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = 0; + let payload; + try { + if (isContentTypeApplicationJson(contentType)) { + payload = JSON.parse(chunksDecode(chunks, length)); + } else if (isContentTypeText(contentType)) { + payload = chunksDecode(chunks, length); + } + } catch { + } finally { + Error.stackTraceLimit = stackTraceLimit; + } + queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload))); + } + var isContentTypeApplicationJson = (contentType) => { + return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n"; + }; + var isContentTypeText = (contentType) => { + return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t"; + }; + module2.exports = { + getResolveErrorBodyCallback, + isContentTypeApplicationJson, + isContentTypeText + }; + } +}); + +// node_modules/undici/lib/api/api-request.js +var require_api_request = __commonJS({ + "node_modules/undici/lib/api/api-request.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { Readable } = require_readable(); + var { InvalidArgumentError, RequestAbortedError } = require_errors(); + var util = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("node:async_hooks"); + var RequestHandler = class extends AsyncResource { + constructor(opts, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + 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 (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + super("UNDICI_REQUEST"); + } catch (err) { + if (util.isStream(body)) { + util.destroy(body.on("error", util.nop), err); + } + throw err; + } + this.method = method; + 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; + this.signal = signal; + this.reason = null; + this.removeAbortListener = null; + if (util.isStream(body)) { + body.on("error", (err) => { + this.onError(err); + }); + } + if (this.signal) { + if (this.signal.aborted) { + this.reason = this.signal.reason ?? new RequestAbortedError(); + } else { + this.removeAbortListener = util.addAbortListener(this.signal, () => { + this.reason = this.signal.reason ?? new RequestAbortedError(); + if (this.res) { + util.destroy(this.res.on("error", util.nop), this.reason); + } else if (this.abort) { + this.abort(this.reason); + } + if (this.removeAbortListener) { + this.res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } + }); + } + } + } + onConnect(abort, context3) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context3; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this; + const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ statusCode, headers }); + } + return; + } + const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; + const contentType = parsedHeaders["content-type"]; + const contentLength = parsedHeaders["content-length"]; + const res = new Readable({ + resume, + abort, + contentType, + contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null, + highWaterMark + }); + if (this.removeAbortListener) { + res.on("close", this.removeAbortListener); + } + this.callback = null; + this.res = res; + if (callback !== null) { + if (this.throwOnError && statusCode >= 400) { + this.runInAsyncScope( + getResolveErrorBodyCallback, + null, + { callback, body: res, contentType, statusCode, statusMessage, headers } + ); + } else { + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + trailers: this.trailers, + opaque, + body: res, + context: context3 + }); + } + } + } + onData(chunk) { + return this.res.push(chunk); + } + onComplete(trailers) { + util.parseHeaders(trailers, this.trailers); + this.res.push(null); + } + onError(err) { + const { res, callback, body, opaque } = this; + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + if (res) { + this.res = null; + queueMicrotask(() => { + util.destroy(res, err); + }); + } + if (body) { + this.body = null; + util.destroy(body, err); + } + if (this.removeAbortListener) { + res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } + } + }; + function request2(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + request2.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + this.dispatch(opts, new RequestHandler(opts, callback)); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts?.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = request2; + module2.exports.RequestHandler = RequestHandler; + } +}); + +// node_modules/undici/lib/api/abort-signal.js +var require_abort_signal = __commonJS({ + "node_modules/undici/lib/api/abort-signal.js"(exports2, 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[kSignal]?.reason); + } else { + self.reason = self[kSignal]?.reason ?? new RequestAbortedError(); + } + removeSignal(self); + } + function addSignal(self, signal) { + self.reason = null; + self[kSignal] = null; + self[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self); + return; + } + self[kSignal] = signal; + self[kListener] = () => { + abort(self); + }; + addAbortListener(self[kSignal], self[kListener]); + } + function removeSignal(self) { + if (!self[kSignal]) { + return; + } + if ("removeEventListener" in self[kSignal]) { + self[kSignal].removeEventListener("abort", self[kListener]); + } else { + self[kSignal].removeListener("abort", self[kListener]); + } + self[kSignal] = null; + self[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// node_modules/undici/lib/api/api-stream.js +var require_api_stream = __commonJS({ + "node_modules/undici/lib/api/api-stream.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { finished, PassThrough } = require("node:stream"); + var { InvalidArgumentError, InvalidReturnValueError } = require_errors(); + var util = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("node: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"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + 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 (method === "CONNECT") { + throw new InvalidArgumentError("invalid method"); + } + if (onInfo && typeof onInfo !== "function") { + throw new InvalidArgumentError("invalid onInfo callback"); + } + 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; + if (util.isStream(body)) { + body.on("error", (err) => { + this.onError(err); + }); + } + addSignal(this, signal); + } + onConnect(abort, context3) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context3; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { factory, opaque, context: context3, callback, responseHeaders } = this; + const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ statusCode, headers }); + } + return; + } + 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 } + ); + } else { + if (factory === null) { + return; + } + res = this.runInAsyncScope(factory, null, { + statusCode, + headers, + opaque, + context: context3 + }); + 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; + if (err || !res2.readable) { + util.destroy(res2, err); + } + this.callback = null; + this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); + if (err) { + abort(); + } + }); + } + res.on("drain", resume); + this.res = res; + const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain; + return needDrain !== true; + } + onData(chunk) { + const { res } = this; + return res ? res.write(chunk) : true; + } + onComplete(trailers) { + const { res } = this; + removeSignal(this); + if (!res) { + return; + } + this.trailers = util.parseHeaders(trailers); + res.end(); + } + onError(err) { + const { res, callback, opaque, body } = this; + removeSignal(this); + this.factory = null; + if (res) { + this.res = null; + util.destroy(res, err); + } else if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + if (body) { + 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); + }); + }); + } + try { + this.dispatch(opts, new StreamHandler(opts, factory, callback)); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts?.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = stream; + } +}); + +// node_modules/undici/lib/api/api-pipeline.js +var require_api_pipeline = __commonJS({ + "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { + "use strict"; + var { + Readable, + Duplex, + PassThrough + } = require("node:stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util = require_util(); + var { AsyncResource } = require("node:async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("node:assert"); + var kResume = Symbol("resume"); + var PipelineRequest = class extends Readable { + constructor() { + super({ autoDestroy: true }); + this[kResume] = null; + } + _read() { + const { [kResume]: resume } = this; + if (resume) { + this[kResume] = null; + resume(); + } + } + _destroy(err, callback) { + this._read(); + callback(err); + } + }; + var PipelineResponse = class extends Readable { + constructor(resume) { + super({ autoDestroy: true }); + this[kResume] = resume; + } + _read() { + this[kResume](); + } + _destroy(err, callback) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + callback(err); + } + }; + var PipelineHandler = class extends AsyncResource { + constructor(opts, handler2) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof handler2 !== "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 = handler2; + 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; + if (body?.resume) { + body.resume(); + } + }, + write: (chunk, encoding, callback) => { + const { req } = this; + if (req.push(chunk, encoding) || req._readableState.destroyed) { + callback(); + } else { + req[kResume] = callback; + } + }, + destroy: (err, callback) => { + const { body, req, res, ret, abort } = this; + if (!err && !ret._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (abort && err) { + 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); + } + onConnect(abort, context3) { + const { ret, res } = this; + if (this.reason) { + abort(this.reason); + return; + } + assert(!res, "pipeline cannot be retried"); + assert(!ret.destroyed); + this.abort = abort; + this.context = context3; + } + onHeaders(statusCode, rawHeaders, resume) { + const { opaque, handler: handler2, context: context3 } = this; + if (statusCode < 200) { + if (this.onInfo) { + const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + this.onInfo({ statusCode, headers }); + } + return; + } + this.res = new PipelineResponse(resume); + let body; + try { + this.handler = null; + const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + body = this.runInAsyncScope(handler2, null, { + statusCode, + headers, + opaque, + body: this.res, + context: context3 + }); + } 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; + } + onData(chunk) { + const { res } = this; + return res.push(chunk); + } + onComplete(trailers) { + const { res } = this; + res.push(null); + } + onError(err) { + const { ret } = this; + this.handler = null; + util.destroy(ret, err); + } + }; + function pipeline(opts, handler2) { + try { + const pipelineHandler = new PipelineHandler(opts, handler2); + this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); + return pipelineHandler.ret; + } catch (err) { + return new PassThrough().destroy(err); + } + } + module2.exports = pipeline; + } +}); + +// node_modules/undici/lib/api/api-upgrade.js +var require_api_upgrade = __commonJS({ + "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { + "use strict"; + var { InvalidArgumentError, SocketError } = require_errors(); + var { AsyncResource } = require("node:async_hooks"); + var util = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("node: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"); + } + 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, context3) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = null; + } + onHeaders() { + throw new SocketError("bad upgrade", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + assert(statusCode === 101); + const { callback, opaque, context: context3 } = this; + 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: context3 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + 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); + }); + }); + } + try { + 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; + } + const opaque = opts?.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = upgrade; + } +}); + +// node_modules/undici/lib/api/api-connect.js +var require_api_connect = __commonJS({ + "node_modules/undici/lib/api/api-connect.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { AsyncResource } = require("node:async_hooks"); + var { InvalidArgumentError, 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"); + } + super("UNDICI_CONNECT"); + this.opaque = opaque || null; + this.responseHeaders = responseHeaders || null; + this.callback = callback; + this.abort = null; + addSignal(this, signal); + } + onConnect(abort, context3) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context3; + } + onHeaders() { + throw new SocketError("bad connect", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context: context3 } = this; + removeSignal(this); + this.callback = null; + let headers = rawHeaders; + if (headers != null) { + headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + } + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + socket, + opaque, + context: context3 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + 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); + }); + }); + } + try { + const connectHandler = new ConnectHandler(opts, callback); + this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); + } catch (err) { + if (typeof callback !== "function") { + throw err; + } + const opaque = opts?.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = connect; + } +}); + +// node_modules/undici/lib/api/index.js +var require_api = __commonJS({ + "node_modules/undici/lib/api/index.js"(exports2, 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/undici/lib/mock/mock-errors.js +var require_mock_errors = __commonJS({ + "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { + "use strict"; + var { UndiciError } = require_errors(); + var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); + 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"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kMockNotMatchedError] === true; + } + [kMockNotMatchedError] = true; + }; + module2.exports = { + MockNotMatchedError + }; + } +}); + +// node_modules/undici/lib/mock/mock-symbols.js +var require_mock_symbols = __commonJS({ + "node_modules/undici/lib/mock/mock-symbols.js"(exports2, 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") + }; + } +}); + +// node_modules/undici/lib/mock/mock-utils.js +var require_mock_utils = __commonJS({ + "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { + "use strict"; + var { MockNotMatchedError } = require_mock_errors(); + var { + kDispatches, + kMockAgent, + kOriginalDispatch, + kOrigin, + kGetNetConnect + } = require_mock_symbols(); + var { buildURL } = require_util(); + var { STATUS_CODES } = require("node:http"); + var { + types: { + isPromise + } + } = require("node:util"); + function matchValue(match, value) { + if (typeof match === "string") { + return match === value; + } + if (match instanceof RegExp) { + return match.test(value); + } + if (typeof match === "function") { + return match(value) === true; + } + return false; + } + function lowerCaseEntries(headers) { + return Object.fromEntries( + Object.entries(headers).map(([headerName, 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 void 0; + } else if (typeof headers.get === "function") { + return headers.get(key); + } else { + return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; + } + } + function buildHeadersFromArray(headers) { + const clone = headers.slice(); + const entries = []; + for (let index = 0; index < clone.length; index += 2) { + entries.push([clone[index], clone[index + 1]]); + } + return Object.fromEntries(entries); + } + function matchHeaders(mockDispatch2, headers) { + if (typeof mockDispatch2.headers === "function") { + if (Array.isArray(headers)) { + headers = buildHeadersFromArray(headers); + } + return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); + } + if (typeof mockDispatch2.headers === "undefined") { + return true; + } + if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { + return false; + } + for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { + const headerValue = getHeaderByName(headers, matchHeaderName); + if (!matchValue(matchHeaderValue, headerValue)) { + return false; + } + } + return true; + } + function safeUrl(path) { + if (typeof path !== "string") { + return path; + } + const pathSegments = path.split("?"); + if (pathSegments.length !== 2) { + return path; + } + 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; + } + function getResponseData2(data) { + if (Buffer.isBuffer(data)) { + return data; + } else if (data instanceof Uint8Array) { + return data; + } else if (data instanceof ArrayBuffer) { + return data; + } else if (typeof data === "object") { + return JSON.stringify(data); + } else { + 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)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); + } + matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`); + } + 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}' on path '${resolvedPath}'`); + } + matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); + if (matchedMockDispatches.length === 0) { + const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers; + throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`); + } + 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; + } + function deleteMockDispatch(mockDispatches, key) { + const index = mockDispatches.findIndex((dispatch) => { + if (!dispatch.consumed) { + return false; + } + return matchKey(dispatch, key); + }); + if (index !== -1) { + mockDispatches.splice(index, 1); + } + } + function buildKey(opts) { + const { path, method, body, headers, query } = opts; + return { + path, + method, + body, + headers, + query + }; + } + function generateKeyValues(data) { + const keys = Object.keys(data); + const result = []; + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + const value = data[key]; + const name = Buffer.from(`${key}`); + if (Array.isArray(value)) { + for (let j = 0; j < value.length; ++j) { + result.push(name, Buffer.from(`${value[j]}`)); + } + } else { + result.push(name, Buffer.from(`${value}`)); + } + } + return result; + } + function getStatusText(statusCode) { + return STATUS_CODES[statusCode] || "unknown"; + } + async function getResponse(body) { + const buffers = []; + for await (const data of body) { + buffers.push(data); + } + return Buffer.concat(buffers).toString("utf8"); + } + function mockDispatch(opts, handler2) { + const key = buildKey(opts); + const mockDispatch2 = getMockDispatch(this[kDispatches], key); + mockDispatch2.timesInvoked++; + if (mockDispatch2.data.callback) { + 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; + if (error !== null) { + deleteMockDispatch(this[kDispatches], key); + handler2.onError(error); + return true; + } + if (typeof delay === "number" && delay > 0) { + setTimeout(() => { + handleReply(this[kDispatches]); + }, delay); + } else { + 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; + if (isPromise(body)) { + body.then((newData) => handleReply(mockDispatches, newData)); + return; + } + const responseData = getResponseData2(body); + const responseHeaders = generateKeyValues(headers); + const responseTrailers = generateKeyValues(trailers); + handler2.onConnect?.((err) => handler2.onError(err), null); + handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode)); + handler2.onData?.(Buffer.from(responseData)); + handler2.onComplete?.(responseTrailers); + deleteMockDispatch(mockDispatches, key); + } + function resume() { + } + return true; + } + function buildMockDispatch() { + const agent = this[kMockAgent]; + const origin = this[kOrigin]; + const originalDispatch = this[kOriginalDispatch]; + return function dispatch(opts, handler2) { + if (agent.isMockActive) { + try { + mockDispatch.call(this, opts, handler2); + } catch (error) { + if (error instanceof MockNotMatchedError) { + const netConnect = agent[kGetNetConnect](); + if (netConnect === false) { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); + } + if (checkNetConnect(netConnect, origin)) { + originalDispatch.call(this, opts, handler2); + } else { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); + } + } else { + throw error; + } + } + } else { + originalDispatch.call(this, opts, handler2); + } + }; + } + function checkNetConnect(netConnect, 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 false; + } + function buildMockOptions(opts) { + if (opts) { + const { agent, ...mockOptions } = opts; + return mockOptions; + } + } + module2.exports = { + getResponseData: getResponseData2, + getMockDispatch, + addMockDispatch, + deleteMockDispatch, + buildKey, + generateKeyValues, + matchValue, + getResponse, + getStatusText, + mockDispatch, + buildMockDispatch, + checkNetConnect, + buildMockOptions, + getHeaderByName, + buildHeadersFromArray + }; + } +}); + +// node_modules/undici/lib/mock/mock-interceptor.js +var require_mock_interceptor = __commonJS({ + "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { + "use strict"; + var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils(); + var { + kDispatches, + kDispatchKey, + kDefaultHeaders, + kDefaultTrailers, + kContentLength, + kMockDispatch + } = require_mock_symbols(); + var { InvalidArgumentError } = require_errors(); + var { buildURL } = require_util(); + var MockScope = class { + constructor(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"); + } + this[kMockDispatch].delay = waitInMs; + return this; + } + /** + * For a defined reply, never mark as consumed. + */ + persist() { + 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"); + } + 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.path === "undefined") { + throw new InvalidArgumentError("opts.path must be defined"); + } + if (typeof opts.method === "undefined") { + opts.method = "GET"; + } + if (typeof opts.path === "string") { + if (opts.query) { + opts.path = buildURL(opts.path, opts.query); + } else { + const parsedURL = new URL(opts.path, "data://"); + opts.path = parsedURL.pathname + parsedURL.search; + } + } + if (typeof opts.method === "string") { + opts.method = opts.method.toUpperCase(); + } + this[kDispatchKey] = buildKey(opts); + this[kDispatches] = mockDispatches; + this[kDefaultHeaders] = {}; + this[kDefaultTrailers] = {}; + this[kContentLength] = false; + } + createMockScopeDispatchData({ statusCode, data, responseOptions }) { + const responseData = getResponseData2(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(replyParameters) { + if (typeof replyParameters.statusCode === "undefined") { + throw new InvalidArgumentError("statusCode must be defined"); + } + if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) { + throw new InvalidArgumentError("responseOptions must be an object"); + } + } + /** + * Mock an undici request with a defined reply. + */ + reply(replyOptionsCallbackOrStatusCode) { + if (typeof replyOptionsCallbackOrStatusCode === "function") { + const wrappedDefaultsCallback = (opts) => { + const resolvedData = replyOptionsCallbackOrStatusCode(opts); + if (typeof resolvedData !== "object" || resolvedData === null) { + throw new InvalidArgumentError("reply options callback must return an object"); + } + const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData }; + this.validateReplyParameters(replyParameters2); + return { + ...this.createMockScopeDispatchData(replyParameters2) + }; + }; + const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); + return new MockScope(newMockDispatch2); + } + const replyParameters = { + statusCode: replyOptionsCallbackOrStatusCode, + data: arguments[1] === void 0 ? "" : arguments[1], + responseOptions: arguments[2] === void 0 ? {} : arguments[2] + }; + this.validateReplyParameters(replyParameters); + const dispatchData = this.createMockScopeDispatchData(replyParameters); + 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"); + } + 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"); + } + 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"); + } + this[kDefaultTrailers] = trailers; + return this; + } + /** + * Set reply content length header for replies on the interceptor + */ + replyContentLength() { + this[kContentLength] = true; + return this; + } + }; + module2.exports.MockInterceptor = MockInterceptor; + module2.exports.MockScope = MockScope; + } +}); + +// node_modules/undici/lib/mock/mock-client.js +var require_mock_client = __commonJS({ + "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { + "use strict"; + var { promisify } = require("node:util"); + var Client = require_client(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = 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]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + /** + * Sets up the base interceptor for mocking replies from undici. + */ + intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + async [kClose]() { + await promisify(this[kOriginalClose])(); + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + } + }; + module2.exports = MockClient; + } +}); + +// node_modules/undici/lib/mock/mock-pool.js +var require_mock_pool = __commonJS({ + "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { + "use strict"; + var { promisify } = require("node:util"); + var Pool = require_pool(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = 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]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + /** + * Sets up the base interceptor for mocking replies from undici. + */ + intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + async [kClose]() { + await promisify(this[kOriginalClose])(); + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); + } + }; + module2.exports = MockPool; + } +}); + +// node_modules/undici/lib/mock/pluralizer.js +var require_pluralizer = __commonJS({ + "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { + "use strict"; + var singulars = { + pronoun: "it", + is: "is", + was: "was", + this: "this" + }; + var plurals = { + pronoun: "they", + is: "are", + was: "were", + this: "these" + }; + module2.exports = class Pluralizer { + constructor(singular, 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 }; + } + }; + } +}); + +// node_modules/undici/lib/mock/pending-interceptors-formatter.js +var require_pending_interceptors_formatter = __commonJS({ + "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { + "use strict"; + var { Transform } = require("node:stream"); + var { Console } = require("node:console"); + var PERSISTENT = process.versions.icu ? "\u2705" : "Y "; + var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N "; + module2.exports = class PendingInterceptorsFormatter { + constructor({ disableColors } = {}) { + this.transform = new Transform({ + transform(chunk, _enc, cb) { + 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: method, + Origin: origin, + Path: path, + "Status code": statusCode, + Persistent: persist ? PERSISTENT : NOT_PERSISTENT, + Invocations: timesInvoked, + Remaining: persist ? Infinity : times - timesInvoked + }) + ); + this.logger.table(withPrettyHeaders); + return this.transform.read().toString(); + } + }; + } +}); + +// node_modules/undici/lib/mock/mock-agent.js +var require_mock_agent = __commonJS({ + "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { + "use strict"; + var { kClients } = require_symbols(); + var Agent = require_agent(); + var { + kAgent, + kMockAgentSet, + kMockAgentGet, + kDispatches, + kIsMockActive, + kNetConnect, + 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(); + var MockAgent = class extends Dispatcher { + constructor(opts) { + super(opts); + this[kNetConnect] = true; + this[kIsMockActive] = true; + if (opts?.agent && typeof opts.agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + } + const agent = 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); + if (!dispatcher) { + dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, dispatcher); + } + return dispatcher; + } + dispatch(opts, handler2) { + this.get(opts.origin); + return this[kAgent].dispatch(opts, handler2); + } + async close() { + await this[kAgent].close(); + this[kClients].clear(); + } + deactivate() { + this[kIsMockActive] = false; + } + activate() { + this[kIsMockActive] = true; + } + enableNetConnect(matcher) { + if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { + if (Array.isArray(this[kNetConnect])) { + this[kNetConnect].push(matcher); + } else { + this[kNetConnect] = [matcher]; + } + } else if (typeof matcher === "undefined") { + this[kNetConnect] = true; + } else { + throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); + } + } + disableNetConnect() { + 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]; + } + [kMockAgentSet](origin, dispatcher) { + this[kClients].set(origin, 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); + } + [kMockAgentGet](origin) { + const client = this[kClients].get(origin); + if (client) { + return client; + } + if (typeof origin !== "string") { + const dispatcher = this[kFactory]("http://localhost:9999"); + this[kMockAgentSet](origin, dispatcher); + return dispatcher; + } + for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) { + 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]; + } + pendingInterceptors() { + const mockAgentClients = this[kClients]; + return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + } + 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(` +${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: + +${pendingInterceptorsFormatter.format(pending)} +`.trim()); + } + }; + module2.exports = MockAgent; + } +}); + +// node_modules/undici/lib/global.js +var require_global2 = __commonJS({ + "node_modules/undici/lib/global.js"(exports2, 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()); + } + function setGlobalDispatcher(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]; + } + module2.exports = { + setGlobalDispatcher, + getGlobalDispatcher + }; + } +}); + +// node_modules/undici/lib/handler/decorator-handler.js +var require_decorator_handler = __commonJS({ + "node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) { + "use strict"; + module2.exports = class DecoratorHandler { + #handler; + constructor(handler2) { + if (typeof handler2 !== "object" || handler2 === null) { + throw new TypeError("handler must be an object"); + } + this.#handler = handler2; + } + onConnect(...args) { + return this.#handler.onConnect?.(...args); + } + onError(...args) { + return this.#handler.onError?.(...args); + } + onUpgrade(...args) { + return this.#handler.onUpgrade?.(...args); + } + onResponseStarted(...args) { + return this.#handler.onResponseStarted?.(...args); + } + onHeaders(...args) { + return this.#handler.onHeaders?.(...args); + } + onData(...args) { + return this.#handler.onData?.(...args); + } + onComplete(...args) { + return this.#handler.onComplete?.(...args); + } + onBodySent(...args) { + return this.#handler.onBodySent?.(...args); + } + }; + } +}); + +// node_modules/undici/lib/interceptor/redirect.js +var require_redirect = __commonJS({ + "node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) { + "use strict"; + var RedirectHandler = require_redirect_handler(); + module2.exports = (opts) => { + const globalMaxRedirections = opts?.maxRedirections; + return (dispatch) => { + return function redirectInterceptor(opts2, handler2) { + const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2; + if (!maxRedirections) { + return dispatch(opts2, handler2); + } + const redirectHandler = new RedirectHandler( + dispatch, + maxRedirections, + opts2, + handler2 + ); + return dispatch(baseOpts, redirectHandler); + }; + }; + }; + } +}); + +// node_modules/undici/lib/interceptor/retry.js +var require_retry = __commonJS({ + "node_modules/undici/lib/interceptor/retry.js"(exports2, module2) { + "use strict"; + var RetryHandler = require_retry_handler(); + module2.exports = (globalOpts) => { + return (dispatch) => { + return function retryInterceptor(opts, handler2) { + return dispatch( + opts, + new RetryHandler( + { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } }, + { + handler: handler2, + dispatch + } + ) + ); + }; + }; + }; + } +}); + +// node_modules/undici/lib/interceptor/dump.js +var require_dump = __commonJS({ + "node_modules/undici/lib/interceptor/dump.js"(exports2, module2) { + "use strict"; + var util = require_util(); + var { InvalidArgumentError, RequestAbortedError } = require_errors(); + var DecoratorHandler = require_decorator_handler(); + var DumpHandler = class extends DecoratorHandler { + #maxSize = 1024 * 1024; + #abort = null; + #dumped = false; + #aborted = false; + #size = 0; + #reason = null; + #handler = null; + constructor({ maxSize }, handler2) { + super(handler2); + if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) { + throw new InvalidArgumentError("maxSize must be a number greater than 0"); + } + this.#maxSize = maxSize ?? this.#maxSize; + this.#handler = handler2; + } + onConnect(abort) { + this.#abort = abort; + this.#handler.onConnect(this.#customAbort.bind(this)); + } + #customAbort(reason) { + this.#aborted = true; + this.#reason = reason; + } + // TODO: will require adjustment after new hooks are out + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const headers = util.parseHeaders(rawHeaders); + const contentLength = headers["content-length"]; + if (contentLength != null && contentLength > this.#maxSize) { + throw new RequestAbortedError( + `Response size (${contentLength}) larger than maxSize (${this.#maxSize})` + ); + } + if (this.#aborted) { + return true; + } + return this.#handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + onError(err) { + if (this.#dumped) { + return; + } + err = this.#reason ?? err; + this.#handler.onError(err); + } + onData(chunk) { + this.#size = this.#size + chunk.length; + if (this.#size >= this.#maxSize) { + this.#dumped = true; + if (this.#aborted) { + this.#handler.onError(this.#reason); + } else { + this.#handler.onComplete([]); + } + } + return true; + } + onComplete(trailers) { + if (this.#dumped) { + return; + } + if (this.#aborted) { + this.#handler.onError(this.reason); + return; + } + this.#handler.onComplete(trailers); + } + }; + function createDumpInterceptor({ maxSize: defaultMaxSize } = { + maxSize: 1024 * 1024 + }) { + return (dispatch) => { + return function Intercept(opts, handler2) { + const { dumpMaxSize = defaultMaxSize } = opts; + const dumpHandler = new DumpHandler( + { maxSize: dumpMaxSize }, + handler2 + ); + return dispatch(opts, dumpHandler); + }; + }; + } + module2.exports = createDumpInterceptor; + } +}); + +// node_modules/undici/lib/interceptor/dns.js +var require_dns = __commonJS({ + "node_modules/undici/lib/interceptor/dns.js"(exports2, module2) { + "use strict"; + var { isIP } = require("node:net"); + var { lookup } = require("node:dns"); + var DecoratorHandler = require_decorator_handler(); + var { InvalidArgumentError, InformationalError } = require_errors(); + var maxInt = Math.pow(2, 31) - 1; + var DNSInstance = class { + #maxTTL = 0; + #maxItems = 0; + #records = /* @__PURE__ */ new Map(); + dualStack = true; + affinity = null; + lookup = null; + pick = null; + constructor(opts) { + this.#maxTTL = opts.maxTTL; + this.#maxItems = opts.maxItems; + this.dualStack = opts.dualStack; + this.affinity = opts.affinity; + this.lookup = opts.lookup ?? this.#defaultLookup; + this.pick = opts.pick ?? this.#defaultPick; + } + get full() { + return this.#records.size === this.#maxItems; + } + runLookup(origin, opts, cb) { + const ips = this.#records.get(origin.hostname); + if (ips == null && this.full) { + cb(null, origin.origin); + return; + } + const newOpts = { + affinity: this.affinity, + dualStack: this.dualStack, + lookup: this.lookup, + pick: this.pick, + ...opts.dns, + maxTTL: this.#maxTTL, + maxItems: this.#maxItems + }; + if (ips == null) { + this.lookup(origin, newOpts, (err, addresses) => { + if (err || addresses == null || addresses.length === 0) { + cb(err ?? new InformationalError("No DNS entries found")); + return; + } + this.setRecords(origin, addresses); + const records = this.#records.get(origin.hostname); + const ip = this.pick( + origin, + records, + newOpts.affinity + ); + let port; + if (typeof ip.port === "number") { + port = `:${ip.port}`; + } else if (origin.port !== "") { + port = `:${origin.port}`; + } else { + port = ""; + } + cb( + null, + `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` + ); + }); + } else { + const ip = this.pick( + origin, + ips, + newOpts.affinity + ); + if (ip == null) { + this.#records.delete(origin.hostname); + this.runLookup(origin, opts, cb); + return; + } + let port; + if (typeof ip.port === "number") { + port = `:${ip.port}`; + } else if (origin.port !== "") { + port = `:${origin.port}`; + } else { + port = ""; + } + cb( + null, + `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` + ); + } + } + #defaultLookup(origin, opts, cb) { + lookup( + origin.hostname, + { + all: true, + family: this.dualStack === false ? this.affinity : 0, + order: "ipv4first" + }, + (err, addresses) => { + if (err) { + return cb(err); + } + const results = /* @__PURE__ */ new Map(); + for (const addr of addresses) { + results.set(`${addr.address}:${addr.family}`, addr); + } + cb(null, results.values()); + } + ); + } + #defaultPick(origin, hostnameRecords, affinity) { + let ip = null; + const { records, offset } = hostnameRecords; + let family; + if (this.dualStack) { + if (affinity == null) { + if (offset == null || offset === maxInt) { + hostnameRecords.offset = 0; + affinity = 4; + } else { + hostnameRecords.offset++; + affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4; + } + } + if (records[affinity] != null && records[affinity].ips.length > 0) { + family = records[affinity]; + } else { + family = records[affinity === 4 ? 6 : 4]; + } + } else { + family = records[affinity]; + } + if (family == null || family.ips.length === 0) { + return ip; + } + if (family.offset == null || family.offset === maxInt) { + family.offset = 0; + } else { + family.offset++; + } + const position = family.offset % family.ips.length; + ip = family.ips[position] ?? null; + if (ip == null) { + return ip; + } + if (Date.now() - ip.timestamp > ip.ttl) { + family.ips.splice(position, 1); + return this.pick(origin, hostnameRecords, affinity); + } + return ip; + } + setRecords(origin, addresses) { + const timestamp = Date.now(); + const records = { records: { 4: null, 6: null } }; + for (const record of addresses) { + record.timestamp = timestamp; + if (typeof record.ttl === "number") { + record.ttl = Math.min(record.ttl, this.#maxTTL); + } else { + record.ttl = this.#maxTTL; + } + const familyRecords = records.records[record.family] ?? { ips: [] }; + familyRecords.ips.push(record); + records.records[record.family] = familyRecords; + } + this.#records.set(origin.hostname, records); + } + getHandler(meta, opts) { + return new DNSDispatchHandler(this, meta, opts); + } + }; + var DNSDispatchHandler = class extends DecoratorHandler { + #state = null; + #opts = null; + #dispatch = null; + #handler = null; + #origin = null; + constructor(state, { origin, handler: handler2, dispatch }, opts) { + super(handler2); + this.#origin = origin; + this.#handler = handler2; + this.#opts = { ...opts }; + this.#state = state; + this.#dispatch = dispatch; + } + onError(err) { + switch (err.code) { + case "ETIMEDOUT": + case "ECONNREFUSED": { + if (this.#state.dualStack) { + this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => { + if (err2) { + return this.#handler.onError(err2); + } + const dispatchOpts = { + ...this.#opts, + origin: newOrigin + }; + this.#dispatch(dispatchOpts, this); + }); + return; + } + this.#handler.onError(err); + return; + } + case "ENOTFOUND": + this.#state.deleteRecord(this.#origin); + // eslint-disable-next-line no-fallthrough + default: + this.#handler.onError(err); + break; + } + } + }; + module2.exports = (interceptorOpts) => { + if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) { + throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number"); + } + if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) { + throw new InvalidArgumentError( + "Invalid maxItems. Must be a positive number and greater than zero" + ); + } + if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) { + throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6"); + } + if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") { + throw new InvalidArgumentError("Invalid dualStack. Must be a boolean"); + } + if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") { + throw new InvalidArgumentError("Invalid lookup. Must be a function"); + } + if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") { + throw new InvalidArgumentError("Invalid pick. Must be a function"); + } + const dualStack = interceptorOpts?.dualStack ?? true; + let affinity; + if (dualStack) { + affinity = interceptorOpts?.affinity ?? null; + } else { + affinity = interceptorOpts?.affinity ?? 4; + } + const opts = { + maxTTL: interceptorOpts?.maxTTL ?? 1e4, + // Expressed in ms + lookup: interceptorOpts?.lookup ?? null, + pick: interceptorOpts?.pick ?? null, + dualStack, + affinity, + maxItems: interceptorOpts?.maxItems ?? Infinity + }; + const instance = new DNSInstance(opts); + return (dispatch) => { + return function dnsInterceptor(origDispatchOpts, handler2) { + const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin); + if (isIP(origin.hostname) !== 0) { + return dispatch(origDispatchOpts, handler2); + } + instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => { + if (err) { + return handler2.onError(err); + } + let dispatchOpts = null; + dispatchOpts = { + ...origDispatchOpts, + servername: origin.hostname, + // For SNI on TLS + origin: newOrigin, + headers: { + host: origin.hostname, + ...origDispatchOpts.headers + } + }; + dispatch( + dispatchOpts, + instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts) + ); + }); + return true; + }; + }; + }; + } +}); + +// node_modules/undici/lib/web/fetch/headers.js +var require_headers = __commonJS({ + "node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) { + "use strict"; + var { kConstruct } = require_symbols(); + var { kEnumerableProperty } = require_util(); + var { + iteratorMixin, + isValidHeaderName, + isValidHeaderValue + } = require_util2(); + var { webidl } = require_webidl(); + var assert = require("node:assert"); + var util = require("node:util"); + var kHeadersMap = Symbol("headers map"); + var kHeadersSortedMap = Symbol("headers map sorted"); + function isHTTPWhiteSpaceCharCode(code) { + return code === 10 || code === 13 || code === 9 || code === 32; + } + function headerValueNormalize(potentialValue) { + let i = 0; + let j = potentialValue.length; + while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j; + while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i; + return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j); + } + function fill(headers, object) { + if (Array.isArray(object)) { + for (let i = 0; i < object.length; ++i) { + const header = object[i]; + if (header.length !== 2) { + throw webidl.errors.exception({ + header: "Headers constructor", + message: `expected name/value pair to be length 2, found ${header.length}.` + }); + } + appendHeader(headers, header[0], header[1]); + } + } else if (typeof object === "object" && object !== null) { + const keys = Object.keys(object); + for (let i = 0; i < keys.length; ++i) { + appendHeader(headers, keys[i], object[keys[i]]); + } + } else { + throw webidl.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence>", "record"] + }); + } + } + function appendHeader(headers, name, value) { + value = headerValueNormalize(value); + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.append", + value: name, + type: "header name" + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.append", + value, + type: "header value" + }); + } + if (getHeadersGuard(headers) === "immutable") { + throw new TypeError("immutable"); + } + return getHeadersList(headers).append(name, value, false); + } + function compareHeaderName(a, b) { + return a[0] < b[0] ? -1 : 1; + } + var HeadersList = class _HeadersList { + /** @type {[string, string][]|null} */ + cookies = null; + constructor(init) { + if (init instanceof _HeadersList) { + this[kHeadersMap] = new Map(init[kHeadersMap]); + this[kHeadersSortedMap] = init[kHeadersSortedMap]; + this.cookies = init.cookies === null ? null : [...init.cookies]; + } else { + this[kHeadersMap] = new Map(init); + this[kHeadersSortedMap] = null; + } + } + /** + * @see https://fetch.spec.whatwg.org/#header-list-contains + * @param {string} name + * @param {boolean} isLowerCase + */ + contains(name, isLowerCase) { + return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase()); + } + clear() { + this[kHeadersMap].clear(); + this[kHeadersSortedMap] = null; + this.cookies = null; + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-append + * @param {string} name + * @param {string} value + * @param {boolean} isLowerCase + */ + append(name, value, isLowerCase) { + this[kHeadersSortedMap] = null; + const lowercaseName = isLowerCase ? name : name.toLowerCase(); + const exists = this[kHeadersMap].get(lowercaseName); + if (exists) { + const delimiter = lowercaseName === "cookie" ? "; " : ", "; + this[kHeadersMap].set(lowercaseName, { + name: exists.name, + value: `${exists.value}${delimiter}${value}` + }); + } else { + this[kHeadersMap].set(lowercaseName, { name, value }); + } + if (lowercaseName === "set-cookie") { + (this.cookies ??= []).push(value); + } + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-set + * @param {string} name + * @param {string} value + * @param {boolean} isLowerCase + */ + set(name, value, isLowerCase) { + this[kHeadersSortedMap] = null; + const lowercaseName = isLowerCase ? name : name.toLowerCase(); + if (lowercaseName === "set-cookie") { + this.cookies = [value]; + } + this[kHeadersMap].set(lowercaseName, { name, value }); + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-delete + * @param {string} name + * @param {boolean} isLowerCase + */ + delete(name, isLowerCase) { + this[kHeadersSortedMap] = null; + if (!isLowerCase) name = name.toLowerCase(); + if (name === "set-cookie") { + this.cookies = null; + } + this[kHeadersMap].delete(name); + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-get + * @param {string} name + * @param {boolean} isLowerCase + * @returns {string | null} + */ + get(name, isLowerCase) { + return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null; + } + *[Symbol.iterator]() { + for (const { 0: name, 1: { value } } of this[kHeadersMap]) { + yield [name, value]; + } + } + get entries() { + const headers = {}; + if (this[kHeadersMap].size !== 0) { + for (const { name, value } of this[kHeadersMap].values()) { + headers[name] = value; + } + } + return headers; + } + rawValues() { + return this[kHeadersMap].values(); + } + get entriesList() { + const headers = []; + if (this[kHeadersMap].size !== 0) { + for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) { + if (lowerName === "set-cookie") { + for (const cookie of this.cookies) { + headers.push([name, cookie]); + } + } else { + headers.push([name, value]); + } + } + } + return headers; + } + // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set + toSortedArray() { + const size = this[kHeadersMap].size; + const array = new Array(size); + if (size <= 32) { + if (size === 0) { + return array; + } + const iterator2 = this[kHeadersMap][Symbol.iterator](); + const firstValue = iterator2.next().value; + array[0] = [firstValue[0], firstValue[1].value]; + assert(firstValue[1].value !== null); + for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) { + value = iterator2.next().value; + x = array[i] = [value[0], value[1].value]; + assert(x[1] !== null); + left = 0; + right = i; + while (left < right) { + pivot = left + (right - left >> 1); + if (array[pivot][0] <= x[0]) { + left = pivot + 1; + } else { + right = pivot; + } + } + if (i !== pivot) { + j = i; + while (j > left) { + array[j] = array[--j]; + } + array[left] = x; + } + } + if (!iterator2.next().done) { + throw new TypeError("Unreachable"); + } + return array; + } else { + let i = 0; + for (const { 0: name, 1: { value } } of this[kHeadersMap]) { + array[i++] = [name, value]; + assert(value !== null); + } + return array.sort(compareHeaderName); + } + } + }; + var Headers = class _Headers { + #guard; + #headersList; + constructor(init = void 0) { + webidl.util.markAsUncloneable(this); + if (init === kConstruct) { + return; + } + this.#headersList = new HeadersList(); + this.#guard = "none"; + if (init !== void 0) { + init = webidl.converters.HeadersInit(init, "Headers contructor", "init"); + fill(this, init); + } + } + // https://fetch.spec.whatwg.org/#dom-headers-append + append(name, value) { + webidl.brandCheck(this, _Headers); + webidl.argumentLengthCheck(arguments, 2, "Headers.append"); + const prefix = "Headers.append"; + name = webidl.converters.ByteString(name, prefix, "name"); + value = webidl.converters.ByteString(value, prefix, "value"); + return appendHeader(this, name, value); + } + // https://fetch.spec.whatwg.org/#dom-headers-delete + delete(name) { + webidl.brandCheck(this, _Headers); + webidl.argumentLengthCheck(arguments, 1, "Headers.delete"); + const prefix = "Headers.delete"; + name = webidl.converters.ByteString(name, prefix, "name"); + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: "Headers.delete", + value: name, + type: "header name" + }); + } + if (this.#guard === "immutable") { + throw new TypeError("immutable"); + } + if (!this.#headersList.contains(name, false)) { + return; + } + this.#headersList.delete(name, false); + } + // https://fetch.spec.whatwg.org/#dom-headers-get + get(name) { + webidl.brandCheck(this, _Headers); + webidl.argumentLengthCheck(arguments, 1, "Headers.get"); + const prefix = "Headers.get"; + name = webidl.converters.ByteString(name, prefix, "name"); + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix, + value: name, + type: "header name" + }); + } + return this.#headersList.get(name, false); + } + // https://fetch.spec.whatwg.org/#dom-headers-has + has(name) { + webidl.brandCheck(this, _Headers); + webidl.argumentLengthCheck(arguments, 1, "Headers.has"); + const prefix = "Headers.has"; + name = webidl.converters.ByteString(name, prefix, "name"); + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix, + value: name, + type: "header name" + }); + } + return this.#headersList.contains(name, false); + } + // https://fetch.spec.whatwg.org/#dom-headers-set + set(name, value) { + webidl.brandCheck(this, _Headers); + webidl.argumentLengthCheck(arguments, 2, "Headers.set"); + const prefix = "Headers.set"; + name = webidl.converters.ByteString(name, prefix, "name"); + value = webidl.converters.ByteString(value, prefix, "value"); + value = headerValueNormalize(value); + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix, + value: name, + type: "header name" + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix, + value, + type: "header value" + }); + } + if (this.#guard === "immutable") { + throw new TypeError("immutable"); + } + this.#headersList.set(name, value, false); + } + // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie + getSetCookie() { + webidl.brandCheck(this, _Headers); + const list = this.#headersList.cookies; + if (list) { + return [...list]; + } + return []; + } + // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine + get [kHeadersSortedMap]() { + if (this.#headersList[kHeadersSortedMap]) { + return this.#headersList[kHeadersSortedMap]; + } + const headers = []; + const names = this.#headersList.toSortedArray(); + const cookies = this.#headersList.cookies; + if (cookies === null || cookies.length === 1) { + return this.#headersList[kHeadersSortedMap] = names; + } + for (let i = 0; i < names.length; ++i) { + const { 0: name, 1: value } = names[i]; + if (name === "set-cookie") { + for (let j = 0; j < cookies.length; ++j) { + headers.push([name, cookies[j]]); + } + } else { + headers.push([name, value]); + } + } + return this.#headersList[kHeadersSortedMap] = headers; + } + [util.inspect.custom](depth, options) { + options.depth ??= depth; + return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`; + } + static getHeadersGuard(o) { + return o.#guard; + } + static setHeadersGuard(o, guard) { + o.#guard = guard; + } + static getHeadersList(o) { + return o.#headersList; + } + static setHeadersList(o, list) { + o.#headersList = list; + } + }; + var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers; + Reflect.deleteProperty(Headers, "getHeadersGuard"); + Reflect.deleteProperty(Headers, "setHeadersGuard"); + Reflect.deleteProperty(Headers, "getHeadersList"); + Reflect.deleteProperty(Headers, "setHeadersList"); + iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1); + Object.defineProperties(Headers.prototype, { + append: kEnumerableProperty, + delete: kEnumerableProperty, + get: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, + getSetCookie: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "Headers", + configurable: true + }, + [util.inspect.custom]: { + enumerable: false + } + }); + webidl.converters.HeadersInit = function(V, prefix, argument) { + if (webidl.util.Type(V) === "Object") { + const iterator2 = Reflect.get(V, Symbol.iterator); + if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) { + try { + return getHeadersList(V).entriesList; + } catch { + } + } + if (typeof iterator2 === "function") { + return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V)); + } + return webidl.converters["record"](V, prefix, argument); + } + throw webidl.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence>", "record"] + }); + }; + module2.exports = { + fill, + // for test. + compareHeaderName, + Headers, + HeadersList, + getHeadersGuard, + setHeadersGuard, + setHeadersList, + getHeadersList + }; + } +}); + +// node_modules/undici/lib/web/fetch/response.js +var require_response = __commonJS({ + "node_modules/undici/lib/web/fetch/response.js"(exports2, module2) { + "use strict"; + var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers(); + var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body(); + var util = require_util(); + var nodeUtil = require("node:util"); + var { kEnumerableProperty } = util; + var { + isValidReasonPhrase, + isCancelled, + isAborted, + isBlobLike, + serializeJavascriptValueToJSONString, + isErrorLike, + isomorphicEncode, + environmentSettingsObject: relevantRealm + } = require_util2(); + var { + redirectStatusSet, + nullBodyStatus + } = require_constants3(); + var { kState, kHeaders } = require_symbols2(); + var { webidl } = require_webidl(); + var { FormData } = require_formdata(); + var { URLSerializer } = require_data_url(); + var { kConstruct } = require_symbols(); + var assert = require("node:assert"); + var { types } = require("node:util"); + var textEncoder = new TextEncoder("utf-8"); + var Response = class _Response { + // Creates network error Response. + static error() { + const responseObject = fromInnerResponse(makeNetworkError(), "immutable"); + return responseObject; + } + // https://fetch.spec.whatwg.org/#dom-response-json + static json(data, init = {}) { + webidl.argumentLengthCheck(arguments, 1, "Response.json"); + if (init !== null) { + init = webidl.converters.ResponseInit(init); + } + const bytes = textEncoder.encode( + serializeJavascriptValueToJSONString(data) + ); + const body = extractBody(bytes); + const responseObject = fromInnerResponse(makeResponse({}), "response"); + 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) { + webidl.argumentLengthCheck(arguments, 1, "Response.redirect"); + url = webidl.converters.USVString(url); + status = webidl.converters["unsigned short"](status); + let parsedURL; + try { + parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl); + } catch (err) { + throw new TypeError(`Failed to parse URL from ${url}`, { cause: err }); + } + if (!redirectStatusSet.has(status)) { + throw new RangeError(`Invalid status code ${status}`); + } + const responseObject = fromInnerResponse(makeResponse({}), "immutable"); + responseObject[kState].status = status; + const value = isomorphicEncode(URLSerializer(parsedURL)); + responseObject[kState].headersList.append("location", value, true); + return responseObject; + } + // https://fetch.spec.whatwg.org/#dom-response + constructor(body = null, init = {}) { + webidl.util.markAsUncloneable(this); + if (body === kConstruct) { + return; + } + if (body !== null) { + body = webidl.converters.BodyInit(body); + } + init = webidl.converters.ResponseInit(init); + this[kState] = makeResponse({}); + this[kHeaders] = new Headers(kConstruct); + setHeadersGuard(this[kHeaders], "response"); + setHeadersList(this[kHeaders], this[kState].headersList); + let bodyWithType = null; + if (body != null) { + const [extractedBody, type] = extractBody(body); + bodyWithType = { body: extractedBody, type }; + } + initializeResponse(this, init, bodyWithType); + } + // Returns response’s type, e.g., "cors". + get 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; + if (url === null) { + return ""; + } + return URLSerializer(url, true); + } + // Returns whether response was obtained through a redirect. + get redirected() { + webidl.brandCheck(this, _Response); + return this[kState].urlList.length > 1; + } + // Returns response’s status. + get 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; + } + // Returns response’s status message. + get statusText() { + webidl.brandCheck(this, _Response); + return this[kState].statusText; + } + // Returns response’s headers as Headers. + get headers() { + webidl.brandCheck(this, _Response); + return this[kHeaders]; + } + get body() { + 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); + } + // Returns a clone of response. + clone() { + webidl.brandCheck(this, _Response); + if (bodyUnusable(this)) { + throw webidl.errors.exception({ + header: "Response.clone", + message: "Body has already been consumed." + }); + } + const clonedResponse = cloneResponse(this[kState]); + if (hasFinalizationRegistry && this[kState].body?.stream) { + streamRegistry.register(this, new WeakRef(this[kState].body.stream)); + } + return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders])); + } + [nodeUtil.inspect.custom](depth, options) { + if (options.depth === null) { + options.depth = 2; + } + options.colors ??= true; + const properties = { + status: this.status, + statusText: this.statusText, + headers: this.headers, + body: this.body, + bodyUsed: this.bodyUsed, + ok: this.ok, + redirected: this.redirected, + type: this.type, + url: this.url + }; + return `Response ${nodeUtil.formatWithOptions(options, properties)}`; + } + }; + mixinBody(Response); + Object.defineProperties(Response.prototype, { + type: kEnumerableProperty, + url: kEnumerableProperty, + status: kEnumerableProperty, + ok: kEnumerableProperty, + redirected: kEnumerableProperty, + statusText: kEnumerableProperty, + headers: kEnumerableProperty, + clone: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + [Symbol.toStringTag]: { + 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 }); + if (response.body != null) { + newResponse.body = cloneBody(newResponse, response.body); + } + return newResponse; + } + function makeResponse(init) { + return { + aborted: false, + rangeRequested: false, + timingAllowPassed: false, + requestIncludesCredentials: false, + type: "default", + status: 200, + timingInfo: null, + cacheState: "", + statusText: "", + ...init, + headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(), + urlList: init?.urlList ? [...init.urlList] : [] + }; + } + function makeNetworkError(reason) { + const isError = isErrorLike(reason); + return makeResponse({ + type: "error", + status: 0, + error: isError ? reason : new Error(reason ? String(reason) : reason), + aborted: reason && reason.name === "AbortError" + }); + } + function isNetworkError(response) { + return ( + // A network error is a response whose type is "error", + response.type === "error" && // status is 0 + response.status === 0 + ); + } + function makeFilteredResponse(response, state) { + state = { + internalResponse: response, + ...state + }; + return new Proxy(response, { + get(target, p) { + return p in state ? state[p] : target[p]; + }, + set(target, p, value) { + assert(!(p in state)); + target[p] = value; + return true; + } + }); + } + function filterResponse(response, type) { + if (type === "basic") { + return makeFilteredResponse(response, { + type: "basic", + headersList: response.headersList + }); + } else if (type === "cors") { + return makeFilteredResponse(response, { + type: "cors", + headersList: response.headersList + }); + } else if (type === "opaque") { + return makeFilteredResponse(response, { + type: "opaque", + urlList: Object.freeze([]), + status: 0, + statusText: "", + body: null + }); + } else if (type === "opaqueredirect") { + return makeFilteredResponse(response, { + type: "opaqueredirect", + status: 0, + statusText: "", + headersList: [], + body: null + }); + } else { + assert(false); + } + } + function makeAppropriateNetworkError(fetchParams, err = null) { + assert(isCancelled(fetchParams)); + return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("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.'); + } + if ("statusText" in init && init.statusText != null) { + if (!isValidReasonPhrase(String(init.statusText))) { + throw new TypeError("Invalid statusText"); + } + } + 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 ("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}` + }); + } + response[kState].body = body.body; + if (body.type != null && !response[kState].headersList.contains("content-type", true)) { + response[kState].headersList.append("content-type", body.type, true); + } + } + } + function fromInnerResponse(innerResponse, guard) { + const response = new Response(kConstruct); + response[kState] = innerResponse; + response[kHeaders] = new Headers(kConstruct); + setHeadersList(response[kHeaders], innerResponse.headersList); + setHeadersGuard(response[kHeaders], guard); + if (hasFinalizationRegistry && innerResponse.body?.stream) { + streamRegistry.register(response, new WeakRef(innerResponse.body.stream)); + } + return response; + } + webidl.converters.ReadableStream = webidl.interfaceConverter( + ReadableStream + ); + webidl.converters.FormData = webidl.interfaceConverter( + FormData + ); + webidl.converters.URLSearchParams = webidl.interfaceConverter( + URLSearchParams + ); + webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) { + if (typeof V === "string") { + return webidl.converters.USVString(V, prefix, name); + } + if (isBlobLike(V)) { + return webidl.converters.Blob(V, prefix, name, { strict: false }); + } + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { + return webidl.converters.BufferSource(V, prefix, name); + } + if (util.isFormDataLike(V)) { + return webidl.converters.FormData(V, prefix, name, { strict: false }); + } + if (V instanceof URLSearchParams) { + return webidl.converters.URLSearchParams(V, prefix, name); + } + return webidl.converters.DOMString(V, prefix, name); + }; + webidl.converters.BodyInit = function(V, prefix, argument) { + if (V instanceof ReadableStream) { + return webidl.converters.ReadableStream(V, prefix, argument); + } + if (V?.[Symbol.asyncIterator]) { + return V; + } + return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument); + }; + webidl.converters.ResponseInit = webidl.dictionaryConverter([ + { + key: "status", + converter: webidl.converters["unsigned short"], + defaultValue: () => 200 + }, + { + key: "statusText", + converter: webidl.converters.ByteString, + defaultValue: () => "" + }, + { + key: "headers", + converter: webidl.converters.HeadersInit + } + ]); + module2.exports = { + isNetworkError, + makeNetworkError, + makeResponse, + makeAppropriateNetworkError, + filterResponse, + Response, + cloneResponse, + fromInnerResponse + }; + } +}); + +// node_modules/undici/lib/web/fetch/dispatcher-weakref.js +var require_dispatcher_weakref = __commonJS({ + "node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) { + "use strict"; + var { kConnected, kSize } = require_symbols(); + var CompatWeakRef = class { + constructor(value) { + this.value = value; + } + deref() { + return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; + } + }; + var CompatFinalizer = class { + constructor(finalizer) { + this.finalizer = finalizer; + } + register(dispatcher, key) { + if (dispatcher.on) { + dispatcher.on("disconnect", () => { + if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { + this.finalizer(key); + } + }); + } + } + unregister(key) { + } + }; + module2.exports = function() { + if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) { + process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"); + return { + WeakRef: CompatWeakRef, + FinalizationRegistry: CompatFinalizer + }; + } + return { WeakRef, FinalizationRegistry }; + }; + } +}); + +// node_modules/undici/lib/web/fetch/request.js +var require_request2 = __commonJS({ + "node_modules/undici/lib/web/fetch/request.js"(exports2, module2) { + "use strict"; + var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body(); + var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers(); + var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); + var util = require_util(); + var nodeUtil = require("node:util"); + var { + isValidHTTPToken, + sameOrigin, + environmentSettingsObject + } = require_util2(); + var { + forbiddenMethodsSet, + corsSafeListedMethodsSet, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + requestDuplex + } = require_constants3(); + var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util; + var { kHeaders, kSignal, kState, kDispatcher } = require_symbols2(); + var { webidl } = require_webidl(); + var { URLSerializer } = require_data_url(); + var { kConstruct } = require_symbols(); + var assert = require("node:assert"); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events"); + var kAbortController = Symbol("abortController"); + var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { + signal.removeEventListener("abort", abort); + }); + var dependentControllerMap = /* @__PURE__ */ new WeakMap(); + function buildAbort(acRef) { + return abort; + function abort() { + const ac = acRef.deref(); + if (ac !== void 0) { + requestFinalizer.unregister(abort); + this.removeEventListener("abort", abort); + ac.abort(this.reason); + const controllerList = dependentControllerMap.get(ac.signal); + if (controllerList !== void 0) { + if (controllerList.size !== 0) { + for (const ref of controllerList) { + const ctrl = ref.deref(); + if (ctrl !== void 0) { + ctrl.abort(this.reason); + } + } + controllerList.clear(); + } + dependentControllerMap.delete(ac.signal); + } + } + } + } + var patchMethodWarning = false; + var Request = class _Request { + // https://fetch.spec.whatwg.org/#dom-request + constructor(input, init = {}) { + webidl.util.markAsUncloneable(this); + if (input === kConstruct) { + return; + } + const prefix = "Request constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + input = webidl.converters.RequestInfo(input, prefix, "input"); + init = webidl.converters.RequestInit(init, prefix, "init"); + let request2 = null; + let fallbackMode = null; + const baseUrl2 = environmentSettingsObject.settingsObject.baseUrl; + let signal = null; + if (typeof input === "string") { + this[kDispatcher] = init.dispatcher; + let parsedURL; + try { + parsedURL = new URL(input, baseUrl2); + } catch (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 + ); + } + request2 = makeRequest({ urlList: [parsedURL] }); + fallbackMode = "cors"; + } else { + this[kDispatcher] = init.dispatcher || input[kDispatcher]; + assert(input instanceof _Request); + request2 = input[kState]; + signal = input[kSignal]; + } + const origin = environmentSettingsObject.settingsObject.origin; + let window = "client"; + if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) { + window = request2.window; + } + if (init.window != null) { + throw new TypeError(`'window' option '${window}' must be null`); + } + if ("window" in init) { + window = "no-window"; + } + request2 = makeRequest({ + // URL request’s URL. + // undici implementation note: this is set as the first item in request's urlList in makeRequest + // method request’s method. + method: request2.method, + // header list A copy of request’s header list. + // undici implementation note: headersList is cloned in makeRequest + headersList: request2.headersList, + // unsafe-request flag Set. + unsafeRequest: request2.unsafeRequest, + // client This’s relevant settings object. + client: environmentSettingsObject.settingsObject, + // window window. + window, + // priority request’s priority. + priority: request2.priority, + // origin request’s origin. The propagation of the origin is only significant for navigation requests + // being handled by a service worker. In this scenario a request can have an origin that is different + // from the current client. + origin: request2.origin, + // referrer request’s referrer. + referrer: request2.referrer, + // referrer policy request’s referrer policy. + referrerPolicy: request2.referrerPolicy, + // mode request’s mode. + mode: request2.mode, + // credentials mode request’s credentials mode. + credentials: request2.credentials, + // cache mode request’s cache mode. + cache: request2.cache, + // redirect mode request’s redirect mode. + redirect: request2.redirect, + // integrity metadata request’s integrity metadata. + integrity: request2.integrity, + // keepalive request’s keepalive. + keepalive: request2.keepalive, + // reload-navigation flag request’s reload-navigation flag. + reloadNavigation: request2.reloadNavigation, + // history-navigation flag request’s history-navigation flag. + historyNavigation: request2.historyNavigation, + // URL list A clone of request’s URL list. + urlList: [...request2.urlList] + }); + const initHasKey = Object.keys(init).length !== 0; + if (initHasKey) { + if (request2.mode === "navigate") { + request2.mode = "same-origin"; + } + request2.reloadNavigation = false; + request2.historyNavigation = false; + request2.origin = "client"; + request2.referrer = "client"; + request2.referrerPolicy = ""; + request2.url = request2.urlList[request2.urlList.length - 1]; + request2.urlList = [request2.url]; + } + if (init.referrer !== void 0) { + const referrer = init.referrer; + if (referrer === "") { + request2.referrer = "no-referrer"; + } else { + let parsedReferrer; + try { + parsedReferrer = new URL(referrer, baseUrl2); + } catch (err) { + throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); + } + if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) { + request2.referrer = "client"; + } else { + request2.referrer = parsedReferrer; + } + } + } + if (init.referrerPolicy !== void 0) { + request2.referrerPolicy = init.referrerPolicy; + } + let mode; + if (init.mode !== void 0) { + mode = init.mode; + } else { + mode = fallbackMode; + } + if (mode === "navigate") { + throw webidl.errors.exception({ + header: "Request constructor", + message: "invalid request mode navigate." + }); + } + if (mode != null) { + request2.mode = mode; + } + if (init.credentials !== void 0) { + request2.credentials = init.credentials; + } + if (init.cache !== void 0) { + request2.cache = init.cache; + } + if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") { + throw new TypeError( + "'only-if-cached' can be set only with 'same-origin' mode" + ); + } + if (init.redirect !== void 0) { + request2.redirect = init.redirect; + } + if (init.integrity != null) { + request2.integrity = String(init.integrity); + } + if (init.keepalive !== void 0) { + request2.keepalive = Boolean(init.keepalive); + } + if (init.method !== void 0) { + let method = init.method; + const mayBeNormalized = normalizedMethodRecords[method]; + if (mayBeNormalized !== void 0) { + request2.method = mayBeNormalized; + } else { + if (!isValidHTTPToken(method)) { + throw new TypeError(`'${method}' is not a valid HTTP method.`); + } + const upperCase = method.toUpperCase(); + if (forbiddenMethodsSet.has(upperCase)) { + throw new TypeError(`'${method}' HTTP method is unsupported.`); + } + method = normalizedMethodRecordsBase[upperCase] ?? method; + request2.method = method; + } + if (!patchMethodWarning && request2.method === "patch") { + process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.", { + code: "UNDICI-FETCH-patch" + }); + patchMethodWarning = true; + } + } + if (init.signal !== void 0) { + signal = init.signal; + } + this[kState] = request2; + const ac = new AbortController(); + this[kSignal] = ac.signal; + if (signal != null) { + 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); + } else { + this[kAbortController] = ac; + const acRef = new WeakRef(ac); + const abort = buildAbort(acRef); + try { + if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { + setMaxListeners(1500, signal); + } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { + setMaxListeners(1500, signal); + } + } catch { + } + util.addAbortListener(signal, abort); + requestFinalizer.register(ac, { signal, abort }, abort); + } + } + this[kHeaders] = new Headers(kConstruct); + setHeadersList(this[kHeaders], request2.headersList); + setHeadersGuard(this[kHeaders], "request"); + if (mode === "no-cors") { + if (!corsSafeListedMethodsSet.has(request2.method)) { + throw new TypeError( + `'${request2.method} is unsupported in no-cors mode.` + ); + } + setHeadersGuard(this[kHeaders], "request-no-cors"); + } + if (initHasKey) { + const headersList = getHeadersList(this[kHeaders]); + const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); + headersList.clear(); + if (headers instanceof HeadersList) { + for (const { name, value } of headers.rawValues()) { + headersList.append(name, value, false); + } + headersList.cookies = headers.cookies; + } else { + fillHeaders(this[kHeaders], headers); + } + } + const inputBody = input instanceof _Request ? input[kState].body : null; + if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body."); + } + let initBody = null; + if (init.body != null) { + const [extractedBody, contentType] = extractBody( + init.body, + request2.keepalive + ); + initBody = extractedBody; + if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) { + this[kHeaders].append("content-type", contentType); + } + } + 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."); + } + if (request2.mode !== "same-origin" && request2.mode !== "cors") { + throw new TypeError( + 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' + ); + } + request2.useCORSPreflightFlag = true; + } + let finalBody = inputOrInitBody; + if (initBody == null && inputBody != null) { + if (bodyUnusable(input)) { + throw new TypeError( + "Cannot construct a Request with a Request object that has already been used." + ); + } + const identityTransform = new TransformStream(); + inputBody.stream.pipeThrough(identityTransform); + finalBody = { + source: inputBody.source, + length: inputBody.length, + stream: identityTransform.readable + }; + } + this[kState].body = finalBody; + } + // Returns request’s HTTP method, which is "GET" by default. + get 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); + } + // 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]; + } + // Returns the kind of resource requested by request, e.g., "document" + // or "script". + get 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 + // "about:client" when defaulting to the global’s default. This is used + // 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 ""; + } + if (this[kState].referrer === "client") { + return "about:client"; + } + 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; + } + // 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; + } + // 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; + } + // 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; + } + // 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; + } + // 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; + } + // 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; + } + // Returns a boolean indicating whether or not request is for a reload + // navigation. + get isReloadNavigation() { + 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-forward navigation). + get isHistoryNavigation() { + 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]; + } + get body() { + 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); + } + get duplex() { + webidl.brandCheck(this, _Request); + return "half"; + } + // Returns a clone of request. + clone() { + webidl.brandCheck(this, _Request); + if (bodyUnusable(this)) { + throw new TypeError("unusable"); + } + const clonedRequest = cloneRequest(this[kState]); + const ac = new AbortController(); + if (this.signal.aborted) { + ac.abort(this.signal.reason); + } else { + let list = dependentControllerMap.get(this.signal); + if (list === void 0) { + list = /* @__PURE__ */ new Set(); + dependentControllerMap.set(this.signal, list); + } + const acRef = new WeakRef(ac); + list.add(acRef); + util.addAbortListener( + ac.signal, + buildAbort(acRef) + ); + } + return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders])); + } + [nodeUtil.inspect.custom](depth, options) { + if (options.depth === null) { + options.depth = 2; + } + options.colors ??= true; + const properties = { + method: this.method, + url: this.url, + headers: this.headers, + destination: this.destination, + referrer: this.referrer, + referrerPolicy: this.referrerPolicy, + mode: this.mode, + credentials: this.credentials, + cache: this.cache, + redirect: this.redirect, + integrity: this.integrity, + keepalive: this.keepalive, + isReloadNavigation: this.isReloadNavigation, + isHistoryNavigation: this.isHistoryNavigation, + signal: this.signal + }; + return `Request ${nodeUtil.formatWithOptions(options, properties)}`; + } + }; + mixinBody(Request); + function makeRequest(init) { + return { + method: init.method ?? "GET", + localURLsOnly: init.localURLsOnly ?? false, + unsafeRequest: init.unsafeRequest ?? false, + body: init.body ?? null, + client: init.client ?? null, + reservedClient: init.reservedClient ?? null, + replacesClientId: init.replacesClientId ?? "", + window: init.window ?? "client", + keepalive: init.keepalive ?? false, + serviceWorkers: init.serviceWorkers ?? "all", + initiator: init.initiator ?? "", + destination: init.destination ?? "", + priority: init.priority ?? null, + origin: init.origin ?? "client", + policyContainer: init.policyContainer ?? "client", + referrer: init.referrer ?? "client", + referrerPolicy: init.referrerPolicy ?? "", + mode: init.mode ?? "no-cors", + useCORSPreflightFlag: init.useCORSPreflightFlag ?? false, + credentials: init.credentials ?? "same-origin", + useCredentials: init.useCredentials ?? false, + cache: init.cache ?? "default", + redirect: init.redirect ?? "follow", + integrity: init.integrity ?? "", + cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "", + parserMetadata: init.parserMetadata ?? "", + reloadNavigation: init.reloadNavigation ?? false, + historyNavigation: init.historyNavigation ?? false, + userActivation: init.userActivation ?? false, + taintedOrigin: init.taintedOrigin ?? false, + redirectCount: init.redirectCount ?? 0, + responseTainting: init.responseTainting ?? "basic", + preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false, + done: init.done ?? false, + timingAllowFailed: init.timingAllowFailed ?? false, + urlList: init.urlList, + url: init.urlList[0], + headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() + }; + } + function cloneRequest(request2) { + const newRequest = makeRequest({ ...request2, body: null }); + if (request2.body != null) { + newRequest.body = cloneBody(newRequest, request2.body); + } + return newRequest; + } + function fromInnerRequest(innerRequest, signal, guard) { + const request2 = new Request(kConstruct); + request2[kState] = innerRequest; + request2[kSignal] = signal; + request2[kHeaders] = new Headers(kConstruct); + setHeadersList(request2[kHeaders], innerRequest.headersList); + setHeadersGuard(request2[kHeaders], guard); + return request2; + } + Object.defineProperties(Request.prototype, { + method: kEnumerableProperty, + url: kEnumerableProperty, + headers: kEnumerableProperty, + redirect: kEnumerableProperty, + clone: kEnumerableProperty, + signal: kEnumerableProperty, + duplex: kEnumerableProperty, + destination: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + isHistoryNavigation: kEnumerableProperty, + isReloadNavigation: kEnumerableProperty, + keepalive: kEnumerableProperty, + integrity: kEnumerableProperty, + cache: kEnumerableProperty, + credentials: kEnumerableProperty, + attribute: kEnumerableProperty, + referrerPolicy: kEnumerableProperty, + referrer: kEnumerableProperty, + mode: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "Request", + configurable: true + } + }); + webidl.converters.Request = webidl.interfaceConverter( + Request + ); + webidl.converters.RequestInfo = function(V, prefix, argument) { + if (typeof V === "string") { + return webidl.converters.USVString(V, prefix, argument); + } + if (V instanceof Request) { + return webidl.converters.Request(V, prefix, argument); + } + return webidl.converters.USVString(V, prefix, argument); + }; + webidl.converters.AbortSignal = webidl.interfaceConverter( + AbortSignal + ); + webidl.converters.RequestInit = webidl.dictionaryConverter([ + { + key: "method", + converter: webidl.converters.ByteString + }, + { + key: "headers", + converter: webidl.converters.HeadersInit + }, + { + key: "body", + converter: webidl.nullableConverter( + webidl.converters.BodyInit + ) + }, + { + key: "referrer", + converter: webidl.converters.USVString + }, + { + key: "referrerPolicy", + converter: webidl.converters.DOMString, + // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy + allowedValues: referrerPolicy + }, + { + key: "mode", + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#concept-request-mode + allowedValues: requestMode + }, + { + key: "credentials", + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#requestcredentials + allowedValues: requestCredentials + }, + { + key: "cache", + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#requestcache + allowedValues: requestCache + }, + { + key: "redirect", + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#requestredirect + allowedValues: requestRedirect + }, + { + key: "integrity", + converter: webidl.converters.DOMString + }, + { + key: "keepalive", + converter: webidl.converters.boolean + }, + { + key: "signal", + converter: webidl.nullableConverter( + (signal) => webidl.converters.AbortSignal( + signal, + "RequestInit", + "signal", + { strict: false } + ) + ) + }, + { + key: "window", + converter: webidl.converters.any + }, + { + key: "duplex", + converter: webidl.converters.DOMString, + allowedValues: requestDuplex + }, + { + key: "dispatcher", + // undici specific option + converter: webidl.converters.any + } + ]); + module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest }; + } +}); + +// node_modules/undici/lib/web/fetch/index.js +var require_fetch = __commonJS({ + "node_modules/undici/lib/web/fetch/index.js"(exports2, module2) { + "use strict"; + var { + makeNetworkError, + makeAppropriateNetworkError, + filterResponse, + makeResponse, + fromInnerResponse + } = require_response(); + var { HeadersList } = require_headers(); + var { Request, cloneRequest } = require_request2(); + var zlib = require("node:zlib"); + var { + bytesMatch, + makePolicyContainer, + clonePolicyContainer, + requestBadPort, + TAOCheck, + appendRequestOriginHeader, + responseLocationURL, + requestCurrentURL, + setRequestReferrerPolicyOnRedirect, + tryUpgradeRequestToAPotentiallyTrustworthyURL, + createOpaqueTimingInfo, + appendFetchMetadata, + corsCheck, + crossOriginResourcePolicyCheck, + determineRequestsReferrer, + coarsenedSharedCurrentTime, + createDeferredPromise, + isBlobLike, + sameOrigin, + isCancelled, + isAborted, + isErrorLike, + fullyReadBody, + readableStreamClose, + isomorphicEncode, + urlIsLocal, + urlIsHttpHttpsScheme, + urlHasHttpsScheme, + clampAndCoarsenConnectionTimingInfo, + simpleRangeHeaderValue, + buildContentRange, + createInflate, + extractMimeType + } = require_util2(); + var { kState, kDispatcher } = require_symbols2(); + var assert = require("node:assert"); + var { safelyExtractBody, extractBody } = require_body(); + var { + redirectStatusSet, + nullBodyStatus, + safeMethodsSet, + requestBodyHeader, + subresourceSet + } = require_constants3(); + var EE = require("node:events"); + var { Readable, pipeline, finished } = require("node:stream"); + var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util(); + var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url(); + var { getGlobalDispatcher } = require_global2(); + var { webidl } = require_webidl(); + var { STATUS_CODES } = require("node:http"); + var GET_OR_HEAD = ["GET", "HEAD"]; + var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici"; + var resolveObjectURL; + var Fetch = class extends EE { + constructor(dispatcher) { + super(); + this.dispatcher = dispatcher; + this.connection = null; + this.dump = false; + this.state = "ongoing"; + } + terminate(reason) { + if (this.state !== "ongoing") { + return; + } + 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; + } + this.state = "aborted"; + if (!error) { + error = new DOMException("The operation was aborted.", "AbortError"); + } + this.serializedAbortReason = error; + this.connection?.destroy(error); + this.emit("terminated", error); + } + }; + function handleFetchDone(response) { + finalizeAndReportTiming(response, "fetch"); + } + function fetch2(input, init = void 0) { + webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch"); + let p = createDeferredPromise(); + let requestObject; + try { + requestObject = new Request(input, init); + } catch (e) { + p.reject(e); + return p.promise; + } + const request2 = requestObject[kState]; + if (requestObject.signal.aborted) { + abortFetch(p, request2, null, requestObject.signal.reason); + return p.promise; + } + const globalObject = request2.client.globalObject; + if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { + request2.serviceWorkers = "none"; + } + let responseObject = null; + let locallyAborted = false; + let controller = null; + addAbortListener( + requestObject.signal, + () => { + locallyAborted = true; + assert(controller != null); + controller.abort(requestObject.signal.reason); + const realResponse = responseObject?.deref(); + abortFetch(p, request2, realResponse, requestObject.signal.reason); + } + ); + const processResponse = (response) => { + if (locallyAborted) { + return; + } + if (response.aborted) { + abortFetch(p, request2, responseObject, controller.serializedAbortReason); + return; + } + if (response.type === "error") { + p.reject(new TypeError("fetch failed", { cause: response.error })); + return; + } + responseObject = new WeakRef(fromInnerResponse(response, "immutable")); + p.resolve(responseObject.deref()); + p = null; + }; + controller = fetching({ + request: request2, + processResponseEndOfBody: handleFetchDone, + processResponse, + dispatcher: requestObject[kDispatcher] + // undici + }); + return p.promise; + } + function finalizeAndReportTiming(response, initiatorType = "other") { + if (response.type === "error" && response.aborted) { + return; + } + if (!response.urlList?.length) { + return; + } + const originalURL = response.urlList[0]; + let timingInfo = response.timingInfo; + let cacheState = response.cacheState; + if (!urlIsHttpHttpsScheme(originalURL)) { + return; + } + if (timingInfo === null) { + return; + } + if (!response.timingAllowPassed) { + timingInfo = createOpaqueTimingInfo({ + startTime: timingInfo.startTime + }); + cacheState = ""; + } + timingInfo.endTime = coarsenedSharedCurrentTime(); + response.timingInfo = timingInfo; + markResourceTiming( + timingInfo, + originalURL.href, + initiatorType, + globalThis, + cacheState + ); + } + var markResourceTiming = performance.markResourceTiming; + function abortFetch(p, request2, responseObject, error) { + if (p) { + p.reject(error); + } + if (request2.body != null && isReadable(request2.body?.stream)) { + request2.body.stream.cancel(error).catch((err) => { + if (err.code === "ERR_INVALID_STATE") { + return; + } + throw err; + }); + } + if (responseObject == null) { + return; + } + 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; + } + throw err; + }); + } + } + function fetching({ + request: request2, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseEndOfBody, + processResponseConsumeBody, + useParallelQueue = false, + dispatcher = getGlobalDispatcher() + // undici + }) { + assert(dispatcher); + let taskDestination = null; + let crossOriginIsolatedCapability = false; + if (request2.client != null) { + taskDestination = request2.client.globalObject; + crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability; + } + const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const timingInfo = createOpaqueTimingInfo({ + startTime: currentTime + }); + const fetchParams = { + controller: new Fetch(dispatcher), + request: request2, + timingInfo, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseConsumeBody, + processResponseEndOfBody, + taskDestination, + crossOriginIsolatedCapability + }; + assert(!request2.body || request2.body.stream); + if (request2.window === "client") { + request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window"; + } + if (request2.origin === "client") { + request2.origin = request2.client.origin; + } + if (request2.policyContainer === "client") { + if (request2.client != null) { + request2.policyContainer = clonePolicyContainer( + request2.client.policyContainer + ); + } else { + request2.policyContainer = makePolicyContainer(); + } + } + if (!request2.headersList.contains("accept", true)) { + const value = "*/*"; + request2.headersList.append("accept", value, true); + } + if (!request2.headersList.contains("accept-language", true)) { + request2.headersList.append("accept-language", "*", true); + } + if (request2.priority === null) { + } + if (subresourceSet.has(request2.destination)) { + } + mainFetch(fetchParams).catch((err) => { + fetchParams.controller.terminate(err); + }); + return fetchParams.controller; + } + async function mainFetch(fetchParams, recursive = false) { + const request2 = fetchParams.request; + let response = null; + if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) { + response = makeNetworkError("local URLs only"); + } + tryUpgradeRequestToAPotentiallyTrustworthyURL(request2); + if (requestBadPort(request2) === "blocked") { + response = makeNetworkError("bad port"); + } + if (request2.referrerPolicy === "") { + request2.referrerPolicy = request2.policyContainer.referrerPolicy; + } + if (request2.referrer !== "no-referrer") { + request2.referrer = determineRequestsReferrer(request2); + } + if (response === null) { + response = await (async () => { + const currentURL = requestCurrentURL(request2); + if ( + // - request’s current URL’s origin is same origin with request’s origin, + // and request’s response tainting is "basic" + sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data" + currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" + (request2.mode === "navigate" || request2.mode === "websocket") + ) { + request2.responseTainting = "basic"; + return await schemeFetch(fetchParams); + } + if (request2.mode === "same-origin") { + return makeNetworkError('request mode cannot be "same-origin"'); + } + if (request2.mode === "no-cors") { + if (request2.redirect !== "follow") { + return makeNetworkError( + 'redirect mode cannot be "follow" for "no-cors" request' + ); + } + request2.responseTainting = "opaque"; + return await schemeFetch(fetchParams); + } + if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) { + return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + } + request2.responseTainting = "cors"; + return await httpFetch(fetchParams); + })(); + } + if (recursive) { + return response; + } + if (response.status !== 0 && !response.internalResponse) { + if (request2.responseTainting === "cors") { + } + if (request2.responseTainting === "basic") { + response = filterResponse(response, "basic"); + } else if (request2.responseTainting === "cors") { + response = filterResponse(response, "cors"); + } else if (request2.responseTainting === "opaque") { + response = filterResponse(response, "opaque"); + } else { + assert(false); + } + } + let internalResponse = response.status === 0 ? response : response.internalResponse; + if (internalResponse.urlList.length === 0) { + internalResponse.urlList.push(...request2.urlList); + } + if (!request2.timingAllowFailed) { + response.timingAllowPassed = true; + } + if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) { + response = internalResponse = makeNetworkError(); + } + if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { + internalResponse.body = null; + fetchParams.controller.dump = true; + } + if (request2.integrity) { + const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); + if (request2.responseTainting === "opaque" || response.body == null) { + processBodyError(response.error); + return; + } + const processBody = (bytes) => { + if (!bytesMatch(bytes, request2.integrity)) { + processBodyError("integrity mismatch"); + return; + } + response.body = safelyExtractBody(bytes)[0]; + fetchFinale(fetchParams, response); + }; + await fullyReadBody(response.body, processBody, processBodyError); + } else { + fetchFinale(fetchParams, response); + } + } + function schemeFetch(fetchParams) { + if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { + return Promise.resolve(makeAppropriateNetworkError(fetchParams)); + } + const { request: request2 } = fetchParams; + const { protocol: scheme } = requestCurrentURL(request2); + switch (scheme) { + case "about:": { + return Promise.resolve(makeNetworkError("about scheme is not supported")); + } + case "blob:": { + if (!resolveObjectURL) { + resolveObjectURL = require("node:buffer").resolveObjectURL; + } + const blobURLEntry = requestCurrentURL(request2); + if (blobURLEntry.search.length !== 0) { + return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); + } + const blob = resolveObjectURL(blobURLEntry.toString()); + if (request2.method !== "GET" || !isBlobLike(blob)) { + return Promise.resolve(makeNetworkError("invalid method")); + } + const response = makeResponse(); + const fullLength = blob.size; + const serializedFullLength = isomorphicEncode(`${fullLength}`); + const type = blob.type; + if (!request2.headersList.contains("range", true)) { + const bodyWithType = extractBody(blob); + response.statusText = "OK"; + response.body = bodyWithType[0]; + response.headersList.set("content-length", serializedFullLength, true); + response.headersList.set("content-type", type, true); + } else { + response.rangeRequested = true; + const rangeHeader = request2.headersList.get("range", true); + const rangeValue = simpleRangeHeaderValue(rangeHeader, true); + if (rangeValue === "failure") { + return Promise.resolve(makeNetworkError("failed to fetch the data URL")); + } + let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue; + if (rangeStart === null) { + rangeStart = fullLength - rangeEnd; + rangeEnd = rangeStart + rangeEnd - 1; + } else { + if (rangeStart >= fullLength) { + return Promise.resolve(makeNetworkError("Range start is greater than the blob's size.")); + } + if (rangeEnd === null || rangeEnd >= fullLength) { + rangeEnd = fullLength - 1; + } + } + const slicedBlob = blob.slice(rangeStart, rangeEnd, type); + const slicedBodyWithType = extractBody(slicedBlob); + response.body = slicedBodyWithType[0]; + const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`); + const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength); + response.status = 206; + response.statusText = "Partial Content"; + response.headersList.set("content-length", serializedSlicedLength, true); + response.headersList.set("content-type", type, true); + response.headersList.set("content-range", contentRange, true); + } + return Promise.resolve(response); + } + case "data:": { + const currentURL = requestCurrentURL(request2); + 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 "http:": + case "https:": { + return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); + } + default: { + return Promise.resolve(makeNetworkError("unknown scheme")); + } + } + } + function finalizeResponse(fetchParams, response) { + fetchParams.request.done = true; + if (fetchParams.processResponseDone != null) { + queueMicrotask(() => fetchParams.processResponseDone(response)); + } + } + function fetchFinale(fetchParams, response) { + let timingInfo = fetchParams.timingInfo; + const processResponseEndOfBody = () => { + const unsafeEndTime = Date.now(); + if (fetchParams.request.destination === "document") { + fetchParams.controller.fullTimingInfo = timingInfo; + } + fetchParams.controller.reportTimingSteps = () => { + if (fetchParams.request.url.protocol !== "https:") { + return; + } + timingInfo.endTime = unsafeEndTime; + let cacheState = response.cacheState; + const bodyInfo = response.bodyInfo; + if (!response.timingAllowPassed) { + timingInfo = createOpaqueTimingInfo(timingInfo); + cacheState = ""; + } + let responseStatus = 0; + if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) { + responseStatus = response.status; + const mimeType = extractMimeType(response.headersList); + if (mimeType !== "failure") { + bodyInfo.contentType = minimizeSupportedMimeType(mimeType); + } + } + if (fetchParams.request.initiatorType != null) { + markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus); + } + }; + const processResponseEndOfBodyTask = () => { + fetchParams.request.done = true; + if (fetchParams.processResponseEndOfBody != null) { + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + } + if (fetchParams.request.initiatorType != null) { + fetchParams.controller.reportTimingSteps(); + } + }; + queueMicrotask(() => processResponseEndOfBodyTask()); + }; + if (fetchParams.processResponse != null) { + queueMicrotask(() => { + fetchParams.processResponse(response); + fetchParams.processResponse = null; + }); + } + const internalResponse = response.type === "error" ? response : response.internalResponse ?? response; + if (internalResponse.body == null) { + processResponseEndOfBody(); + } else { + finished(internalResponse.body.stream, () => { + processResponseEndOfBody(); + }); + } + } + async function httpFetch(fetchParams) { + const request2 = fetchParams.request; + let response = null; + let actualResponse = null; + const timingInfo = fetchParams.timingInfo; + if (request2.serviceWorkers === "all") { + } + if (response === null) { + if (request2.redirect === "follow") { + request2.serviceWorkers = "none"; + } + actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); + if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") { + return makeNetworkError("cors failure"); + } + if (TAOCheck(request2, response) === "failure") { + request2.timingAllowFailed = true; + } + } + if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( + request2.origin, + request2.client, + request2.destination, + actualResponse + ) === "blocked") { + return makeNetworkError("blocked"); + } + if (redirectStatusSet.has(actualResponse.status)) { + if (request2.redirect !== "manual") { + fetchParams.controller.connection.destroy(void 0, false); + } + if (request2.redirect === "error") { + response = makeNetworkError("unexpected redirect"); + } else if (request2.redirect === "manual") { + response = actualResponse; + } else if (request2.redirect === "follow") { + response = await httpRedirectFetch(fetchParams, response); + } else { + assert(false); + } + } + response.timingInfo = timingInfo; + return response; + } + function httpRedirectFetch(fetchParams, response) { + const request2 = fetchParams.request; + const actualResponse = response.internalResponse ? response.internalResponse : response; + let locationURL; + try { + locationURL = responseLocationURL( + actualResponse, + requestCurrentURL(request2).hash + ); + if (locationURL == null) { + return response; + } + } catch (err) { + return Promise.resolve(makeNetworkError(err)); + } + if (!urlIsHttpHttpsScheme(locationURL)) { + return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); + } + if (request2.redirectCount === 20) { + return Promise.resolve(makeNetworkError("redirect count exceeded")); + } + request2.redirectCount += 1; + if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) { + return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + } + if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) { + return Promise.resolve(makeNetworkError( + 'URL cannot contain credentials for request mode "cors"' + )); + } + if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) { + return Promise.resolve(makeNetworkError()); + } + if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) { + request2.method = "GET"; + request2.body = null; + for (const headerName of requestBodyHeader) { + request2.headersList.delete(headerName); + } + } + if (!sameOrigin(requestCurrentURL(request2), locationURL)) { + request2.headersList.delete("authorization", true); + request2.headersList.delete("proxy-authorization", true); + request2.headersList.delete("cookie", true); + request2.headersList.delete("host", true); + } + if (request2.body != null) { + assert(request2.body.source != null); + request2.body = safelyExtractBody(request2.body.source)[0]; + } + const timingInfo = fetchParams.timingInfo; + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + if (timingInfo.redirectStartTime === 0) { + timingInfo.redirectStartTime = timingInfo.startTime; + } + request2.urlList.push(locationURL); + setRequestReferrerPolicyOnRedirect(request2, actualResponse); + return mainFetch(fetchParams, true); + } + async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { + const request2 = fetchParams.request; + let httpFetchParams = null; + let httpRequest = null; + let response = null; + const httpCache = null; + const revalidatingFlag = false; + if (request2.window === "no-window" && request2.redirect === "error") { + httpFetchParams = fetchParams; + httpRequest = request2; + } else { + httpRequest = cloneRequest(request2); + httpFetchParams = { ...fetchParams }; + httpFetchParams.request = httpRequest; + } + const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.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}`); + } + if (contentLengthHeaderValue != null) { + httpRequest.headersList.append("content-length", contentLengthHeaderValue, true); + } + if (contentLength != null && httpRequest.keepalive) { + } + if (httpRequest.referrer instanceof URL) { + httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true); + } + appendRequestOriginHeader(httpRequest); + appendFetchMetadata(httpRequest); + if (!httpRequest.headersList.contains("user-agent", true)) { + httpRequest.headersList.append("user-agent", defaultUserAgent); + } + if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) { + httpRequest.cache = "no-store"; + } + if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) { + httpRequest.headersList.append("cache-control", "max-age=0", true); + } + if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { + if (!httpRequest.headersList.contains("pragma", true)) { + httpRequest.headersList.append("pragma", "no-cache", true); + } + if (!httpRequest.headersList.contains("cache-control", true)) { + httpRequest.headersList.append("cache-control", "no-cache", true); + } + } + if (httpRequest.headersList.contains("range", true)) { + httpRequest.headersList.append("accept-encoding", "identity", true); + } + if (!httpRequest.headersList.contains("accept-encoding", true)) { + if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { + httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true); + } else { + httpRequest.headersList.append("accept-encoding", "gzip, deflate", true); + } + } + httpRequest.headersList.delete("host", true); + if (includeCredentials) { + } + if (httpCache == null) { + httpRequest.cache = "no-store"; + } + if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") { + } + if (response == null) { + if (httpRequest.cache === "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 (revalidatingFlag && forwardResponse.status === 304) { + } + if (response == null) { + response = forwardResponse; + } + } + response.urlList = [...httpRequest.urlList]; + if (httpRequest.headersList.contains("range", true)) { + response.rangeRequested = true; + } + response.requestIncludesCredentials = includeCredentials; + if (response.status === 407) { + if (request2.window === "no-window") { + return makeNetworkError(); + } + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + return makeNetworkError("proxy authentication required"); + } + if ( + // response’s status is 421 + response.status === 421 && // isNewConnectionFetch is false + !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null + (request2.body == null || request2.body.source != null) + ) { + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + 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); + fetchParams.controller.connection = { + abort: null, + destroyed: false, + destroy(err, abort = true) { + if (!this.destroyed) { + this.destroyed = true; + if (abort) { + this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError")); + } + } + } + }; + const request2 = fetchParams.request; + let response = null; + const timingInfo = fetchParams.timingInfo; + const httpCache = null; + if (httpCache == null) { + request2.cache = "no-store"; + } + const newConnection = forceNewConnection ? "yes" : "no"; + if (request2.mode === "websocket") { + } else { + } + let requestBody = null; + if (request2.body == null && fetchParams.processRequestEndOfBody) { + queueMicrotask(() => fetchParams.processRequestEndOfBody()); + } else if (request2.body != null) { + const processBodyChunk = async function* (bytes) { + if (isCancelled(fetchParams)) { + return; + } + yield bytes; + fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); + }; + const processEndOfBody = () => { + if (isCancelled(fetchParams)) { + return; + } + if (fetchParams.processRequestEndOfBody) { + fetchParams.processRequestEndOfBody(); + } + }; + const processBodyError = (e) => { + if (isCancelled(fetchParams)) { + return; + } + if (e.name === "AbortError") { + fetchParams.controller.abort(); + } else { + fetchParams.controller.terminate(e); + } + }; + requestBody = async function* () { + try { + for await (const bytes of request2.body.stream) { + yield* processBodyChunk(bytes); + } + processEndOfBody(); + } catch (err) { + processBodyError(err); + } + }(); + } + try { + const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); + if (socket) { + response = makeResponse({ status, statusText, headersList, socket }); + } else { + const iterator2 = body[Symbol.asyncIterator](); + fetchParams.controller.next = () => iterator2.next(); + response = makeResponse({ status, statusText, headersList }); + } + } catch (err) { + if (err.name === "AbortError") { + fetchParams.controller.connection.destroy(); + return makeAppropriateNetworkError(fetchParams, err); + } + return makeNetworkError(err); + } + const pullAlgorithm = async () => { + await fetchParams.controller.resume(); + }; + const cancelAlgorithm = (reason) => { + if (!isCancelled(fetchParams)) { + fetchParams.controller.abort(reason); + } + }; + const stream = new ReadableStream( + { + async start(controller) { + fetchParams.controller.controller = controller; + }, + async pull(controller) { + await pullAlgorithm(controller); + }, + async cancel(reason) { + await cancelAlgorithm(reason); + }, + type: "bytes" + } + ); + response.body = { stream, source: null, length: null }; + fetchParams.controller.onAborted = onAborted; + fetchParams.controller.on("terminated", onAborted); + fetchParams.controller.resume = async () => { + while (true) { + let bytes; + let isFailure; + try { + const { done, value } = await fetchParams.controller.next(); + if (isAborted(fetchParams)) { + break; + } + bytes = done ? void 0 : value; + } catch (err) { + if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { + bytes = void 0; + } else { + bytes = err; + isFailure = true; + } + } + if (bytes === void 0) { + readableStreamClose(fetchParams.controller.controller); + finalizeResponse(fetchParams, response); + return; + } + timingInfo.decodedBodySize += bytes?.byteLength ?? 0; + if (isFailure) { + fetchParams.controller.terminate(bytes); + return; + } + const buffer = new Uint8Array(bytes); + if (buffer.byteLength) { + fetchParams.controller.controller.enqueue(buffer); + } + if (isErrored(stream)) { + fetchParams.controller.terminate(); + return; + } + if (fetchParams.controller.controller.desiredSize <= 0) { + return; + } + } + }; + function onAborted(reason) { + if (isAborted(fetchParams)) { + 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.connection.destroy(); + } + return response; + function dispatch({ body }) { + const url = requestCurrentURL(request2); + const agent = fetchParams.controller.dispatcher; + return new Promise((resolve, reject) => agent.dispatch( + { + path: url.pathname + url.search, + origin: url.origin, + method: request2.method, + body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, + headers: request2.headersList.entries, + maxRedirections: 0, + upgrade: request2.mode === "websocket" ? "websocket" : void 0 + }, + { + body: null, + abort: null, + onConnect(abort) { + const { connection } = fetchParams.controller; + timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability); + if (connection.destroyed) { + abort(new DOMException("The operation was aborted.", "AbortError")); + } else { + fetchParams.controller.on("terminated", abort); + this.abort = connection.abort = abort; + } + timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + }, + onResponseStarted() { + timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + }, + onHeaders(status, rawHeaders, resume, statusText) { + if (status < 200) { + return; + } + let location = ""; + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); + } + location = headersList.get("location", true); + this.body = new Readable({ read: resume }); + const decoders = []; + const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status); + if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { + const contentEncoding = headersList.get("content-encoding", true); + const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : []; + const maxContentEncodings = 5; + if (codings.length > maxContentEncodings) { + reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`)); + return true; + } + for (let i = codings.length - 1; i >= 0; --i) { + const coding = codings[i].trim(); + 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(createInflate({ + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + })); + } else if (coding === "br") { + decoders.push(zlib.createBrotliDecompress({ + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH + })); + } else { + decoders.length = 0; + break; + } + } + } + const onError = this.onError.bind(this); + resolve({ + status, + statusText, + headersList, + body: decoders.length ? pipeline(this.body, ...decoders, (err) => { + if (err) { + this.onError(err); + } + }).on("error", onError) : this.body.on("error", onError) + }); + 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); + } + if (fetchParams.controller.onAborted) { + fetchParams.controller.off("terminated", fetchParams.controller.onAborted); + } + 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, rawHeaders, socket) { + if (status !== 101) { + return; + } + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList, + socket + }); + return true; + } + } + )); + } + } + module2.exports = { + fetch: fetch2, + Fetch, + fetching, + finalizeAndReportTiming + }; + } +}); + +// node_modules/undici/lib/web/fileapi/symbols.js +var require_symbols3 = __commonJS({ + "node_modules/undici/lib/web/fileapi/symbols.js"(exports2, 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") + }; + } +}); + +// node_modules/undici/lib/web/fileapi/progressevent.js +var require_progressevent = __commonJS({ + "node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, 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, "ProgressEvent constructor", "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; + } + get loaded() { + webidl.brandCheck(this, _ProgressEvent); + return this[kState].loaded; + } + get total() { + webidl.brandCheck(this, _ProgressEvent); + return this[kState].total; + } + }; + webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ + { + key: "lengthComputable", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "loaded", + converter: webidl.converters["unsigned long long"], + defaultValue: () => 0 + }, + { + key: "total", + converter: webidl.converters["unsigned long long"], + defaultValue: () => 0 + }, + { + key: "bubbles", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "cancelable", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "composed", + converter: webidl.converters.boolean, + defaultValue: () => false + } + ]); + module2.exports = { + ProgressEvent + }; + } +}); + +// node_modules/undici/lib/web/fileapi/encoding.js +var require_encoding = __commonJS({ + "node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) { + "use strict"; + function getEncoding(label) { + if (!label) { + 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"; + default: + return "failure"; + } + } + module2.exports = { + getEncoding + }; + } +}); + +// node_modules/undici/lib/web/fileapi/util.js +var require_util4 = __commonJS({ + "node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) { + "use strict"; + var { + kState, + kError, + kResult, + kAborted, + kLastProgressEventFired + } = require_symbols3(); + var { ProgressEvent } = require_progressevent(); + var { getEncoding } = require_encoding(); + var { serializeAMimeType, parseMIMEType } = require_data_url(); + var { types } = require("node:util"); + var { StringDecoder } = require("string_decoder"); + var { btoa } = require("node:buffer"); + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + function readOperation(fr, blob, type, encodingName) { + if (fr[kState] === "loading") { + throw new DOMException("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; + if (isFirstChunk && !fr[kAborted]) { + queueMicrotask(() => { + fireAProgressEvent("loadstart", fr); + }); + } + 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(); + queueMicrotask(() => { + fireAProgressEvent("progress", fr); + }); + } + chunkPromise = reader.read(); + } else if (done) { + queueMicrotask(() => { + fr[kState] = "done"; + try { + const result = packageData(bytes, type, blob.type, encodingName); + if (fr[kAborted]) { + return; + } + fr[kResult] = result; + fireAProgressEvent("load", fr); + } catch (error) { + fr[kError] = error; + fireAProgressEvent("error", fr); + } + if (fr[kState] !== "loading") { + fireAProgressEvent("loadend", fr); + } + }); + break; + } + } catch (error) { + if (fr[kAborted]) { + return; + } + queueMicrotask(() => { + fr[kState] = "done"; + fr[kError] = error; + fireAProgressEvent("error", fr); + if (fr[kState] !== "loading") { + fireAProgressEvent("loadend", fr); + } + }); + break; + } + } + })(); + } + function fireAProgressEvent(e, reader) { + const event = new ProgressEvent(e, { + bubbles: false, + cancelable: false + }); + 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"); + for (const chunk of bytes) { + dataURL += btoa(decoder.write(chunk)); + } + dataURL += btoa(decoder.end()); + return dataURL; + } + case "Text": { + let encoding = "failure"; + if (encodingName) { + encoding = getEncoding(encodingName); + } + if (encoding === "failure" && mimeType) { + const type2 = parseMIMEType(mimeType); + if (type2 !== "failure") { + encoding = getEncoding(type2.parameters.get("charset")); + } + } + if (encoding === "failure") { + encoding = "UTF-8"; + } + return decode(bytes, encoding); + } + case "ArrayBuffer": { + const sequence = combineByteSequences(bytes); + return sequence.buffer; + } + case "BinaryString": { + let binaryString = ""; + const decoder = new StringDecoder("latin1"); + for (const chunk of bytes) { + binaryString += decoder.write(chunk); + } + binaryString += decoder.end(); + return binaryString; + } + } + } + function decode(ioQueue, encoding) { + const bytes = combineByteSequences(ioQueue); + const BOMEncoding = BOMSniffing(bytes); + let slice = 0; + if (BOMEncoding !== null) { + encoding = BOMEncoding; + slice = BOMEncoding === "UTF-8" ? 3 : 2; + } + const sliced = bytes.slice(slice); + return new TextDecoder(encoding).decode(sliced); + } + function BOMSniffing(ioQueue) { + const [a, b, c] = ioQueue; + if (a === 239 && b === 187 && c === 191) { + return "UTF-8"; + } else if (a === 254 && b === 255) { + return "UTF-16BE"; + } else if (a === 255 && b === 254) { + return "UTF-16LE"; + } + return null; + } + function combineByteSequences(sequences) { + const size = sequences.reduce((a, b) => { + 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)); + } + module2.exports = { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + }; + } +}); + +// node_modules/undici/lib/web/fileapi/filereader.js +var require_filereader = __commonJS({ + "node_modules/undici/lib/web/fileapi/filereader.js"(exports2, 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; + this[kEvents] = { + loadend: null, + error: null, + abort: null, + 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, "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, "FileReader.readAsBinaryString"); + blob = webidl.converters.Blob(blob, { strict: false }); + readOperation(this, blob, "BinaryString"); + } + /** + * @see https://w3c.github.io/FileAPI/#readAsDataText + * @param {import('buffer').Blob} blob + * @param {string?} encoding + */ + readAsText(blob, encoding = void 0) { + webidl.brandCheck(this, _FileReader); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText"); + blob = webidl.converters.Blob(blob, { strict: false }); + if (encoding !== void 0) { + encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "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, "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] === "loading") { + this[kState] = "done"; + this[kResult] = null; + } + 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); + switch (this[kState]) { + 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]; + } + /** + * @see https://w3c.github.io/FileAPI/#dom-filereader-error + */ + get error() { + webidl.brandCheck(this, _FileReader); + return this[kError]; + } + get onloadend() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].loadend; + } + set onloadend(fn) { + webidl.brandCheck(this, _FileReader); + if (this[kEvents].loadend) { + this.removeEventListener("loadend", this[kEvents].loadend); + } + if (typeof fn === "function") { + this[kEvents].loadend = fn; + this.addEventListener("loadend", fn); + } else { + this[kEvents].loadend = null; + } + } + get onerror() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].error; + } + set onerror(fn) { + webidl.brandCheck(this, _FileReader); + if (this[kEvents].error) { + this.removeEventListener("error", this[kEvents].error); + } + if (typeof fn === "function") { + this[kEvents].error = fn; + this.addEventListener("error", fn); + } else { + this[kEvents].error = null; + } + } + get onloadstart() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].loadstart; + } + set onloadstart(fn) { + webidl.brandCheck(this, _FileReader); + if (this[kEvents].loadstart) { + this.removeEventListener("loadstart", this[kEvents].loadstart); + } + if (typeof fn === "function") { + this[kEvents].loadstart = fn; + this.addEventListener("loadstart", fn); + } else { + this[kEvents].loadstart = null; + } + } + get onprogress() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].progress; + } + set onprogress(fn) { + webidl.brandCheck(this, _FileReader); + if (this[kEvents].progress) { + this.removeEventListener("progress", this[kEvents].progress); + } + if (typeof fn === "function") { + this[kEvents].progress = fn; + this.addEventListener("progress", fn); + } else { + this[kEvents].progress = null; + } + } + get onload() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].load; + } + set onload(fn) { + webidl.brandCheck(this, _FileReader); + if (this[kEvents].load) { + this.removeEventListener("load", this[kEvents].load); + } + if (typeof fn === "function") { + this[kEvents].load = fn; + this.addEventListener("load", fn); + } else { + this[kEvents].load = null; + } + } + get onabort() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].abort; + } + set onabort(fn) { + webidl.brandCheck(this, _FileReader); + if (this[kEvents].abort) { + this.removeEventListener("abort", this[kEvents].abort); + } + if (typeof fn === "function") { + this[kEvents].abort = fn; + this.addEventListener("abort", fn); + } else { + this[kEvents].abort = null; + } + } + }; + 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, + DONE: staticPropertyDescriptors, + readAsArrayBuffer: kEnumerableProperty, + readAsBinaryString: kEnumerableProperty, + readAsText: kEnumerableProperty, + readAsDataURL: kEnumerableProperty, + abort: kEnumerableProperty, + readyState: kEnumerableProperty, + result: kEnumerableProperty, + error: kEnumerableProperty, + onloadstart: kEnumerableProperty, + onprogress: kEnumerableProperty, + onload: kEnumerableProperty, + onabort: kEnumerableProperty, + onerror: kEnumerableProperty, + onloadend: kEnumerableProperty, + [Symbol.toStringTag]: { + value: "FileReader", + writable: false, + enumerable: false, + configurable: true + } + }); + Object.defineProperties(FileReader, { + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors + }); + module2.exports = { + FileReader + }; + } +}); + +// node_modules/undici/lib/web/cache/symbols.js +var require_symbols4 = __commonJS({ + "node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kConstruct: require_symbols().kConstruct + }; + } +}); + +// node_modules/undici/lib/web/cache/util.js +var require_util5 = __commonJS({ + "node_modules/undici/lib/web/cache/util.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { URLSerializer } = require_data_url(); + var { isValidHeaderName } = require_util2(); + function urlEquals(A, B, excludeFragment = false) { + const serializedA = URLSerializer(A, excludeFragment); + const serializedB = URLSerializer(B, excludeFragment); + return serializedA === serializedB; + } + function getFieldValues(header) { + assert(header !== null); + const values = []; + for (let value of header.split(",")) { + value = value.trim(); + if (isValidHeaderName(value)) { + values.push(value); + } + } + return values; + } + module2.exports = { + urlEquals, + getFieldValues + }; + } +}); + +// node_modules/undici/lib/web/cache/cache.js +var require_cache = __commonJS({ + "node_modules/undici/lib/web/cache/cache.js"(exports2, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { urlEquals, getFieldValues } = require_util5(); + var { kEnumerableProperty, isDisturbed } = require_util(); + var { webidl } = require_webidl(); + var { Response, cloneResponse, fromInnerResponse } = require_response(); + var { Request, fromInnerRequest } = require_request2(); + var { kState } = require_symbols2(); + var { fetching } = require_fetch(); + var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); + var assert = require("node:assert"); + var Cache = class _Cache { + /** + * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list + * @type {requestResponseList} + */ + #relevantRequestResponseList; + constructor() { + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor(); + } + webidl.util.markAsUncloneable(this); + this.#relevantRequestResponseList = arguments[1]; + } + async match(request2, options = {}) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.match"; + webidl.argumentLengthCheck(arguments, 1, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + const p = this.#internalMatchAll(request2, options, 1); + if (p.length === 0) { + return; + } + return p[0]; + } + async matchAll(request2 = void 0, options = {}) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.matchAll"; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + return this.#internalMatchAll(request2, options); + } + async add(request2) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.add"; + webidl.argumentLengthCheck(arguments, 1, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + const requests = [request2]; + const responseArrayPromise = this.addAll(requests); + return await responseArrayPromise; + } + async addAll(requests) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.addAll"; + webidl.argumentLengthCheck(arguments, 1, prefix); + const responsePromises = []; + const requestList = []; + for (let request2 of requests) { + if (request2 === void 0) { + throw webidl.errors.conversionFailed({ + prefix, + argument: "Argument 1", + types: ["undefined is not allowed"] + }); + } + request2 = webidl.converters.RequestInfo(request2); + if (typeof request2 === "string") { + continue; + } + const r = request2[kState]; + if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") { + throw webidl.errors.exception({ + header: prefix, + message: "Expected http/s scheme when method is not GET." + }); + } + } + const fetchControllers = []; + for (const request2 of requests) { + const r = new Request(request2)[kState]; + if (!urlIsHttpHttpsScheme(r.url)) { + throw webidl.errors.exception({ + header: prefix, + message: "Expected http/s scheme." + }); + } + r.initiator = "fetch"; + r.destination = "subresource"; + requestList.push(r); + const responsePromise = createDeferredPromise(); + fetchControllers.push(fetching({ + request: r, + 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; + } + } + } + }, + processResponseEndOfBody(response) { + if (response.aborted) { + responsePromise.reject(new DOMException("aborted", "AbortError")); + return; + } + responsePromise.resolve(response); + } + })); + responsePromises.push(responsePromise.promise); + } + const p = Promise.all(responsePromises); + const responses = await p; + const operations = []; + let index = 0; + for (const response of responses) { + const operation = { + type: "put", + // 7.3.2 + request: requestList[index], + // 7.3.3 + response + // 7.3.4 + }; + operations.push(operation); + index++; + } + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + try { + this.#batchCacheOperations(operations); + } catch (e) { + errorData = e; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(void 0); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async put(request2, response) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.put"; + webidl.argumentLengthCheck(arguments, 2, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + response = webidl.converters.Response(response, prefix, "response"); + let innerRequest = null; + if (request2 instanceof Request) { + innerRequest = request2[kState]; + } else { + innerRequest = new Request(request2)[kState]; + } + if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { + throw webidl.errors.exception({ + header: prefix, + message: "Expected an http/s scheme when method is not GET" + }); + } + const innerResponse = response[kState]; + if (innerResponse.status === 206) { + throw webidl.errors.exception({ + header: prefix, + message: "Got 206 status" + }); + } + if (innerResponse.headersList.contains("vary")) { + const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + throw webidl.errors.exception({ + header: prefix, + message: "Got * vary field value" + }); + } + } + } + if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { + throw webidl.errors.exception({ + header: prefix, + message: "Response body is locked or disturbed" + }); + } + 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); + } else { + bodyReadPromise.resolve(void 0); + } + const operations = []; + const operation = { + type: "put", + // 14. + request: innerRequest, + // 15. + response: clonedResponse + // 16. + }; + operations.push(operation); + const bytes = await bodyReadPromise.promise; + if (clonedResponse.body != null) { + clonedResponse.body.source = bytes; + } + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + try { + this.#batchCacheOperations(operations); + } catch (e) { + errorData = e; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + async delete(request2, options = {}) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + let r = null; + if (request2 instanceof Request) { + r = request2[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return false; + } + } else { + assert(typeof request2 === "string"); + r = new Request(request2)[kState]; + } + const operations = []; + const operation = { + type: "delete", + request: r, + options + }; + operations.push(operation); + const cacheJobPromise = createDeferredPromise(); + let errorData = null; + let requestResponses; + try { + requestResponses = this.#batchCacheOperations(operations); + } catch (e) { + errorData = e; + } + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(!!requestResponses?.length); + } else { + cacheJobPromise.reject(errorData); + } + }); + return cacheJobPromise.promise; + } + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys + * @param {any} request + * @param {import('../../types/cache').CacheQueryOptions} options + * @returns {Promise} + */ + async keys(request2 = void 0, options = {}) { + webidl.brandCheck(this, _Cache); + const prefix = "Cache.keys"; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + let r = null; + if (request2 !== void 0) { + if (request2 instanceof Request) { + r = request2[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request2 === "string") { + r = new Request(request2)[kState]; + } + } + const promise = createDeferredPromise(); + const requests = []; + if (request2 === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + requests.push(requestResponse[0]); + } + } else { + const requestResponses = this.#queryCache(r, options); + for (const requestResponse of requestResponses) { + requests.push(requestResponse[0]); + } + } + queueMicrotask(() => { + const requestList = []; + for (const request3 of requests) { + const requestObject = fromInnerRequest( + request3, + new AbortController().signal, + "immutable" + ); + requestList.push(requestObject); + } + promise.resolve(Object.freeze(requestList)); + }); + return promise.promise; + } + /** + * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm + * @param {CacheBatchOperation[]} operations + * @returns {requestResponseList} + */ + #batchCacheOperations(operations) { + const cache = this.#relevantRequestResponseList; + const backupCache = [...cache]; + const addedItems = []; + const resultList = []; + try { + for (const operation of operations) { + if (operation.type !== "delete" && operation.type !== "put") { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: 'operation type does not match "delete" or "put"' + }); + } + if (operation.type === "delete" && operation.response != null) { + throw webidl.errors.exception({ + 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"); + } + let requestResponses; + if (operation.type === "delete") { + requestResponses = this.#queryCache(operation.request, operation.options); + if (requestResponses.length === 0) { + return []; + } + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse); + assert(idx !== -1); + cache.splice(idx, 1); + } + } else if (operation.type === "put") { + if (operation.response == null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "put operation should have an associated response" + }); + } + const r = operation.request; + if (!urlIsHttpHttpsScheme(r.url)) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "expected http or https scheme" + }); + } + if (r.method !== "GET") { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "not get method" + }); + } + if (operation.options != null) { + throw webidl.errors.exception({ + header: "Cache.#batchCacheOperations", + message: "options must not be defined" + }); + } + requestResponses = this.#queryCache(operation.request); + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse); + assert(idx !== -1); + cache.splice(idx, 1); + } + cache.push([operation.request, operation.response]); + addedItems.push([operation.request, operation.response]); + } + resultList.push([operation.request, operation.response]); + } + return resultList; + } catch (e) { + this.#relevantRequestResponseList.length = 0; + this.#relevantRequestResponseList = backupCache; + throw e; + } + } + /** + * @see https://w3c.github.io/ServiceWorker/#query-cache + * @param {any} requestQuery + * @param {import('../../types/cache').CacheQueryOptions} options + * @param {requestResponseList} targetStorage + * @returns {requestResponseList} + */ + #queryCache(requestQuery, options, targetStorage) { + 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); + } + } + return resultList; + } + /** + * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm + * @param {any} requestQuery + * @param {any} request + * @param {any | null} response + * @param {import('../../types/cache').CacheQueryOptions | undefined} options + * @returns {boolean} + */ + #requestMatchesCachedItem(requestQuery, request2, response = null, options) { + const queryURL = new URL(requestQuery.url); + const cachedURL = new URL(request2.url); + if (options?.ignoreSearch) { + cachedURL.search = ""; + queryURL.search = ""; + } + if (!urlEquals(queryURL, cachedURL, true)) { + return false; + } + if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { + return true; + } + const fieldValues = getFieldValues(response.headersList.get("vary")); + for (const fieldValue of fieldValues) { + if (fieldValue === "*") { + return false; + } + const requestValue = request2.headersList.get(fieldValue); + const queryValue = requestQuery.headersList.get(fieldValue); + if (requestValue !== queryValue) { + return false; + } + } + return true; + } + #internalMatchAll(request2, options, maxResponses = Infinity) { + let r = null; + if (request2 !== void 0) { + if (request2 instanceof Request) { + r = request2[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request2 === "string") { + r = new Request(request2)[kState]; + } + } + const responses = []; + if (request2 === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + responses.push(requestResponse[1]); + } + } else { + const requestResponses = this.#queryCache(r, options); + for (const requestResponse of requestResponses) { + responses.push(requestResponse[1]); + } + } + const responseList = []; + for (const response of responses) { + const responseObject = fromInnerResponse(response, "immutable"); + responseList.push(responseObject.clone()); + if (responseList.length >= maxResponses) { + break; + } + } + return Object.freeze(responseList); + } + }; + Object.defineProperties(Cache.prototype, { + [Symbol.toStringTag]: { + value: "Cache", + configurable: true + }, + match: kEnumerableProperty, + matchAll: kEnumerableProperty, + add: kEnumerableProperty, + addAll: kEnumerableProperty, + put: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty + }); + var cacheQueryOptionConverters = [ + { + key: "ignoreSearch", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "ignoreMethod", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "ignoreVary", + converter: webidl.converters.boolean, + defaultValue: () => false + } + ]; + webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); + webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ + ...cacheQueryOptionConverters, + { + key: "cacheName", + converter: webidl.converters.DOMString + } + ]); + webidl.converters.Response = webidl.interfaceConverter(Response); + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.RequestInfo + ); + module2.exports = { + Cache + }; + } +}); + +// node_modules/undici/lib/web/cache/cachestorage.js +var require_cachestorage = __commonJS({ + "node_modules/undici/lib/web/cache/cachestorage.js"(exports2, 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); + const prefix = "CacheStorage.has"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); + return this.#caches.has(cacheName); + } + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open + * @param {string} cacheName + * @returns {Promise} + */ + async open(cacheName) { + webidl.brandCheck(this, _CacheStorage); + const prefix = "CacheStorage.open"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); + if (this.#caches.has(cacheName)) { + const cache2 = this.#caches.get(cacheName); + return new Cache(kConstruct, cache2); + } + const cache = []; + this.#caches.set(cacheName, cache); + return new Cache(kConstruct, cache); + } + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete + * @param {string} cacheName + * @returns {Promise} + */ + async delete(cacheName) { + webidl.brandCheck(this, _CacheStorage); + const prefix = "CacheStorage.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); + return this.#caches.delete(cacheName); + } + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys + * @returns {Promise} + */ + async keys() { + webidl.brandCheck(this, _CacheStorage); + const keys = this.#caches.keys(); + return [...keys]; + } + }; + Object.defineProperties(CacheStorage.prototype, { + [Symbol.toStringTag]: { + value: "CacheStorage", + configurable: true + }, + match: kEnumerableProperty, + has: kEnumerableProperty, + open: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty + }); + module2.exports = { + CacheStorage + }; + } +}); + +// node_modules/undici/lib/web/cookies/constants.js +var require_constants4 = __commonJS({ + "node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) { + "use strict"; + var maxAttributeValueSize = 1024; + var maxNameValuePairSize = 4096; + module2.exports = { + maxAttributeValueSize, + maxNameValuePairSize + }; + } +}); + +// node_modules/undici/lib/web/cookies/util.js +var require_util6 = __commonJS({ + "node_modules/undici/lib/web/cookies/util.js"(exports2, module2) { + "use strict"; + function isCTLExcludingHtab(value) { + for (let i = 0; i < value.length; ++i) { + const code = value.charCodeAt(i); + if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) { + return true; + } + } + return false; + } + function validateCookieName(name) { + for (let i = 0; i < name.length; ++i) { + const code = name.charCodeAt(i); + if (code < 33 || // exclude CTLs (0-31), SP and HT + code > 126 || // exclude non-ascii and DEL + code === 34 || // " + code === 40 || // ( + code === 41 || // ) + code === 60 || // < + code === 62 || // > + code === 64 || // @ + code === 44 || // , + code === 59 || // ; + code === 58 || // : + code === 92 || // \ + code === 47 || // / + code === 91 || // [ + code === 93 || // ] + code === 63 || // ? + code === 61 || // = + code === 123 || // { + code === 125) { + throw new Error("Invalid cookie name"); + } + } + } + function validateCookieValue(value) { + let len = value.length; + let i = 0; + if (value[0] === '"') { + if (len === 1 || value[len - 1] !== '"') { + throw new Error("Invalid cookie value"); + } + --len; + ++i; + } + while (i < len) { + const code = value.charCodeAt(i++); + if (code < 33 || // exclude CTLs (0-31) + code > 126 || // non-ascii and DEL (127) + code === 34 || // " + code === 44 || // , + code === 59 || // ; + code === 92) { + throw new Error("Invalid cookie value"); + } + } + } + function validateCookiePath(path) { + for (let i = 0; i < path.length; ++i) { + const code = path.charCodeAt(i); + if (code < 32 || // exclude CTLs (0-31) + code === 127 || // DEL + code === 59) { + throw new Error("Invalid cookie path"); + } + } + } + function validateCookieDomain(domain) { + if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { + throw new Error("Invalid cookie domain"); + } + } + var IMFDays = [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat" + ]; + var IMFMonths = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec" + ]; + var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0")); + function toIMFDate(date) { + if (typeof date === "number") { + date = new Date(date); + } + return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`; + } + function validateCookieMaxAge(maxAge) { + if (maxAge < 0) { + throw new Error("Invalid cookie max-age"); + } + } + function stringify(cookie) { + if (cookie.name.length === 0) { + return null; + } + 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.secure) { + out.push("Secure"); + } + if (cookie.httpOnly) { + out.push("HttpOnly"); + } + 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}`); + } + if (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.sameSite) { + out.push(`SameSite=${cookie.sameSite}`); + } + for (const part of cookie.unparsed) { + if (!part.includes("=")) { + throw new Error("Invalid unparsed"); + } + const [key, ...value] = part.split("="); + out.push(`${key.trim()}=${value.join("=")}`); + } + return out.join("; "); + } + module2.exports = { + isCTLExcludingHtab, + validateCookieName, + validateCookiePath, + validateCookieValue, + toIMFDate, + stringify + }; + } +}); + +// node_modules/undici/lib/web/cookies/parse.js +var require_parse2 = __commonJS({ + "node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) { + "use strict"; + var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); + var { isCTLExcludingHtab } = require_util6(); + var { collectASequenceOfCodePointsFast } = require_data_url(); + var assert = require("node: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); + } else { + nameValuePair = header; + } + if (!nameValuePair.includes("=")) { + value = nameValuePair; + } else { + const position = { position: 0 }; + name = collectASequenceOfCodePointsFast( + "=", + nameValuePair, + position + ); + value = nameValuePair.slice(position.position + 1); + } + name = name.trim(); + value = value.trim(); + if (name.length + value.length > maxNameValuePairSize) { + return null; + } + return { + name, + value, + ...parseUnparsedAttributes(unparsedAttributes) + }; + } + 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); + } else { + cookieAv = unparsedAttributes; + unparsedAttributes = ""; + } + let attributeName = ""; + let attributeValue = ""; + if (cookieAv.includes("=")) { + const position = { position: 0 }; + attributeName = collectASequenceOfCodePointsFast( + "=", + cookieAv, + position + ); + attributeValue = cookieAv.slice(position.position + 1); + } else { + attributeName = cookieAv; + } + 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); + } + 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 = "/"; + } 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; + } else { + cookieAttributeList.unparsed ??= []; + cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); + } + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + module2.exports = { + parseSetCookie, + parseUnparsedAttributes + }; + } +}); + +// node_modules/undici/lib/web/cookies/index.js +var require_cookies = __commonJS({ + "node_modules/undici/lib/web/cookies/index.js"(exports2, module2) { + "use strict"; + var { parseSetCookie } = require_parse2(); + var { stringify } = require_util6(); + var { webidl } = require_webidl(); + var { Headers } = require_headers(); + function getCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, "getCookies"); + webidl.brandCheck(headers, Headers, { strict: false }); + const cookie = headers.get("cookie"); + const out = {}; + if (!cookie) { + return out; + } + for (const piece of cookie.split(";")) { + const [name, ...value] = piece.split("="); + out[name.trim()] = value.join("="); + } + return out; + } + function deleteCookie(headers, name, attributes) { + webidl.brandCheck(headers, Headers, { strict: false }); + const prefix = "deleteCookie"; + webidl.argumentLengthCheck(arguments, 2, prefix); + name = webidl.converters.DOMString(name, prefix, "name"); + attributes = webidl.converters.DeleteCookieAttributes(attributes); + setCookie(headers, { + name, + value: "", + expires: /* @__PURE__ */ new Date(0), + ...attributes + }); + } + function getSetCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, "getSetCookies"); + webidl.brandCheck(headers, Headers, { strict: false }); + const cookies = headers.getSetCookie(); + if (!cookies) { + return []; + } + return cookies.map((pair) => parseSetCookie(pair)); + } + function setCookie(headers, cookie) { + webidl.argumentLengthCheck(arguments, 2, "setCookie"); + webidl.brandCheck(headers, Headers, { strict: false }); + cookie = webidl.converters.Cookie(cookie); + const str = stringify(cookie); + if (str) { + headers.append("Set-Cookie", str); + } + } + webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "path", + defaultValue: () => null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "domain", + defaultValue: () => null + } + ]); + webidl.converters.Cookie = webidl.dictionaryConverter([ + { + converter: webidl.converters.DOMString, + key: "name" + }, + { + converter: webidl.converters.DOMString, + key: "value" + }, + { + converter: webidl.nullableConverter((value) => { + if (typeof value === "number") { + return webidl.converters["unsigned long long"](value); + } + return new Date(value); + }), + key: "expires", + defaultValue: () => null + }, + { + converter: webidl.nullableConverter(webidl.converters["long long"]), + key: "maxAge", + defaultValue: () => null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "domain", + defaultValue: () => null + }, + { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: "path", + defaultValue: () => null + }, + { + converter: webidl.nullableConverter(webidl.converters.boolean), + key: "secure", + defaultValue: () => null + }, + { + converter: webidl.nullableConverter(webidl.converters.boolean), + key: "httpOnly", + defaultValue: () => null + }, + { + converter: webidl.converters.USVString, + key: "sameSite", + allowedValues: ["Strict", "Lax", "None"] + }, + { + converter: webidl.sequenceConverter(webidl.converters.DOMString), + key: "unparsed", + defaultValue: () => new Array(0) + } + ]); + module2.exports = { + getCookies, + deleteCookie, + getSetCookies, + setCookie + }; + } +}); + +// node_modules/undici/lib/web/websocket/events.js +var require_events = __commonJS({ + "node_modules/undici/lib/web/websocket/events.js"(exports2, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var { kConstruct } = require_symbols(); + var { MessagePort } = require("node:worker_threads"); + var MessageEvent = class _MessageEvent extends Event { + #eventInit; + constructor(type, eventInitDict = {}) { + if (type === kConstruct) { + super(arguments[1], arguments[2]); + webidl.util.markAsUncloneable(this); + return; + } + const prefix = "MessageEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + type = webidl.converters.DOMString(type, prefix, "type"); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict"); + super(type, eventInitDict); + this.#eventInit = eventInitDict; + webidl.util.markAsUncloneable(this); + } + get data() { + webidl.brandCheck(this, _MessageEvent); + return this.#eventInit.data; + } + get origin() { + webidl.brandCheck(this, _MessageEvent); + return this.#eventInit.origin; + } + get lastEventId() { + webidl.brandCheck(this, _MessageEvent); + return this.#eventInit.lastEventId; + } + get source() { + webidl.brandCheck(this, _MessageEvent); + return this.#eventInit.source; + } + get ports() { + 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, "MessageEvent.initMessageEvent"); + return new _MessageEvent(type, { + bubbles, + cancelable, + data, + origin, + lastEventId, + source, + ports + }); + } + static createFastMessageEvent(type, init) { + const messageEvent = new _MessageEvent(kConstruct, type, init); + messageEvent.#eventInit = init; + messageEvent.#eventInit.data ??= null; + messageEvent.#eventInit.origin ??= ""; + messageEvent.#eventInit.lastEventId ??= ""; + messageEvent.#eventInit.source ??= null; + messageEvent.#eventInit.ports ??= []; + return messageEvent; + } + }; + var { createFastMessageEvent } = MessageEvent; + delete MessageEvent.createFastMessageEvent; + var CloseEvent = class _CloseEvent extends Event { + #eventInit; + constructor(type, eventInitDict = {}) { + const prefix = "CloseEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + type = webidl.converters.DOMString(type, prefix, "type"); + eventInitDict = webidl.converters.CloseEventInit(eventInitDict); + super(type, eventInitDict); + this.#eventInit = eventInitDict; + webidl.util.markAsUncloneable(this); + } + get wasClean() { + webidl.brandCheck(this, _CloseEvent); + return this.#eventInit.wasClean; + } + get code() { + webidl.brandCheck(this, _CloseEvent); + return this.#eventInit.code; + } + get reason() { + webidl.brandCheck(this, _CloseEvent); + return this.#eventInit.reason; + } + }; + var ErrorEvent = class _ErrorEvent extends Event { + #eventInit; + constructor(type, eventInitDict) { + const prefix = "ErrorEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + super(type, eventInitDict); + webidl.util.markAsUncloneable(this); + type = webidl.converters.DOMString(type, prefix, "type"); + eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); + this.#eventInit = eventInitDict; + } + get message() { + webidl.brandCheck(this, _ErrorEvent); + return this.#eventInit.message; + } + get filename() { + webidl.brandCheck(this, _ErrorEvent); + return this.#eventInit.filename; + } + get lineno() { + webidl.brandCheck(this, _ErrorEvent); + return this.#eventInit.lineno; + } + get colno() { + webidl.brandCheck(this, _ErrorEvent); + return this.#eventInit.colno; + } + get error() { + webidl.brandCheck(this, _ErrorEvent); + return this.#eventInit.error; + } + }; + Object.defineProperties(MessageEvent.prototype, { + [Symbol.toStringTag]: { + value: "MessageEvent", + configurable: true + }, + data: kEnumerableProperty, + origin: kEnumerableProperty, + lastEventId: kEnumerableProperty, + source: kEnumerableProperty, + ports: kEnumerableProperty, + initMessageEvent: kEnumerableProperty + }); + Object.defineProperties(CloseEvent.prototype, { + [Symbol.toStringTag]: { + value: "CloseEvent", + configurable: true + }, + reason: kEnumerableProperty, + code: kEnumerableProperty, + wasClean: kEnumerableProperty + }); + Object.defineProperties(ErrorEvent.prototype, { + [Symbol.toStringTag]: { + value: "ErrorEvent", + configurable: true + }, + message: kEnumerableProperty, + filename: kEnumerableProperty, + lineno: kEnumerableProperty, + colno: kEnumerableProperty, + error: kEnumerableProperty + }); + webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.MessagePort + ); + var eventInit = [ + { + key: "bubbles", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "cancelable", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "composed", + converter: webidl.converters.boolean, + defaultValue: () => false + } + ]; + webidl.converters.MessageEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "data", + converter: webidl.converters.any, + defaultValue: () => null + }, + { + key: "origin", + converter: webidl.converters.USVString, + defaultValue: () => "" + }, + { + key: "lastEventId", + converter: webidl.converters.DOMString, + defaultValue: () => "" + }, + { + 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"], + defaultValue: () => new Array(0) + } + ]); + webidl.converters.CloseEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "wasClean", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "code", + converter: webidl.converters["unsigned short"], + defaultValue: () => 0 + }, + { + key: "reason", + converter: webidl.converters.USVString, + defaultValue: () => "" + } + ]); + webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ + ...eventInit, + { + key: "message", + converter: webidl.converters.DOMString, + defaultValue: () => "" + }, + { + key: "filename", + converter: webidl.converters.USVString, + defaultValue: () => "" + }, + { + key: "lineno", + converter: webidl.converters["unsigned long"], + defaultValue: () => 0 + }, + { + key: "colno", + converter: webidl.converters["unsigned long"], + defaultValue: () => 0 + }, + { + key: "error", + converter: webidl.converters.any + } + ]); + module2.exports = { + MessageEvent, + CloseEvent, + ErrorEvent, + createFastMessageEvent + }; + } +}); + +// node_modules/undici/lib/web/websocket/constants.js +var require_constants5 = __commonJS({ + "node_modules/undici/lib/web/websocket/constants.js"(exports2, 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 sentCloseFrameState = { + NOT_SENT: 0, + PROCESSING: 1, + SENT: 2 + }; + var opcodes = { + CONTINUATION: 0, + TEXT: 1, + BINARY: 2, + CLOSE: 8, + PING: 9, + PONG: 10 + }; + var maxUnsigned16Bit = 2 ** 16 - 1; + var parserStates = { + INFO: 0, + PAYLOADLENGTH_16: 2, + PAYLOADLENGTH_64: 3, + READ_DATA: 4 + }; + var emptyBuffer = Buffer.allocUnsafe(0); + var sendHints = { + string: 1, + typedArray: 2, + arrayBuffer: 3, + blob: 4 + }; + module2.exports = { + uid, + sentCloseFrameState, + staticPropertyDescriptors, + states, + opcodes, + maxUnsigned16Bit, + parserStates, + emptyBuffer, + sendHints + }; + } +}); + +// node_modules/undici/lib/web/websocket/symbols.js +var require_symbols5 = __commonJS({ + "node_modules/undici/lib/web/websocket/symbols.js"(exports2, 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") + }; + } +}); + +// node_modules/undici/lib/web/websocket/util.js +var require_util7 = __commonJS({ + "node_modules/undici/lib/web/websocket/util.js"(exports2, module2) { + "use strict"; + var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); + var { states, opcodes } = require_constants5(); + var { ErrorEvent, createFastMessageEvent } = require_events(); + var { isUtf8 } = require("node:buffer"); + var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url(); + function isConnecting(ws) { + return ws[kReadyState] === states.CONNECTING; + } + function isEstablished(ws) { + return ws[kReadyState] === states.OPEN; + } + function isClosing(ws) { + return ws[kReadyState] === states.CLOSING; + } + function isClosed(ws) { + return ws[kReadyState] === states.CLOSED; + } + function fireEvent(e, target, eventFactory = (type, init) => new Event(type, init), eventInitDict = {}) { + const event = eventFactory(e, eventInitDict); + target.dispatchEvent(event); + } + function websocketMessageReceived(ws, type, data) { + if (ws[kReadyState] !== states.OPEN) { + return; + } + let dataForEvent; + if (type === opcodes.TEXT) { + try { + dataForEvent = utf8Decode(data); + } catch { + failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); + return; + } + } else if (type === opcodes.BINARY) { + if (ws[kBinaryType] === "blob") { + dataForEvent = new Blob([data]); + } else { + dataForEvent = toArrayBuffer(data); + } + } + fireEvent("message", ws, createFastMessageEvent, { + origin: ws[kWebSocketURL].origin, + data: dataForEvent + }); + } + function toArrayBuffer(buffer) { + if (buffer.byteLength === buffer.buffer.byteLength) { + return buffer.buffer; + } + return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); + } + function isValidSubprotocol(protocol) { + if (protocol.length === 0) { + return false; + } + for (let i = 0; i < protocol.length; ++i) { + const code = protocol.charCodeAt(i); + if (code < 33 || // CTL, contains SP (0x20) and HT (0x09) + code > 126 || code === 34 || // " + code === 40 || // ( + code === 41 || // ) + code === 44 || // , + code === 47 || // / + code === 58 || // : + code === 59 || // ; + code === 60 || // < + code === 61 || // = + code === 62 || // > + code === 63 || // ? + code === 64 || // @ + code === 91 || // [ + code === 92 || // \ + code === 93 || // ] + code === 123 || // { + code === 125) { + 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 >= 3e3 && code <= 4999; + } + function failWebsocketConnection(ws, reason) { + const { [kController]: controller, [kResponse]: response } = ws; + controller.abort(); + if (response?.socket && !response.socket.destroyed) { + response.socket.destroy(); + } + if (reason) { + fireEvent("error", ws, (type, init) => new ErrorEvent(type, init), { + error: new Error(reason), + message: reason + }); + } + } + function isControlFrame(opcode) { + return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG; + } + function isContinuationFrame(opcode) { + return opcode === opcodes.CONTINUATION; + } + function isTextBinaryFrame(opcode) { + return opcode === opcodes.TEXT || opcode === opcodes.BINARY; + } + function isValidOpcode(opcode) { + return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode); + } + function parseExtensions(extensions) { + const position = { position: 0 }; + const extensionList = /* @__PURE__ */ new Map(); + while (position.position < extensions.length) { + const pair = collectASequenceOfCodePointsFast(";", extensions, position); + const [name, value = ""] = pair.split("="); + extensionList.set( + removeHTTPWhitespace(name, true, false), + removeHTTPWhitespace(value, false, true) + ); + position.position++; + } + return extensionList; + } + function isValidClientWindowBits(value) { + for (let i = 0; i < value.length; i++) { + const byte = value.charCodeAt(i); + if (byte < 48 || byte > 57) { + return false; + } + } + return true; + } + var hasIntl = typeof process.versions.icu === "string"; + var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0; + var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) { + if (isUtf8(buffer)) { + return buffer.toString("utf-8"); + } + throw new TypeError("Invalid utf-8 received."); + }; + module2.exports = { + isConnecting, + isEstablished, + isClosing, + isClosed, + fireEvent, + isValidSubprotocol, + isValidStatusCode, + failWebsocketConnection, + websocketMessageReceived, + utf8Decode, + isControlFrame, + isContinuationFrame, + isTextBinaryFrame, + isValidOpcode, + parseExtensions, + isValidClientWindowBits + }; + } +}); + +// node_modules/undici/lib/web/websocket/frame.js +var require_frame = __commonJS({ + "node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) { + "use strict"; + var { maxUnsigned16Bit } = require_constants5(); + var BUFFER_SIZE = 16386; + var crypto; + var buffer = null; + var bufIdx = BUFFER_SIZE; + try { + crypto = require("node:crypto"); + } catch { + crypto = { + // not full compatibility, but minimum. + randomFillSync: function randomFillSync(buffer2, _offset, _size) { + for (let i = 0; i < buffer2.length; ++i) { + buffer2[i] = Math.random() * 255 | 0; + } + return buffer2; + } + }; + } + function generateMask() { + if (bufIdx === BUFFER_SIZE) { + bufIdx = 0; + crypto.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE); + } + return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]; + } + var WebsocketFrameSend = class { + /** + * @param {Buffer|undefined} data + */ + constructor(data) { + this.frameData = data; + } + createFrame(opcode) { + const frameData = this.frameData; + const maskKey = generateMask(); + const bodyLength = frameData?.byteLength ?? 0; + let payloadLength = bodyLength; + let offset = 6; + if (bodyLength > maxUnsigned16Bit) { + offset += 8; + payloadLength = 127; + } else if (bodyLength > 125) { + offset += 2; + payloadLength = 126; + } + const buffer2 = Buffer.allocUnsafe(bodyLength + offset); + buffer2[0] = buffer2[1] = 0; + buffer2[0] |= 128; + buffer2[0] = (buffer2[0] & 240) + opcode; + buffer2[offset - 4] = maskKey[0]; + buffer2[offset - 3] = maskKey[1]; + buffer2[offset - 2] = maskKey[2]; + buffer2[offset - 1] = maskKey[3]; + buffer2[1] = payloadLength; + if (payloadLength === 126) { + buffer2.writeUInt16BE(bodyLength, 2); + } else if (payloadLength === 127) { + buffer2[2] = buffer2[3] = 0; + buffer2.writeUIntBE(bodyLength, 4, 6); + } + buffer2[1] |= 128; + for (let i = 0; i < bodyLength; ++i) { + buffer2[offset + i] = frameData[i] ^ maskKey[i & 3]; + } + return buffer2; + } + }; + module2.exports = { + WebsocketFrameSend + }; + } +}); + +// node_modules/undici/lib/web/websocket/connection.js +var require_connection = __commonJS({ + "node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) { + "use strict"; + var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants5(); + var { + kReadyState, + kSentClose, + kByteParser, + kReceivedClose, + kResponse + } = require_symbols5(); + var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util7(); + var { channels } = require_diagnostics(); + var { CloseEvent } = require_events(); + var { makeRequest } = require_request2(); + var { fetching } = require_fetch(); + var { Headers, getHeadersList } = require_headers(); + var { getDecodeSplit } = require_util2(); + var { WebsocketFrameSend } = require_frame(); + var crypto; + try { + crypto = require("node:crypto"); + } catch { + } + function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) { + const requestURL = url; + requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; + const request2 = makeRequest({ + urlList: [requestURL], + client, + serviceWorkers: "none", + referrer: "no-referrer", + mode: "websocket", + credentials: "include", + cache: "no-store", + redirect: "error" + }); + if (options.headers) { + const headersList = getHeadersList(new Headers(options.headers)); + request2.headersList = headersList; + } + const keyValue = crypto.randomBytes(16).toString("base64"); + request2.headersList.append("sec-websocket-key", keyValue); + request2.headersList.append("sec-websocket-version", "13"); + for (const protocol of protocols) { + request2.headersList.append("sec-websocket-protocol", protocol); + } + const permessageDeflate = "permessage-deflate; client_max_window_bits"; + request2.headersList.append("sec-websocket-extensions", permessageDeflate); + const controller = fetching({ + request: request2, + useParallelQueue: true, + dispatcher: options.dispatcher, + processResponse(response) { + 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 (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; + } + const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); + const digest = crypto.createHash("sha1").update(keyValue + uid).digest("base64"); + if (secWSAccept !== digest) { + failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); + return; + } + const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); + let extensions; + if (secExtension !== null) { + extensions = parseExtensions(secExtension); + if (!extensions.has("permessage-deflate")) { + failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match."); + return; + } + } + const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); + if (secProtocol !== null) { + const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList); + if (!requestProtocols.includes(secProtocol)) { + 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); + if (channels.open.hasSubscribers) { + channels.open.publish({ + address: response.socket.address(), + protocol: secProtocol, + extensions: secExtension + }); + } + onEstablish(response, extensions); + } + }); + return controller; + } + function closeWebSocketConnection(ws, code, reason, reasonByteLength) { + if (isClosing(ws) || isClosed(ws)) { + } else if (!isEstablished(ws)) { + failWebsocketConnection(ws, "Connection was closed before it was established."); + ws[kReadyState] = states.CLOSING; + } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) { + ws[kSentClose] = sentCloseFrameState.PROCESSING; + const frame = new WebsocketFrameSend(); + if (code !== void 0 && reason === void 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"); + } else { + frame.frameData = emptyBuffer; + } + const socket = ws[kResponse].socket; + socket.write(frame.createFrame(opcodes.CLOSE)); + ws[kSentClose] = sentCloseFrameState.SENT; + ws[kReadyState] = states.CLOSING; + } else { + ws[kReadyState] = states.CLOSING; + } + } + function onSocketData(chunk) { + if (!this.ws[kByteParser].write(chunk)) { + this.pause(); + } + } + function onSocketClose() { + const { ws } = this; + const { [kResponse]: response } = ws; + response.socket.off("data", onSocketData); + response.socket.off("close", onSocketClose); + response.socket.off("error", onSocketError); + const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose]; + let code = 1005; + let reason = ""; + const result = ws[kByteParser].closingInfo; + if (result && !result.error) { + code = result.code ?? 1005; + reason = result.reason; + } else if (!ws[kReceivedClose]) { + code = 1006; + } + ws[kReadyState] = states.CLOSED; + fireEvent("close", ws, (type, init) => new CloseEvent(type, init), { + wasClean, + code, + reason + }); + if (channels.close.hasSubscribers) { + channels.close.publish({ + websocket: ws, + code, + reason + }); + } + } + function onSocketError(error) { + const { ws } = this; + ws[kReadyState] = states.CLOSING; + if (channels.socketError.hasSubscribers) { + channels.socketError.publish(error); + } + this.destroy(); + } + module2.exports = { + establishWebSocketConnection, + closeWebSocketConnection + }; + } +}); + +// node_modules/undici/lib/web/websocket/permessage-deflate.js +var require_permessage_deflate = __commonJS({ + "node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) { + "use strict"; + var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib"); + var { isValidClientWindowBits } = require_util7(); + var tail = Buffer.from([0, 0, 255, 255]); + var kBuffer = Symbol("kBuffer"); + var kLength = Symbol("kLength"); + var PerMessageDeflate = class { + /** @type {import('node:zlib').InflateRaw} */ + #inflate; + #options = {}; + constructor(extensions) { + this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover"); + this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits"); + } + decompress(chunk, fin, callback) { + if (!this.#inflate) { + let windowBits = Z_DEFAULT_WINDOWBITS; + if (this.#options.serverMaxWindowBits) { + if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) { + callback(new Error("Invalid server_max_window_bits")); + return; + } + windowBits = Number.parseInt(this.#options.serverMaxWindowBits); + } + this.#inflate = createInflateRaw({ windowBits }); + this.#inflate[kBuffer] = []; + this.#inflate[kLength] = 0; + this.#inflate.on("data", (data) => { + this.#inflate[kBuffer].push(data); + this.#inflate[kLength] += data.length; + }); + this.#inflate.on("error", (err) => { + this.#inflate = null; + callback(err); + }); + } + this.#inflate.write(chunk); + if (fin) { + this.#inflate.write(tail); + } + this.#inflate.flush(() => { + const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]); + this.#inflate[kBuffer].length = 0; + this.#inflate[kLength] = 0; + callback(null, full); + }); + } + }; + module2.exports = { PerMessageDeflate }; + } +}); + +// node_modules/undici/lib/web/websocket/receiver.js +var require_receiver = __commonJS({ + "node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) { + "use strict"; + var { Writable } = require("node:stream"); + var assert = require("node:assert"); + var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants5(); + var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); + var { channels } = require_diagnostics(); + var { + isValidStatusCode, + isValidOpcode, + failWebsocketConnection, + websocketMessageReceived, + utf8Decode, + isControlFrame, + isTextBinaryFrame, + isContinuationFrame + } = require_util7(); + var { WebsocketFrameSend } = require_frame(); + var { closeWebSocketConnection } = require_connection(); + var { PerMessageDeflate } = require_permessage_deflate(); + var ByteParser = class extends Writable { + #buffers = []; + #byteOffset = 0; + #loop = false; + #state = parserStates.INFO; + #info = {}; + #fragments = []; + /** @type {Map} */ + #extensions; + constructor(ws, extensions) { + super(); + this.ws = ws; + this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions; + if (this.#extensions.has("permessage-deflate")) { + this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions)); + } + } + /** + * @param {Buffer} chunk + * @param {() => void} callback + */ + _write(chunk, _, callback) { + this.#buffers.push(chunk); + this.#byteOffset += chunk.length; + this.#loop = true; + this.run(callback); + } + /** + * Runs whenever a new chunk is received. + * Callback is called whenever there are no more chunks buffering, + * or not enough bytes are buffered to parse. + */ + run(callback) { + while (this.#loop) { + if (this.#state === parserStates.INFO) { + if (this.#byteOffset < 2) { + return callback(); + } + const buffer = this.consume(2); + const fin = (buffer[0] & 128) !== 0; + const opcode = buffer[0] & 15; + const masked = (buffer[1] & 128) === 128; + const fragmented = !fin && opcode !== opcodes.CONTINUATION; + const payloadLength = buffer[1] & 127; + const rsv1 = buffer[0] & 64; + const rsv2 = buffer[0] & 32; + const rsv3 = buffer[0] & 16; + if (!isValidOpcode(opcode)) { + failWebsocketConnection(this.ws, "Invalid opcode received"); + return callback(); + } + if (masked) { + failWebsocketConnection(this.ws, "Frame cannot be masked"); + return callback(); + } + if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) { + failWebsocketConnection(this.ws, "Expected RSV1 to be clear."); + return; + } + if (rsv2 !== 0 || rsv3 !== 0) { + failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear"); + return; + } + if (fragmented && !isTextBinaryFrame(opcode)) { + failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); + return; + } + if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) { + failWebsocketConnection(this.ws, "Expected continuation frame"); + return; + } + if (this.#info.fragmented && fragmented) { + failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); + return; + } + if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) { + failWebsocketConnection(this.ws, "Control frame either too large or fragmented"); + return; + } + if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) { + failWebsocketConnection(this.ws, "Unexpected continuation frame"); + return; + } + if (payloadLength <= 125) { + this.#info.payloadLength = payloadLength; + this.#state = parserStates.READ_DATA; + } else if (payloadLength === 126) { + this.#state = parserStates.PAYLOADLENGTH_16; + } else if (payloadLength === 127) { + this.#state = parserStates.PAYLOADLENGTH_64; + } + if (isTextBinaryFrame(opcode)) { + this.#info.binaryType = opcode; + this.#info.compressed = rsv1 !== 0; + } + this.#info.opcode = opcode; + this.#info.masked = masked; + this.#info.fin = fin; + this.#info.fragmented = fragmented; + } else if (this.#state === parserStates.PAYLOADLENGTH_16) { + if (this.#byteOffset < 2) { + return callback(); + } + 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(); + } + 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; + } + 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(); + } + const body = this.consume(this.#info.payloadLength); + if (isControlFrame(this.#info.opcode)) { + this.#loop = this.parseControlFrame(body); + this.#state = parserStates.INFO; + } else { + if (!this.#info.compressed) { + this.#fragments.push(body); + if (!this.#info.fragmented && this.#info.fin) { + const fullMessage = Buffer.concat(this.#fragments); + websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage); + this.#fragments.length = 0; + } + this.#state = parserStates.INFO; + } else { + this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => { + if (error) { + closeWebSocketConnection(this.ws, 1007, error.message, error.message.length); + return; + } + this.#fragments.push(data); + if (!this.#info.fin) { + this.#state = parserStates.INFO; + this.#loop = true; + this.run(callback); + return; + } + websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments)); + this.#loop = true; + this.#state = parserStates.INFO; + this.#fragments.length = 0; + this.run(callback); + }); + this.#loop = false; + break; + } + } + } + } + } + /** + * Take n bytes from the buffered Buffers + * @param {number} n + * @returns {Buffer} + */ + consume(n) { + if (n > this.#byteOffset) { + throw new Error("Called consume() before buffers satiated."); + } else if (n === 0) { + return emptyBuffer; + } + if (this.#buffers[0].length === n) { + this.#byteOffset -= this.#buffers[0].length; + return this.#buffers.shift(); + } + const buffer = Buffer.allocUnsafe(n); + let offset = 0; + while (offset !== n) { + const next = this.#buffers[0]; + const { length } = next; + if (length + offset === n) { + 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; + } else { + buffer.set(this.#buffers.shift(), offset); + offset += next.length; + } + } + this.#byteOffset -= n; + return buffer; + } + parseCloseBody(data) { + assert(data.length !== 1); + let code; + if (data.length >= 2) { + code = data.readUInt16BE(0); + } + if (code !== void 0 && !isValidStatusCode(code)) { + return { code: 1002, reason: "Invalid status code", error: true }; + } + let reason = data.subarray(2); + if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { + reason = reason.subarray(3); + } + try { + reason = utf8Decode(reason); + } catch { + return { code: 1007, reason: "Invalid UTF-8", error: true }; + } + return { code, reason, error: false }; + } + /** + * Parses control frames. + * @param {Buffer} body + */ + parseControlFrame(body) { + const { opcode, payloadLength } = this.#info; + if (opcode === opcodes.CLOSE) { + if (payloadLength === 1) { + failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); + return false; + } + this.#info.closeInfo = this.parseCloseBody(body); + if (this.#info.closeInfo.error) { + const { code, reason } = this.#info.closeInfo; + closeWebSocketConnection(this.ws, code, reason, reason.length); + failWebsocketConnection(this.ws, reason); + return false; + } + if (this.ws[kSentClose] !== sentCloseFrameState.SENT) { + let body2 = emptyBuffer; + if (this.#info.closeInfo.code) { + 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] = sentCloseFrameState.SENT; + } + } + ); + } + this.ws[kReadyState] = states.CLOSING; + this.ws[kReceivedClose] = true; + return false; + } else if (opcode === opcodes.PING) { + if (!this.ws[kReceivedClose]) { + const frame = new WebsocketFrameSend(body); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body + }); + } + } + } else if (opcode === opcodes.PONG) { + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body + }); + } + } + return true; + } + get closingInfo() { + return this.#info.closeInfo; + } + }; + module2.exports = { + ByteParser + }; + } +}); + +// node_modules/undici/lib/web/websocket/sender.js +var require_sender = __commonJS({ + "node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) { + "use strict"; + var { WebsocketFrameSend } = require_frame(); + var { opcodes, sendHints } = require_constants5(); + var FixedQueue = require_fixed_queue(); + var FastBuffer = Buffer[Symbol.species]; + var SendQueue = class { + /** + * @type {FixedQueue} + */ + #queue = new FixedQueue(); + /** + * @type {boolean} + */ + #running = false; + /** @type {import('node:net').Socket} */ + #socket; + constructor(socket) { + this.#socket = socket; + } + add(item, cb, hint) { + if (hint !== sendHints.blob) { + const frame = createFrame(item, hint); + if (!this.#running) { + this.#socket.write(frame, cb); + } else { + const node2 = { + promise: null, + callback: cb, + frame + }; + this.#queue.push(node2); + } + return; + } + const node = { + promise: item.arrayBuffer().then((ab) => { + node.promise = null; + node.frame = createFrame(ab, hint); + }), + callback: cb, + frame: null + }; + this.#queue.push(node); + if (!this.#running) { + this.#run(); + } + } + async #run() { + this.#running = true; + const queue = this.#queue; + while (!queue.isEmpty()) { + const node = queue.shift(); + if (node.promise !== null) { + await node.promise; + } + this.#socket.write(node.frame, node.callback); + node.callback = node.frame = null; + } + this.#running = false; + } + }; + function createFrame(data, hint) { + return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY); + } + function toBuffer(data, hint) { + switch (hint) { + case sendHints.string: + return Buffer.from(data); + case sendHints.arrayBuffer: + case sendHints.blob: + return new FastBuffer(data); + case sendHints.typedArray: + return new FastBuffer(data.buffer, data.byteOffset, data.byteLength); + } + } + module2.exports = { SendQueue }; + } +}); + +// node_modules/undici/lib/web/websocket/websocket.js +var require_websocket = __commonJS({ + "node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { URLSerializer } = require_data_url(); + var { environmentSettingsObject } = require_util2(); + var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants5(); + var { + kWebSocketURL, + kReadyState, + kController, + kBinaryType, + kResponse, + kSentClose, + kByteParser + } = require_symbols5(); + var { + isConnecting, + isEstablished, + isClosing, + isValidSubprotocol, + fireEvent + } = require_util7(); + var { establishWebSocketConnection, closeWebSocketConnection } = require_connection(); + var { ByteParser } = require_receiver(); + var { kEnumerableProperty, isBlobLike } = require_util(); + var { getGlobalDispatcher } = require_global2(); + var { types } = require("node:util"); + var { ErrorEvent, CloseEvent } = require_events(); + var { SendQueue } = require_sender(); + var WebSocket = class _WebSocket extends EventTarget { + #events = { + open: null, + error: null, + close: null, + message: null + }; + #bufferedAmount = 0; + #protocol = ""; + #extensions = ""; + /** @type {SendQueue} */ + #sendQueue; + /** + * @param {string} url + * @param {string|string[]} protocols + */ + constructor(url, protocols = []) { + super(); + webidl.util.markAsUncloneable(this); + const prefix = "WebSocket constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options"); + url = webidl.converters.USVString(url, prefix, "url"); + protocols = options.protocols; + const baseURL = environmentSettingsObject.settingsObject.baseUrl; + let urlRecord; + try { + urlRecord = new URL(url, baseURL); + } catch (e) { + throw new DOMException(e, "SyntaxError"); + } + if (urlRecord.protocol === "http:") { + urlRecord.protocol = "ws:"; + } else if (urlRecord.protocol === "https:") { + urlRecord.protocol = "wss:"; + } + if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { + throw new DOMException( + `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, + "SyntaxError" + ); + } + if (urlRecord.hash || urlRecord.href.endsWith("#")) { + throw new DOMException("Got fragment", "SyntaxError"); + } + if (typeof protocols === "string") { + protocols = [protocols]; + } + if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) { + throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { + throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + this[kWebSocketURL] = new URL(urlRecord.href); + const client = environmentSettingsObject.settingsObject; + this[kController] = establishWebSocketConnection( + urlRecord, + protocols, + client, + this, + (response, extensions) => this.#onConnectionEstablished(response, extensions), + options + ); + this[kReadyState] = _WebSocket.CONNECTING; + this[kSentClose] = sentCloseFrameState.NOT_SENT; + this[kBinaryType] = "blob"; + } + /** + * @see https://websockets.spec.whatwg.org/#dom-websocket-close + * @param {number|undefined} code + * @param {string|undefined} reason + */ + close(code = void 0, reason = void 0) { + webidl.brandCheck(this, _WebSocket); + const prefix = "WebSocket.close"; + if (code !== void 0) { + code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true }); + } + if (reason !== void 0) { + reason = webidl.converters.USVString(reason, prefix, "reason"); + } + if (code !== void 0) { + if (code !== 1e3 && (code < 3e3 || code > 4999)) { + throw new DOMException("invalid code", "InvalidAccessError"); + } + } + let reasonByteLength = 0; + if (reason !== void 0) { + reasonByteLength = Buffer.byteLength(reason); + if (reasonByteLength > 123) { + throw new DOMException( + `Reason must be less than 123 bytes; received ${reasonByteLength}`, + "SyntaxError" + ); + } + } + closeWebSocketConnection(this, code, reason, reasonByteLength); + } + /** + * @see https://websockets.spec.whatwg.org/#dom-websocket-send + * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data + */ + send(data) { + webidl.brandCheck(this, _WebSocket); + const prefix = "WebSocket.send"; + webidl.argumentLengthCheck(arguments, 1, prefix); + data = webidl.converters.WebSocketSendData(data, prefix, "data"); + if (isConnecting(this)) { + throw new DOMException("Sent before connected.", "InvalidStateError"); + } + if (!isEstablished(this) || isClosing(this)) { + return; + } + if (typeof data === "string") { + const length = Buffer.byteLength(data); + this.#bufferedAmount += length; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= length; + }, sendHints.string); + } else if (types.isArrayBuffer(data)) { + this.#bufferedAmount += data.byteLength; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.byteLength; + }, sendHints.arrayBuffer); + } else if (ArrayBuffer.isView(data)) { + this.#bufferedAmount += data.byteLength; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.byteLength; + }, sendHints.typedArray); + } else if (isBlobLike(data)) { + this.#bufferedAmount += data.size; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.size; + }, sendHints.blob); + } + } + get readyState() { + webidl.brandCheck(this, _WebSocket); + return this[kReadyState]; + } + get bufferedAmount() { + webidl.brandCheck(this, _WebSocket); + return this.#bufferedAmount; + } + get url() { + webidl.brandCheck(this, _WebSocket); + return URLSerializer(this[kWebSocketURL]); + } + get extensions() { + webidl.brandCheck(this, _WebSocket); + return this.#extensions; + } + get protocol() { + webidl.brandCheck(this, _WebSocket); + return this.#protocol; + } + get onopen() { + webidl.brandCheck(this, _WebSocket); + return this.#events.open; + } + set onopen(fn) { + webidl.brandCheck(this, _WebSocket); + if (this.#events.open) { + this.removeEventListener("open", this.#events.open); + } + if (typeof fn === "function") { + this.#events.open = fn; + this.addEventListener("open", fn); + } else { + this.#events.open = null; + } + } + get onerror() { + webidl.brandCheck(this, _WebSocket); + return this.#events.error; + } + set onerror(fn) { + webidl.brandCheck(this, _WebSocket); + if (this.#events.error) { + this.removeEventListener("error", this.#events.error); + } + if (typeof fn === "function") { + this.#events.error = fn; + this.addEventListener("error", fn); + } else { + this.#events.error = null; + } + } + get onclose() { + webidl.brandCheck(this, _WebSocket); + return this.#events.close; + } + set onclose(fn) { + webidl.brandCheck(this, _WebSocket); + if (this.#events.close) { + this.removeEventListener("close", this.#events.close); + } + if (typeof fn === "function") { + this.#events.close = fn; + this.addEventListener("close", fn); + } else { + this.#events.close = null; + } + } + get onmessage() { + webidl.brandCheck(this, _WebSocket); + return this.#events.message; + } + set onmessage(fn) { + webidl.brandCheck(this, _WebSocket); + if (this.#events.message) { + this.removeEventListener("message", this.#events.message); + } + if (typeof fn === "function") { + this.#events.message = fn; + this.addEventListener("message", fn); + } else { + this.#events.message = null; + } + } + get binaryType() { + webidl.brandCheck(this, _WebSocket); + return this[kBinaryType]; + } + set binaryType(type) { + webidl.brandCheck(this, _WebSocket); + if (type !== "blob" && type !== "arraybuffer") { + this[kBinaryType] = "blob"; + } else { + this[kBinaryType] = type; + } + } + /** + * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol + */ + #onConnectionEstablished(response, parsedExtensions) { + this[kResponse] = response; + const parser = new ByteParser(this, parsedExtensions); + parser.on("drain", onParserDrain); + parser.on("error", onParserError.bind(this)); + response.socket.ws = this; + this[kByteParser] = parser; + this.#sendQueue = new SendQueue(response.socket); + this[kReadyState] = states.OPEN; + const extensions = response.headersList.get("sec-websocket-extensions"); + if (extensions !== null) { + this.#extensions = extensions; + } + const protocol = response.headersList.get("sec-websocket-protocol"); + if (protocol !== null) { + this.#protocol = protocol; + } + 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; + Object.defineProperties(WebSocket.prototype, { + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors, + url: kEnumerableProperty, + readyState: kEnumerableProperty, + bufferedAmount: kEnumerableProperty, + onopen: kEnumerableProperty, + onerror: kEnumerableProperty, + onclose: kEnumerableProperty, + close: kEnumerableProperty, + onmessage: kEnumerableProperty, + binaryType: kEnumerableProperty, + send: kEnumerableProperty, + extensions: kEnumerableProperty, + protocol: kEnumerableProperty, + [Symbol.toStringTag]: { + 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.DOMString + ); + webidl.converters["DOMString or sequence"] = function(V, prefix, argument) { + if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) { + return webidl.converters["sequence"](V); + } + return webidl.converters.DOMString(V, prefix, argument); + }; + webidl.converters.WebSocketInit = webidl.dictionaryConverter([ + { + key: "protocols", + converter: webidl.converters["DOMString or sequence"], + defaultValue: () => new Array(0) + }, + { + key: "dispatcher", + converter: webidl.converters.any, + defaultValue: () => getGlobalDispatcher() + }, + { + 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); + } + return { protocols: webidl.converters["DOMString or sequence"](V) }; + }; + webidl.converters.WebSocketSendData = function(V) { + if (webidl.util.Type(V) === "Object") { + if (isBlobLike(V)) { + return webidl.converters.Blob(V, { strict: false }); + } + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { + return webidl.converters.BufferSource(V); + } + } + return webidl.converters.USVString(V); + }; + function onParserDrain() { + this.ws[kResponse].socket.resume(); + } + function onParserError(err) { + let message; + let code; + if (err instanceof CloseEvent) { + message = err.reason; + code = err.code; + } else { + message = err.message; + } + fireEvent("error", this, () => new ErrorEvent("error", { error: err, message })); + closeWebSocketConnection(this, code); + } + module2.exports = { + WebSocket + }; + } +}); + +// node_modules/undici/lib/web/eventsource/util.js +var require_util8 = __commonJS({ + "node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) { + "use strict"; + function isValidLastEventId(value) { + return value.indexOf("\0") === -1; + } + function isASCIINumber(value) { + if (value.length === 0) return false; + for (let i = 0; i < value.length; i++) { + if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false; + } + return true; + } + function delay(ms) { + return new Promise((resolve) => { + setTimeout(resolve, ms).unref(); + }); + } + module2.exports = { + isValidLastEventId, + isASCIINumber, + delay + }; + } +}); + +// node_modules/undici/lib/web/eventsource/eventsource-stream.js +var require_eventsource_stream = __commonJS({ + "node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) { + "use strict"; + var { Transform } = require("node:stream"); + var { isASCIINumber, isValidLastEventId } = require_util8(); + var BOM = [239, 187, 191]; + var LF = 10; + var CR = 13; + var COLON = 58; + var SPACE = 32; + var EventSourceStream = class extends Transform { + /** + * @type {eventSourceSettings} + */ + state = null; + /** + * Leading byte-order-mark check. + * @type {boolean} + */ + checkBOM = true; + /** + * @type {boolean} + */ + crlfCheck = false; + /** + * @type {boolean} + */ + eventEndCheck = false; + /** + * @type {Buffer} + */ + buffer = null; + pos = 0; + event = { + data: void 0, + event: void 0, + id: void 0, + retry: void 0 + }; + /** + * @param {object} options + * @param {eventSourceSettings} options.eventSourceSettings + * @param {Function} [options.push] + */ + constructor(options = {}) { + options.readableObjectMode = true; + super(options); + this.state = options.eventSourceSettings || {}; + if (options.push) { + this.push = options.push; + } + } + /** + * @param {Buffer} chunk + * @param {string} _encoding + * @param {Function} callback + * @returns {void} + */ + _transform(chunk, _encoding, callback) { + if (chunk.length === 0) { + callback(); + return; + } + if (this.buffer) { + this.buffer = Buffer.concat([this.buffer, chunk]); + } else { + this.buffer = chunk; + } + if (this.checkBOM) { + switch (this.buffer.length) { + case 1: + if (this.buffer[0] === BOM[0]) { + callback(); + return; + } + this.checkBOM = false; + callback(); + return; + case 2: + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) { + callback(); + return; + } + this.checkBOM = false; + break; + case 3: + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) { + this.buffer = Buffer.alloc(0); + this.checkBOM = false; + callback(); + return; + } + this.checkBOM = false; + break; + default: + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) { + this.buffer = this.buffer.subarray(3); + } + this.checkBOM = false; + break; + } + } + while (this.pos < this.buffer.length) { + if (this.eventEndCheck) { + if (this.crlfCheck) { + if (this.buffer[this.pos] === LF) { + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + this.crlfCheck = false; + continue; + } + this.crlfCheck = false; + } + if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) { + if (this.buffer[this.pos] === CR) { + this.crlfCheck = true; + } + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) { + this.processEvent(this.event); + } + this.clearEvent(); + continue; + } + this.eventEndCheck = false; + continue; + } + if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) { + if (this.buffer[this.pos] === CR) { + this.crlfCheck = true; + } + this.parseLine(this.buffer.subarray(0, this.pos), this.event); + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + this.eventEndCheck = true; + continue; + } + this.pos++; + } + callback(); + } + /** + * @param {Buffer} line + * @param {EventStreamEvent} event + */ + parseLine(line, event) { + if (line.length === 0) { + return; + } + const colonPosition = line.indexOf(COLON); + if (colonPosition === 0) { + return; + } + let field = ""; + let value = ""; + if (colonPosition !== -1) { + field = line.subarray(0, colonPosition).toString("utf8"); + let valueStart = colonPosition + 1; + if (line[valueStart] === SPACE) { + ++valueStart; + } + value = line.subarray(valueStart).toString("utf8"); + } else { + field = line.toString("utf8"); + value = ""; + } + switch (field) { + case "data": + if (event[field] === void 0) { + event[field] = value; + } else { + event[field] += ` +${value}`; + } + break; + case "retry": + if (isASCIINumber(value)) { + event[field] = value; + } + break; + case "id": + if (isValidLastEventId(value)) { + event[field] = value; + } + break; + case "event": + if (value.length > 0) { + event[field] = value; + } + break; + } + } + /** + * @param {EventSourceStreamEvent} event + */ + processEvent(event) { + if (event.retry && isASCIINumber(event.retry)) { + this.state.reconnectionTime = parseInt(event.retry, 10); + } + if (event.id && isValidLastEventId(event.id)) { + this.state.lastEventId = event.id; + } + if (event.data !== void 0) { + this.push({ + type: event.event || "message", + options: { + data: event.data, + lastEventId: this.state.lastEventId, + origin: this.state.origin + } + }); + } + } + clearEvent() { + this.event = { + data: void 0, + event: void 0, + id: void 0, + retry: void 0 + }; + } + }; + module2.exports = { + EventSourceStream + }; + } +}); + +// node_modules/undici/lib/web/eventsource/eventsource.js +var require_eventsource = __commonJS({ + "node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) { + "use strict"; + var { pipeline } = require("node:stream"); + var { fetching } = require_fetch(); + var { makeRequest } = require_request2(); + var { webidl } = require_webidl(); + var { EventSourceStream } = require_eventsource_stream(); + var { parseMIMEType } = require_data_url(); + var { createFastMessageEvent } = require_events(); + var { isNetworkError } = require_response(); + var { delay } = require_util8(); + var { kEnumerableProperty } = require_util(); + var { environmentSettingsObject } = require_util2(); + var experimentalWarned = false; + var defaultReconnectionTime = 3e3; + var CONNECTING = 0; + var OPEN = 1; + var CLOSED = 2; + var ANONYMOUS = "anonymous"; + var USE_CREDENTIALS = "use-credentials"; + var EventSource = class _EventSource extends EventTarget { + #events = { + open: null, + error: null, + message: null + }; + #url = null; + #withCredentials = false; + #readyState = CONNECTING; + #request = null; + #controller = null; + #dispatcher; + /** + * @type {import('./eventsource-stream').eventSourceSettings} + */ + #state; + /** + * Creates a new EventSource object. + * @param {string} url + * @param {EventSourceInit} [eventSourceInitDict] + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface + */ + constructor(url, eventSourceInitDict = {}) { + super(); + webidl.util.markAsUncloneable(this); + const prefix = "EventSource constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning("EventSource is experimental, expect them to change at any time.", { + code: "UNDICI-ES" + }); + } + url = webidl.converters.USVString(url, prefix, "url"); + eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict"); + this.#dispatcher = eventSourceInitDict.dispatcher; + this.#state = { + lastEventId: "", + reconnectionTime: defaultReconnectionTime + }; + const settings = environmentSettingsObject; + let urlRecord; + try { + urlRecord = new URL(url, settings.settingsObject.baseUrl); + this.#state.origin = urlRecord.origin; + } catch (e) { + throw new DOMException(e, "SyntaxError"); + } + this.#url = urlRecord.href; + let corsAttributeState = ANONYMOUS; + if (eventSourceInitDict.withCredentials) { + corsAttributeState = USE_CREDENTIALS; + this.#withCredentials = true; + } + const initRequest = { + redirect: "follow", + keepalive: true, + // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes + mode: "cors", + credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit", + referrer: "no-referrer" + }; + initRequest.client = environmentSettingsObject.settingsObject; + initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]]; + initRequest.cache = "no-store"; + initRequest.initiator = "other"; + initRequest.urlList = [new URL(this.#url)]; + this.#request = makeRequest(initRequest); + this.#connect(); + } + /** + * Returns the state of this EventSource object's connection. It can have the + * values described below. + * @returns {0|1|2} + * @readonly + */ + get readyState() { + return this.#readyState; + } + /** + * Returns the URL providing the event stream. + * @readonly + * @returns {string} + */ + get url() { + return this.#url; + } + /** + * Returns a boolean indicating whether the EventSource object was + * instantiated with CORS credentials set (true), or not (false, the default). + */ + get withCredentials() { + return this.#withCredentials; + } + #connect() { + if (this.#readyState === CLOSED) return; + this.#readyState = CONNECTING; + const fetchParams = { + request: this.#request, + dispatcher: this.#dispatcher + }; + const processEventSourceEndOfBody = (response) => { + if (isNetworkError(response)) { + this.dispatchEvent(new Event("error")); + this.close(); + } + this.#reconnect(); + }; + fetchParams.processResponseEndOfBody = processEventSourceEndOfBody; + fetchParams.processResponse = (response) => { + if (isNetworkError(response)) { + if (response.aborted) { + this.close(); + this.dispatchEvent(new Event("error")); + return; + } else { + this.#reconnect(); + return; + } + } + const contentType = response.headersList.get("content-type", true); + const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure"; + const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream"; + if (response.status !== 200 || contentTypeValid === false) { + this.close(); + this.dispatchEvent(new Event("error")); + return; + } + this.#readyState = OPEN; + this.dispatchEvent(new Event("open")); + this.#state.origin = response.urlList[response.urlList.length - 1].origin; + const eventSourceStream = new EventSourceStream({ + eventSourceSettings: this.#state, + push: (event) => { + this.dispatchEvent(createFastMessageEvent( + event.type, + event.options + )); + } + }); + pipeline( + response.body.stream, + eventSourceStream, + (error) => { + if (error?.aborted === false) { + this.close(); + this.dispatchEvent(new Event("error")); + } + } + ); + }; + this.#controller = fetching(fetchParams); + } + /** + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model + * @returns {Promise} + */ + async #reconnect() { + if (this.#readyState === CLOSED) return; + this.#readyState = CONNECTING; + this.dispatchEvent(new Event("error")); + await delay(this.#state.reconnectionTime); + if (this.#readyState !== CONNECTING) return; + if (this.#state.lastEventId.length) { + this.#request.headersList.set("last-event-id", this.#state.lastEventId, true); + } + this.#connect(); + } + /** + * Closes the connection, if any, and sets the readyState attribute to + * CLOSED. + */ + close() { + webidl.brandCheck(this, _EventSource); + if (this.#readyState === CLOSED) return; + this.#readyState = CLOSED; + this.#controller.abort(); + this.#request = null; + } + get onopen() { + return this.#events.open; + } + set onopen(fn) { + if (this.#events.open) { + this.removeEventListener("open", this.#events.open); + } + if (typeof fn === "function") { + this.#events.open = fn; + this.addEventListener("open", fn); + } else { + this.#events.open = null; + } + } + get onmessage() { + return this.#events.message; + } + set onmessage(fn) { + if (this.#events.message) { + this.removeEventListener("message", this.#events.message); + } + if (typeof fn === "function") { + this.#events.message = fn; + this.addEventListener("message", fn); + } else { + this.#events.message = null; + } + } + get onerror() { + return this.#events.error; + } + set onerror(fn) { + if (this.#events.error) { + this.removeEventListener("error", this.#events.error); + } + if (typeof fn === "function") { + this.#events.error = fn; + this.addEventListener("error", fn); + } else { + this.#events.error = null; + } + } + }; + var constantsPropertyDescriptors = { + CONNECTING: { + __proto__: null, + configurable: false, + enumerable: true, + value: CONNECTING, + writable: false + }, + OPEN: { + __proto__: null, + configurable: false, + enumerable: true, + value: OPEN, + writable: false + }, + CLOSED: { + __proto__: null, + configurable: false, + enumerable: true, + value: CLOSED, + writable: false + } + }; + Object.defineProperties(EventSource, constantsPropertyDescriptors); + Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors); + Object.defineProperties(EventSource.prototype, { + close: kEnumerableProperty, + onerror: kEnumerableProperty, + onmessage: kEnumerableProperty, + onopen: kEnumerableProperty, + readyState: kEnumerableProperty, + url: kEnumerableProperty, + withCredentials: kEnumerableProperty + }); + webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([ + { + key: "withCredentials", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "dispatcher", + // undici only + converter: webidl.converters.any + } + ]); + module2.exports = { + EventSource, + defaultReconnectionTime + }; + } +}); + +// node_modules/undici/index.js +var require_undici = __commonJS({ + "node_modules/undici/index.js"(exports2, module2) { + "use strict"; + var Client = require_client(); + var Dispatcher = require_dispatcher(); + var Pool = require_pool(); + var BalancedPool = require_balanced_pool(); + var Agent = require_agent(); + var ProxyAgent = require_proxy_agent(); + var EnvHttpProxyAgent = require_env_http_proxy_agent(); + var RetryAgent = require_retry_agent(); + var errors = require_errors(); + 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 RetryHandler = require_retry_handler(); + var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); + var DecoratorHandler = require_decorator_handler(); + var RedirectHandler = require_redirect_handler(); + var createRedirectInterceptor = require_redirect_interceptor(); + 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.EnvHttpProxyAgent = EnvHttpProxyAgent; + module2.exports.RetryAgent = RetryAgent; + module2.exports.RetryHandler = RetryHandler; + module2.exports.DecoratorHandler = DecoratorHandler; + module2.exports.RedirectHandler = RedirectHandler; + module2.exports.createRedirectInterceptor = createRedirectInterceptor; + module2.exports.interceptors = { + redirect: require_redirect(), + retry: require_retry(), + dump: require_dump(), + dns: require_dns() + }; + module2.exports.buildConnector = buildConnector; + module2.exports.errors = errors; + module2.exports.util = { + parseHeaders: util.parseHeaders, + headerNameToString: util.headerNameToString + }; + function makeDispatcher(fn) { + return (url, opts, handler2) => { + if (typeof opts === "function") { + handler2 = opts; + opts = null; + } + 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 && opts.path != null) { + if (typeof opts.path !== "string") { + throw new InvalidArgumentError("invalid opts.path"); + } + let path = opts.path; + if (!opts.path.startsWith("/")) { + path = `/${path}`; + } + url = new URL(util.parseOrigin(url).origin + path); + } else { + if (!opts) { + opts = typeof url === "object" ? url : {}; + } + url = util.parseURL(url); + } + const { agent, dispatcher = getGlobalDispatcher() } = opts; + if (agent) { + 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") + }, handler2); + }; + } + module2.exports.setGlobalDispatcher = setGlobalDispatcher; + module2.exports.getGlobalDispatcher = getGlobalDispatcher; + var fetchImpl = require_fetch().fetch; + module2.exports.fetch = async function fetch2(init, options = void 0) { + try { + return await fetchImpl(init, options); + } catch (err) { + if (err && typeof err === "object") { + Error.captureStackTrace(err); + } + 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 = globalThis.File ?? require("node:buffer").File; + module2.exports.FileReader = require_filereader().FileReader; + var { setGlobalOrigin, getGlobalOrigin } = require_global(); + module2.exports.setGlobalOrigin = setGlobalOrigin; + module2.exports.getGlobalOrigin = getGlobalOrigin; + var { CacheStorage } = require_cachestorage(); + var { kConstruct } = require_symbols4(); + module2.exports.caches = new CacheStorage(kConstruct); + var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); + module2.exports.deleteCookie = deleteCookie; + module2.exports.getCookies = getCookies; + module2.exports.getSetCookies = getSetCookies; + module2.exports.setCookie = setCookie; + var { parseMIMEType, serializeAMimeType } = require_data_url(); + module2.exports.parseMIMEType = parseMIMEType; + module2.exports.serializeAMimeType = serializeAMimeType; + var { CloseEvent, ErrorEvent, MessageEvent } = require_events(); + module2.exports.WebSocket = require_websocket().WebSocket; + module2.exports.CloseEvent = CloseEvent; + module2.exports.ErrorEvent = ErrorEvent; + module2.exports.MessageEvent = MessageEvent; + 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; + var { EventSource } = require_eventsource(); + module2.exports.EventSource = EventSource; + } +}); + +// node_modules/@actions/github/node_modules/@actions/http-client/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/@actions/github/node_modules/@actions/http-client/lib/index.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || /* @__PURE__ */ function() { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + } + __setModuleDefault(result, mod); + return result; + }; + }(); + var __awaiter2 = exports2 && exports2.__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(exports2, "__esModule", { value: true }); + exports2.HttpClient = exports2.HttpClientResponse = exports2.HttpClientError = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; + exports2.getProxyUrl = getProxyUrl; + exports2.isHttps = isHttps; + var http = __importStar(require("http")); + var https = __importStar(require("https")); + var pm = __importStar(require_proxy2()); + 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 || (exports2.HttpCodes = HttpCodes = {})); + var Headers; + (function(Headers2) { + Headers2["Accept"] = "accept"; + Headers2["ContentType"] = "content-type"; + })(Headers || (exports2.Headers = Headers = {})); + var MediaTypes; + (function(MediaTypes2) { + MediaTypes2["ApplicationJson"] = "application/json"; + })(MediaTypes || (exports2.MediaTypes = MediaTypes = {})); + function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ""; + } + 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 HttpClientError = class _HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = "HttpClientError"; + this.statusCode = statusCode; + Object.setPrototypeOf(this, _HttpClientError.prototype); + } + }; + exports2.HttpClientError = HttpClientError; + var HttpClientResponse = class { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter2(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 __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter2(this, void 0, void 0, function* () { + const chunks = []; + this.message.on("data", (chunk) => { + chunks.push(chunk); + }); + this.message.on("end", () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } + }; + exports2.HttpClientResponse = HttpClientResponse; + function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === "https:"; + } + var HttpClient2 = class { + constructor(userAgent2, 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 = this._getUserAgentWithOrchestrationId(userAgent2); + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("GET", requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("DELETE", requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("POST", requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("PATCH", requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("PUT", requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request("HEAD", requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter2(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl_1) { + return __awaiter2(this, arguments, void 0, function* (requestUrl, additionalHeaders = {}) { + 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_1, obj_1) { + return __awaiter2(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl_1, obj_1) { + return __awaiter2(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl_1, obj_1) { + return __awaiter2(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter2(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; + do { + response = yield this.requestRaw(info, data); + if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler2 of this.handlers) { + if (handler2.canHandleAuthentication(response)) { + authenticationHandler = handler2; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } else { + 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"]; + if (!redirectUrl) { + 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."); + } + yield response.readBody(); + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + if (header.toLowerCase() === "authorization") { + delete headers[header]; + } + } + } + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode)) { + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } 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._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } else if (!res) { + reject(new Error("Unknown error")); + } else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === "string") { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers["Content-Length"] = Buffer.byteLength(data, "utf8"); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + 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; + }); + 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); + } else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @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); + } + getAgentDispatcher(serverUrl) { + const parsedUrl = new URL(serverUrl); + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; + } + 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); + if (this.userAgent != null) { + info.options.headers["user-agent"] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + if (this.handlers) { + for (const handler2 of this.handlers) { + handler2.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys2(this.requestOptions.headers), lowercaseKeys2(headers || {})); + } + return lowercaseKeys2(headers || {}); + } + /** + * Gets an existing header value or returns a default. + * Handles converting number header values to strings since HTTP headers must be strings. + * Note: This returns string | string[] since some headers can have multiple values. + * For headers that must always be a single string (like Content-Type), use the + * specialized _getExistingOrDefaultContentTypeHeader method instead. + */ + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + const headerValue = lowercaseKeys2(this.requestOptions.headers)[header]; + if (headerValue) { + clientHeader = typeof headerValue === "number" ? headerValue.toString() : headerValue; + } + } + const additionalValue = additionalHeaders[header]; + if (additionalValue !== void 0) { + return typeof additionalValue === "number" ? additionalValue.toString() : additionalValue; + } + if (clientHeader !== void 0) { + return clientHeader; + } + return _default; + } + /** + * Specialized version of _getExistingOrDefaultHeader for Content-Type header. + * Always returns a single string (not an array) since Content-Type should be a single value. + * Converts arrays to comma-separated strings and numbers to strings to ensure type safety. + * This was split from _getExistingOrDefaultHeader to provide stricter typing for callers + * that assign the result to places expecting a string (e.g., additionalHeaders[Headers.ContentType]). + */ + _getExistingOrDefaultContentTypeHeader(additionalHeaders, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + const headerValue = lowercaseKeys2(this.requestOptions.headers)[Headers.ContentType]; + if (headerValue) { + if (typeof headerValue === "number") { + clientHeader = String(headerValue); + } else if (Array.isArray(headerValue)) { + clientHeader = headerValue.join(", "); + } else { + clientHeader = headerValue; + } + } + } + const additionalValue = additionalHeaders[Headers.ContentType]; + if (additionalValue !== void 0) { + if (typeof additionalValue === "number") { + return String(additionalValue); + } else if (Array.isArray(additionalValue)) { + return additionalValue.join(", "); + } else { + return additionalValue; + } + } + if (clientHeader !== void 0) { + return clientHeader; + } + return _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (!useProxy) { + agent = this._agent; + } + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === "https:"; + let maxSockets = 100; + if (this.requestOptions) { + 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:"; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + if (!agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + if (usingSsl && this._ignoreSslError) { + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + let proxyAgent; + if (this._keepAlive) { + 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: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString("base64")}` + })); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); + } + return proxyAgent; + } + _getUserAgentWithOrchestrationId(userAgent2) { + const baseUserAgent = userAgent2 || "actions/http-client"; + const orchId = process.env["ACTIONS_ORCHESTRATION_ID"]; + if (orchId) { + const sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, "_"); + return `${baseUserAgent} actions_orchestration_id/${sanitizedId}`; + } + return baseUserAgent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter2(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)); + }); + } + _processResponse(res, options) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter2(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; + } + 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 { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } else { + resolve(response); + } + })); + }); + } + }; + exports2.HttpClient = HttpClient2; + var lowercaseKeys2 = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); + } +}); + +// node_modules/@actions/github/lib/internal/utils.js +function getAuthString(token2, options) { + if (!token2 && !options.auth) { + throw new Error("Parameter token or opts.auth is required"); + } else if (token2 && options.auth) { + throw new Error("Parameters token and opts.auth may not both be specified"); + } + return typeof options.auth === "string" ? options.auth : `token ${token2}`; +} +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +function getProxyAgentDispatcher(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgentDispatcher(destinationUrl); +} +function getProxyFetch(destinationUrl) { + const httpDispatcher = getProxyAgentDispatcher(destinationUrl); + const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { + return (0, import_undici.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); + }); + return proxyFetch; +} +function getApiBaseUrl() { + return process.env["GITHUB_API_URL"] || "https://api.github.com"; +} +var httpClient, import_undici, __awaiter; +var init_utils = __esm({ + "node_modules/@actions/github/lib/internal/utils.js"() { + httpClient = __toESM(require_lib2(), 1); + import_undici = __toESM(require_undici(), 1); + __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()); + }); + }; + } +}); + +// node_modules/universal-user-agent/index.js +function getUserAgent() { + 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})`; + } + return ""; +} +var init_universal_user_agent = __esm({ + "node_modules/universal-user-agent/index.js"() { + } +}); + +// node_modules/before-after-hook/lib/register.js +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + if (!options) { + options = {}; + } + if (Array.isArray(name)) { + return name.reverse().reduce((callback, name2) => { + return register.bind(null, state, name2, callback, options); + }, method)(); + } + return Promise.resolve().then(() => { + if (!state.registry[name]) { + return method(options); + } + return state.registry[name].reduce((method2, registered) => { + return registered.hook.bind(null, method2, options); + }, method)(); + }); +} +var init_register = __esm({ + "node_modules/before-after-hook/lib/register.js"() { + } +}); + +// node_modules/before-after-hook/lib/add.js +function addHook(state, kind, name, hook2) { + const orig = hook2; + if (!state.registry[name]) { + state.registry[name] = []; + } + if (kind === "before") { + hook2 = (method, options) => { + return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); + }; + } + if (kind === "after") { + hook2 = (method, options) => { + let result; + return Promise.resolve().then(method.bind(null, options)).then((result_) => { + result = result_; + return orig(result, options); + }).then(() => { + return result; + }); + }; + } + if (kind === "error") { + hook2 = (method, options) => { + return Promise.resolve().then(method.bind(null, options)).catch((error) => { + return orig(error, options); }); - return wrapper; - function wrapper() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; 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]; + }; + } + state.registry[name].push({ + hook: hook2, + orig + }); +} +var init_add = __esm({ + "node_modules/before-after-hook/lib/add.js"() { + } +}); + +// node_modules/before-after-hook/lib/remove.js +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + const index = state.registry[name].map((registered) => { + return registered.orig; + }).indexOf(method); + if (index === -1) { + return; + } + state.registry[name].splice(index, 1); +} +var init_remove = __esm({ + "node_modules/before-after-hook/lib/remove.js"() { + } +}); + +// node_modules/before-after-hook/index.js +function bindApi(hook2, state, name) { + const removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook2.api = { remove: removeHookRef }; + hook2.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach((kind) => { + const args = name ? [state, kind, name] : [state, kind]; + hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args); + }); +} +function Singular() { + const singularHookName = Symbol("Singular"); + const singularHookState = { + registry: {} + }; + const singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; +} +function Collection() { + const state = { + registry: {} + }; + const hook2 = register.bind(null, state); + bindApi(hook2, state); + return hook2; +} +var bind, bindable, before_after_hook_default; +var init_before_after_hook = __esm({ + "node_modules/before-after-hook/index.js"() { + init_register(); + init_add(); + init_remove(); + bind = Function.bind; + bindable = bind.bind(bind); + before_after_hook_default = { Singular, Collection }; + } +}); + +// node_modules/@octokit/endpoint/dist-bundle/index.js +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} +function isPlainObject(value) { + if (typeof value !== "object" || value === null) return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} +function mergeDeep(defaults2, options) { + const result = Object.assign({}, defaults2); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults2)) Object.assign(result, { [key]: options[key] }); + else result[key] = mergeDeep(defaults2[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} +function merge(defaults2, route, 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.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults2 || {}, options); + if (options.url === "/graphql") { + if (defaults2 && defaults2.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults2.mediaType.previews.filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; +} +function addQueryParameters(url, 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("&"); +} +function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +} +function omit(object, keysToOmit) { + const result = { __proto__: null }; + for (const key of Object.keys(object)) { + if (keysToOmit.indexOf(key) === -1) { + result[key] = object[key]; + } + } + return result; +} +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(""); +} +function encodeUnreserved(str) { + 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); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context3, operator, key, modifier) { + var value = context3[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } }); } - return ret; + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context3) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + template = template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + 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(context3, 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); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); + } +} +function parse(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 parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(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); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (format) => format.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (url.endsWith("/graphql")) { + if (options.mediaType.previews?.length) { + const previewsFromAcceptHeader = headers.accept.match(/(? { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} +function endpointWithDefaults(defaults2, route, options) { + return parse(merge(defaults2, route, options)); +} +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS2 = merge(oldDefaults, newDefaults); + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + return Object.assign(endpoint2, { + DEFAULTS: DEFAULTS2, + defaults: withDefaults.bind(null, DEFAULTS2), + merge: merge.bind(null, DEFAULTS2), + parse + }); +} +var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint; +var init_dist_bundle = __esm({ + "node_modules/@octokit/endpoint/dist-bundle/index.js"() { + init_universal_user_agent(); + VERSION = "0.0.0-development"; + userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; + DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } + }; + urlVariableRegex = /\{[^{}}]+\}/g; + endpoint = withDefaults(null, DEFAULTS); + } +}); + +// node_modules/fast-content-type-parse/index.js +var require_fast_content_type_parse = __commonJS({ + "node_modules/fast-content-type-parse/index.js"(exports2, module2) { + "use strict"; + var NullObject = function NullObject2() { + }; + NullObject.prototype = /* @__PURE__ */ Object.create(null); + var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu; + var quotedPairRE = /\\([\v\u0020-\u00ff])/gu; + var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u; + var defaultContentType = { type: "", parameters: new NullObject() }; + Object.freeze(defaultContentType.parameters); + Object.freeze(defaultContentType); + function parse2(header) { + if (typeof header !== "string") { + throw new TypeError("argument header is required and must be a string"); + } + let index = header.indexOf(";"); + const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); + if (mediaTypeRE.test(type) === false) { + throw new TypeError("invalid media type"); + } + const result = { + type: type.toLowerCase(), + parameters: new NullObject() + }; + if (index === -1) { + return result; + } + let key; + let match; + let value; + paramRE.lastIndex = index; + while (match = paramRE.exec(header)) { + if (match.index !== index) { + throw new TypeError("invalid parameter format"); + } + index += match[0].length; + key = match[1].toLowerCase(); + value = match[2]; + if (value[0] === '"') { + value = value.slice(1, value.length - 1); + quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + } + result.parameters[key] = value; + } + if (index !== header.length) { + throw new TypeError("invalid parameter format"); + } + return result; + } + function safeParse2(header) { + if (typeof header !== "string") { + return defaultContentType; + } + let index = header.indexOf(";"); + const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); + if (mediaTypeRE.test(type) === false) { + return defaultContentType; + } + const result = { + type: type.toLowerCase(), + parameters: new NullObject() + }; + if (index === -1) { + return result; + } + let key; + let match; + let value; + paramRE.lastIndex = index; + while (match = paramRE.exec(header)) { + if (match.index !== index) { + return defaultContentType; + } + index += match[0].length; + key = match[1].toLowerCase(); + value = match[2]; + if (value[0] === '"') { + value = value.slice(1, value.length - 1); + quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + } + result.parameters[key] = value; + } + if (index !== header.length) { + return defaultContentType; } + return result; } + module2.exports.default = { parse: parse2, safeParse: safeParse2 }; + module2.exports.parse = parse2; + module2.exports.safeParse = safeParse2; + module2.exports.defaultContentType = defaultContentType; } }); -// node_modules/once/once.js -var require_once = __commonJS({ - 'node_modules/once/once.js'(exports2, 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); +// node_modules/json-with-bigint/json-with-bigint.js +var intRegex, noiseValue, originalStringify, originalParse, customFormat, bigIntsStringify, noiseStringify, JSONStringify, isContextSourceSupported, convertMarkedBigIntsReviver, JSONParseV2, MAX_INT, MAX_DIGITS, stringsOrLargeNumbers, noiseValueWithQuotes, JSONParse; +var init_json_with_bigint = __esm({ + "node_modules/json-with-bigint/json-with-bigint.js"() { + intRegex = /^-?\d+$/; + noiseValue = /^-?\d+n+$/; + originalStringify = JSON.stringify; + originalParse = JSON.parse; + customFormat = /^-?\d+n$/; + bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; + noiseStringify = /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; + JSONStringify = (value, replacer, space) => { + if ("rawJSON" in JSON) { + return originalStringify( + value, + (key, value2) => { + if (typeof value2 === "bigint") return JSON.rawJSON(value2.toString()); + if (typeof replacer === "function") return replacer(key, value2); + if (Array.isArray(replacer) && replacer.includes(key)) return value2; + return value2; + }, + space + ); + } + if (!value) return originalStringify(value, replacer, space); + const convertedToCustomJSON = originalStringify( + value, + (key, value2) => { + const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue)); + if (isNoise) return value2.toString() + "n"; + if (typeof value2 === "bigint") return value2.toString() + "n"; + if (typeof replacer === "function") return replacer(key, value2); + if (Array.isArray(replacer) && replacer.includes(key)) return value2; + return value2; }, - configurable: true + space + ); + const processedJSON = convertedToCustomJSON.replace( + bigIntsStringify, + "$1$2$3" + ); + const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3"); + return denoisedJSON; + }; + isContextSourceSupported = () => JSON.parse("1", (_, __, context3) => !!context3 && context3.source === "1"); + convertMarkedBigIntsReviver = (key, value, context3, userReviver) => { + const isCustomFormatBigInt = typeof value === "string" && value.match(customFormat); + if (isCustomFormatBigInt) return BigInt(value.slice(0, -1)); + const isNoiseValue = typeof value === "string" && value.match(noiseValue); + if (isNoiseValue) return value.slice(0, -1); + if (typeof userReviver !== "function") return value; + return userReviver(key, value, context3); + }; + JSONParseV2 = (text, reviver) => { + return JSON.parse(text, (key, value, context3) => { + const isBigNumber = typeof value === "number" && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER); + const isInt = context3 && intRegex.test(context3.source); + const isBigInt = isBigNumber && isInt; + if (isBigInt) return BigInt(context3.source); + if (typeof reviver !== "function") return value; + return reviver(key, value, context3); }); - }); - 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; - } - 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; - } + }; + MAX_INT = Number.MAX_SAFE_INTEGER.toString(); + MAX_DIGITS = MAX_INT.length; + stringsOrLargeNumbers = /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g; + noiseValueWithQuotes = /^"-?\d+n+"$/; + JSONParse = (text, reviver) => { + if (!text) return originalParse(text, reviver); + if (isContextSourceSupported()) return JSONParseV2(text, reviver); + const serializedData = text.replace( + stringsOrLargeNumbers, + (text2, digits, fractional, exponential) => { + const isString = text2[0] === '"'; + const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes)); + if (isNoise) return text2.substring(0, text2.length - 1) + 'n"'; + const isFractionalOrExponential = fractional || exponential; + const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT); + if (isString || isFractionalOrExponential || isLessThanMaxSafeInt) + return text2; + return '"' + text2 + 'n"'; + } + ); + return originalParse( + serializedData, + (key, value, context3) => convertMarkedBigIntsReviver(key, value, context3, reviver) + ); + }; } }); -// node_modules/@octokit/request-error/dist-node/index.js -var require_dist_node4 = __commonJS({ - 'node_modules/@octokit/request-error/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function _interopDefault(ex) { - return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex; - } - var deprecation = require_dist_node3(); - var once = _interopDefault(require_once()); - var logOnceCode = once(deprecation2 => console.warn(deprecation2)); - var logOnceHeaders = once(deprecation2 => console.warn(deprecation2)); - var RequestError = class extends Error { +// node_modules/@octokit/request-error/dist-src/index.js +var RequestError; +var init_dist_src = __esm({ + "node_modules/@octokit/request-error/dist-src/index.js"() { + RequestError = class extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; constructor(message, statusCode, options) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = 'HttpError'; - this.status = statusCode; - let headers; - if ('headers' in options && typeof options.headers !== 'undefined') { - headers = options.headers; + super(message, { cause: options.cause }); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; } - if ('response' in options) { + if ("response" in options) { this.response = options.response; - headers = options.response.headers; } 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]') + authorization: options.request.headers.authorization.replace( + /(? { - 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 requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new requestError.RequestError('Not modified', status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return getResponseData(response); - }) - .then(data => { - return { - status, - url, - headers, - data - }; - }) - .catch(error => { - if (error instanceof requestError.RequestError) throw error; - throw new requestError.RequestError(error.message, 500, { - request: requestOptions - }); - }); - } - async function getResponseData(response) { - const contentType = response.headers.get('content-type'); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); - } - function toErrorMessage(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(', ')}`; +// node_modules/@octokit/request/dist-bundle/index.js +function isPlainObject2(value) { + if (typeof value !== "object" || value === null) return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} +async function fetchWrapper(requestOptions) { + const fetch2 = requestOptions.request?.fetch || globalThis.fetch; + if (!fetch2) { + 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" + ); + } + const log = requestOptions.request?.log || console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body; + const requestHeaders = Object.fromEntries( + Object.entries(requestOptions.headers).map(([name, value]) => [ + name, + String(value) + ]) + ); + let fetchResponse; + try { + fetchResponse = await fetch2(requestOptions.url, { + method: requestOptions.method, + body, + redirect: requestOptions.request?.redirect, + headers: requestHeaders, + signal: requestOptions.request?.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" } + }); + } catch (error) { + let message = "Unknown Error"; + if (error instanceof Error) { + if (error.name === "AbortError") { + error.status = 500; + throw error; + } + 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; } - return data.message; } - 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); - if (!endpointOptions.request || !endpointOptions.request.hook) { - 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 Object.assign(newApi, { - endpoint: endpoint2, - defaults: withDefaults.bind(null, endpoint2) - }); + const requestError = new RequestError(message, 500, { + request: requestOptions + }); + requestError.cause = error; + throw requestError; + } + const status = fetchResponse.status; + const url = fetchResponse.url; + const responseHeaders = {}; + for (const [key, value] of fetchResponse.headers) { + responseHeaders[key] = value; + } + const octokitResponse = { + url, + status, + headers: responseHeaders, + data: "" + }; + if ("deprecation" in responseHeaders) { + const matches = responseHeaders.link && responseHeaders.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 ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return octokitResponse; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return octokitResponse; + } + throw new RequestError(fetchResponse.statusText, status, { + response: octokitResponse, + request: requestOptions + }); + } + if (status === 304) { + octokitResponse.data = await getResponseData(fetchResponse); + throw new RequestError("Not modified", status, { + response: octokitResponse, + request: requestOptions + }); + } + if (status >= 400) { + octokitResponse.data = await getResponseData(fetchResponse); + throw new RequestError(toErrorMessage(octokitResponse.data), status, { + response: octokitResponse, + request: requestOptions + }); + } + octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body; + return octokitResponse; +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (!contentType) { + return response.text().catch(noop); + } + const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType); + if (isJSONResponse(mimetype)) { + let text = ""; + try { + text = await response.text(); + return JSONParse(text); + } catch (err) { + return text; + } + } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { + return response.text().catch(noop); + } else { + return response.arrayBuffer().catch( + /* v8 ignore next -- @preserve */ + () => new ArrayBuffer(0) + ); + } +} +function isJSONResponse(mimetype) { + return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; +} +function toErrorMessage(data) { + if (typeof data === "string") { + return data; + } + if (data instanceof ArrayBuffer) { + return "Unknown error"; + } + if ("message" in data) { + const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; + return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} +function withDefaults2(oldEndpoint, newDefaults) { + 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)); } - var request = withDefaults(endpoint.endpoint, { + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults2.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults2.bind(null, endpoint2) + }); +} +var import_fast_content_type_parse, VERSION2, defaults_default, noop, request; +var init_dist_bundle2 = __esm({ + "node_modules/@octokit/request/dist-bundle/index.js"() { + init_dist_bundle(); + init_universal_user_agent(); + import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1); + init_json_with_bigint(); + init_dist_src(); + VERSION2 = "10.0.8"; + defaults_default = { headers: { - 'user-agent': `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}` } - }); - exports2.request = request; + }; + noop = () => ""; + request = withDefaults2(endpoint, defaults_default); } }); -// node_modules/@octokit/graphql/dist-node/index.js -var require_dist_node6 = __commonJS({ - 'node_modules/@octokit/graphql/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var request = require_dist_node5(); - var universalUserAgent = require_dist_node(); - var VERSION = '4.8.0'; - function _buildMessageForResponseErrors(data) { - return ( - `Request failed due to following response errors: -` + data.errors.map(e => ` - ${e.message}`).join('\n') +// node_modules/@octokit/graphql/dist-bundle/index.js +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +function graphql(request2, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + 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 baseUrl2 = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl2)) { + requestOptions.url = baseUrl2.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request2(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data ); } - var GraphqlResponseError = class extends Error { + return response.data.data; + }); +} +function withDefaults3(request2, newDefaults) { + const newRequest = request2.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults3.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} +function withCustomRequest(customRequest) { + return withDefaults3(customRequest, { + method: "POST", + url: "/graphql" + }); +} +var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2; +var init_dist_bundle3 = __esm({ + "node_modules/@octokit/graphql/dist-bundle/index.js"() { + init_dist_bundle2(); + init_universal_user_agent(); + VERSION3 = "0.0.0-development"; + 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; if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } } + name = "GraphqlResponseError"; + errors; + data; }; - 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\/?$/; - function graphql(request2, query, options) { - if (options) { - if (typeof query === 'string' && 'query' in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); - } - for (const key in options) { - 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; - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, '/api/graphql'); - } - return request2(requestOptions).then(response => { - if (response.data.errors) { - const headers = {}; - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; - } - throw new GraphqlResponseError(requestOptions, headers, response.data); - } - return response.data.data; - }); - } - function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: request.request.endpoint - }); - } - var graphql$1 = withDefaults(request.request, { + NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", + "operationName" + ]; + FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; + GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; + graphql2 = withDefaults3(request, { headers: { - 'user-agent': `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent()}` }, - method: 'POST', - url: '/graphql' + method: "POST", + url: "/graphql" }); - function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: 'POST', - url: '/graphql' - }); - } - exports2.GraphqlResponseError = GraphqlResponseError; - exports2.graphql = graphql$1; - exports2.withCustomRequest = withCustomRequest; } }); -// node_modules/@octokit/auth-token/dist-node/index.js -var require_dist_node7 = __commonJS({ - 'node_modules/@octokit/auth-token/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; - var REGEX_IS_INSTALLATION = /^ghs_/; - var REGEX_IS_USER_TO_SERVER = /^ghu_/; - async function auth(token2) { - const isApp = token2.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token2) || REGEX_IS_INSTALLATION.test(token2); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token2); - const tokenType = isApp ? 'app' : isInstallation ? 'installation' : isUserToServer ? 'user-to-server' : 'oauth'; - return { - type: 'token', - token: token2, - tokenType - }; - } - function withAuthorizationPrefix(token2) { - if (token2.split(/\./).length === 3) { - return `bearer ${token2}`; - } - return `token ${token2}`; - } - async function hook(token2, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); - endpoint.headers.authorization = withAuthorizationPrefix(token2); - return request(endpoint); - } - var createTokenAuth = function createTokenAuth2(token2) { +// node_modules/@octokit/auth-token/dist-bundle/index.js +async function auth(token2) { + const isApp = isJWT(token2); + const isInstallation = token2.startsWith("v1.") || token2.startsWith("ghs_"); + const isUserToServer = token2.startsWith("ghu_"); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token2, + tokenType + }; +} +function withAuthorizationPrefix(token2) { + if (token2.split(/\./).length === 3) { + return `bearer ${token2}`; + } + return `token ${token2}`; +} +async function hook(token2, request2, route, parameters) { + const endpoint2 = request2.endpoint.merge( + route, + parameters + ); + endpoint2.headers.authorization = withAuthorizationPrefix(token2); + return request2(endpoint2); +} +var b64url, sep, jwtRE, isJWT, createTokenAuth; +var init_dist_bundle4 = __esm({ + "node_modules/@octokit/auth-token/dist-bundle/index.js"() { + b64url = "(?:[a-zA-Z0-9_-]+)"; + sep = "\\."; + jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`); + isJWT = jwtRE.test.bind(jwtRE); + createTokenAuth = function createTokenAuth2(token2) { if (!token2) { - throw new Error('[@octokit/auth-token] No token passed to createTokenAuth'); + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); } - if (typeof token2 !== 'string') { - throw new Error('[@octokit/auth-token] Token passed to createTokenAuth is not a string'); + if (typeof token2 !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); } - token2 = token2.replace(/^(token|bearer) +/i, ''); + token2 = token2.replace(/^(token|bearer) +/i, ""); return Object.assign(auth.bind(null, token2), { hook: hook.bind(null, token2) }); }; - exports2.createTokenAuth = createTokenAuth; } }); -// node_modules/@octokit/core/dist-node/index.js -var require_dist_node8 = __commonJS({ - 'node_modules/@octokit/core/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var universalUserAgent = require_dist_node(); - var beforeAfterHook = require_before_after_hook(); - var request = require_dist_node5(); - var graphql = require_dist_node6(); - var authToken = require_dist_node7(); - function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; +// node_modules/@octokit/core/dist-src/version.js +var VERSION4; +var init_version = __esm({ + "node_modules/@octokit/core/dist-src/version.js"() { + VERSION4 = "7.0.6"; + } +}); + +// node_modules/@octokit/core/dist-src/index.js +function createLogger(logger = {}) { + if (typeof logger.debug !== "function") { + logger.debug = noop2; + } + if (typeof logger.info !== "function") { + logger.info = noop2; + } + if (typeof logger.warn !== "function") { + logger.warn = consoleWarn; + } + if (typeof logger.error !== "function") { + logger.error = consoleError; + } + return logger; +} +var noop2, consoleWarn, consoleError, userAgentTrail, Octokit; +var init_dist_src2 = __esm({ + "node_modules/@octokit/core/dist-src/index.js"() { + init_universal_user_agent(); + init_before_after_hook(); + init_dist_bundle2(); + init_dist_bundle3(); + init_dist_bundle4(); + init_version(); + noop2 = () => { + }; + consoleWarn = console.warn.bind(console); + consoleError = console.error.bind(console); + userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`; + Octokit = class { + static VERSION = VERSION4; + static defaults(defaults2) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults2 === "function") { + super(defaults2(options)); + return; + } + super( + Object.assign( + {}, + defaults2, + options, + options.userAgent && defaults2.userAgent ? { + userAgent: `${options.userAgent} ${defaults2.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; } - return target; - } - function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } + static plugins = []; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + }; + return NewOctokit; } - return target; - } - var VERSION = '3.6.0'; - var _excluded = ['authStrategy']; - var Octokit = class { constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); + const hook2 = new before_after_hook_default.Collection(); const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + baseUrl: 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: hook2.bind(null, "request") }), mediaType: { previews: [], - format: '' + format: "" } }; - requestDefaults.headers['user-agent'] = [ - options.userAgent, - `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}` - ] - .filter(Boolean) - .join(' '); + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } @@ -14813,34 +22614,25 @@ var require_dist_node8 = __commonJS({ requestDefaults.mediaType.previews = options.previews; } if (options.timeZone) { - requestDefaults.headers['time-zone'] = options.timeZone; + requestDefaults.headers["time-zone"] = options.timeZone; } - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign( - { - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, - options.log - ); - this.hook = hook; + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = createLogger(options.log); + this.hook = hook2; if (!options.authStrategy) { if (!options.auth) { this.auth = async () => ({ - type: 'unauthenticated' + type: "unauthenticated" }); } else { - const auth = authToken.createTokenAuth(options.auth); - hook.wrap('request', auth.hook); - this.auth = auth; + const auth2 = createTokenAuth(options.auth); + hook2.wrap("request", auth2.hook); + this.auth = auth2; } } else { - const { authStrategy } = options, - otherOptions = _objectWithoutProperties(options, _excluded); - const auth = authStrategy( + const { authStrategy, ...otherOptions } = options; + const auth2 = authStrategy( Object.assign( { request: this.request, @@ -14848,1950 +22640,2695 @@ var require_dist_node8 = __commonJS({ // we pass the current octokit instance as well as its constructor options // to allow for authentication strategies that return a new octokit instance // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, - options.auth - ) - ); - hook.wrap('request', auth.hook); - this.auth = auth; - } - const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); - } - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - 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 - ) - ); - } - }; - return OctokitWithDefaults; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - static plugin(...newPlugins) { - var _a; - const currentPlugins = this.plugins; - const NewOctokit = - ((_a = class extends this {}), - (_a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin)))), - _a); - return NewOctokit; + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, + options.auth + ) + ); + hook2.wrap("request", auth2.hook); + this.auth = auth2; + } + const classConstructor = this.constructor; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } } + // assigned during constructor + request; + graphql; + log; + hook; + // TODO: type `octokit.auth` based on passed options.authStrategy + auth; }; - Octokit.VERSION = VERSION; - Octokit.plugins = []; - exports2.Octokit = Octokit; } }); -// node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js -var require_dist_node9 = __commonJS({ - 'node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - if (enumerableOnly) { - symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); - } - keys.push.apply(keys, symbols); - } - return keys; - } - function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - if (i % 2) { - ownKeys(Object(source), true).forEach(function (key) { - _defineProperty(target, key, source[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); - } else { - ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - } - return target; - } - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; - } - var Endpoints = { +// node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js +var VERSION5; +var init_version2 = __esm({ + "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() { + VERSION5 = "17.0.0"; + } +}); + +// node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js +var Endpoints, endpoints_default; +var init_endpoints = __esm({ + "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js"() { + Endpoints = { actions: { - addCustomLabelsToSelfHostedRunnerForOrg: ['POST /orgs/{org}/actions/runners/{runner_id}/labels'], - addCustomLabelsToSelfHostedRunnerForRepo: ['POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], - addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}'], - approveWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve'], - cancelWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel'], + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addRepoAccessToSelfHostedRunnerGroupInOrg: [ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"], createOrUpdateEnvironmentSecret: [ - 'PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' - ], - createOrUpdateOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}'], - createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}'], - createRegistrationTokenForOrg: ['POST /orgs/{org}/actions/runners/registration-token'], - createRegistrationTokenForRepo: ['POST /repos/{owner}/{repo}/actions/runners/registration-token'], - createRemoveTokenForOrg: ['POST /orgs/{org}/actions/runners/remove-token'], - createRemoveTokenForRepo: ['POST /repos/{owner}/{repo}/actions/runners/remove-token'], - createWorkflowDispatch: ['POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches'], - deleteActionsCacheById: ['DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}'], - deleteActionsCacheByKey: ['DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}'], - deleteArtifact: ['DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}'], + "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteCustomImageFromOrg: [ + "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}" + ], + deleteCustomImageVersionFromOrg: [ + "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}" + ], deleteEnvironmentSecret: [ - 'DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' - ], - deleteOrgSecret: ['DELETE /orgs/{org}/actions/secrets/{secret_name}'], - deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}'], - deleteSelfHostedRunnerFromOrg: ['DELETE /orgs/{org}/actions/runners/{runner_id}'], - deleteSelfHostedRunnerFromRepo: ['DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}'], - deleteWorkflowRun: ['DELETE /repos/{owner}/{repo}/actions/runs/{run_id}'], - deleteWorkflowRunLogs: ['DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs'], + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + deleteHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "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" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" ], - disableWorkflow: ['PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable'], - downloadArtifact: ['GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}'], - downloadJobLogsForWorkflowRun: ['GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs'], - downloadWorkflowRunAttemptLogs: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs'], - downloadWorkflowRunLogs: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs'], enableSelectedRepositoryGithubActionsOrganization: [ - 'PUT /orgs/{org}/actions/permissions/repositories/{repository_id}' - ], - enableWorkflow: ['PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable'], - getActionsCacheList: ['GET /repos/{owner}/{repo}/actions/caches'], - getActionsCacheUsage: ['GET /repos/{owner}/{repo}/actions/cache/usage'], - getActionsCacheUsageByRepoForOrg: ['GET /orgs/{org}/actions/cache/usage-by-repository'], - getActionsCacheUsageForEnterprise: ['GET /enterprises/{enterprise}/actions/cache/usage'], - getActionsCacheUsageForOrg: ['GET /orgs/{org}/actions/cache/usage'], - getAllowedActionsOrganization: ['GET /orgs/{org}/actions/permissions/selected-actions'], - getAllowedActionsRepository: ['GET /repos/{owner}/{repo}/actions/permissions/selected-actions'], - getArtifact: ['GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}'], - getEnvironmentPublicKey: ['GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key'], - getEnvironmentSecret: ['GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}'], - getGithubActionsDefaultWorkflowPermissionsEnterprise: ['GET /enterprises/{enterprise}/actions/permissions/workflow'], - getGithubActionsDefaultWorkflowPermissionsOrganization: ['GET /orgs/{org}/actions/permissions/workflow'], - getGithubActionsDefaultWorkflowPermissionsRepository: ['GET /repos/{owner}/{repo}/actions/permissions/workflow'], - getGithubActionsPermissionsOrganization: ['GET /orgs/{org}/actions/permissions'], - getGithubActionsPermissionsRepository: ['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}'], - getPendingDeploymentsForRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments'], + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomImageForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}" + ], + getCustomImageVersionForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}" + ], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}" + ], + getHostedRunnersGithubOwnedImagesForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/images/github-owned" + ], + getHostedRunnersLimitsForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/limits" + ], + getHostedRunnersMachineSpecsForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/machine-sizes" + ], + getHostedRunnersPartnerImagesForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/images/partner" + ], + getHostedRunnersPlatformsForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/platforms" + ], + 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" + ], getRepoPermissions: [ - 'GET /repos/{owner}/{repo}/actions/permissions', + "GET /repos/{owner}/{repo}/actions/permissions", {}, - { - renamed: ['actions', 'getGithubActionsPermissionsRepository'] - } - ], - getRepoPublicKey: ['GET /repos/{owner}/{repo}/actions/secrets/public-key'], - getRepoSecret: ['GET /repos/{owner}/{repo}/actions/secrets/{secret_name}'], - getReviewsForRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals'], - getSelfHostedRunnerForOrg: ['GET /orgs/{org}/actions/runners/{runner_id}'], - getSelfHostedRunnerForRepo: ['GET /repos/{owner}/{repo}/actions/runners/{runner_id}'], - getWorkflow: ['GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}'], - getWorkflowAccessToRepository: ['GET /repos/{owner}/{repo}/actions/permissions/access'], - getWorkflowRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}'], - getWorkflowRunAttempt: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}'], - getWorkflowRunUsage: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing'], - getWorkflowUsage: ['GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing'], - listArtifactsForRepo: ['GET /repos/{owner}/{repo}/actions/artifacts'], - listEnvironmentSecrets: ['GET /repositories/{repository_id}/environments/{environment_name}/secrets'], - listJobsForWorkflowRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs'], - listJobsForWorkflowRunAttempt: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs'], - listLabelsForSelfHostedRunnerForOrg: ['GET /orgs/{org}/actions/runners/{runner_id}/labels'], - listLabelsForSelfHostedRunnerForRepo: ['GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], - listOrgSecrets: ['GET /orgs/{org}/actions/secrets'], - listRepoSecrets: ['GET /repos/{owner}/{repo}/actions/secrets'], - listRepoWorkflows: ['GET /repos/{owner}/{repo}/actions/workflows'], - listRunnerApplicationsForOrg: ['GET /orgs/{org}/actions/runners/downloads'], - listRunnerApplicationsForRepo: ['GET /repos/{owner}/{repo}/actions/runners/downloads'], - listSelectedReposForOrgSecret: ['GET /orgs/{org}/actions/secrets/{secret_name}/repositories'], - listSelectedRepositoriesEnabledGithubActionsOrganization: ['GET /orgs/{org}/actions/permissions/repositories'], - listSelfHostedRunnersForOrg: ['GET /orgs/{org}/actions/runners'], - listSelfHostedRunnersForRepo: ['GET /repos/{owner}/{repo}/actions/runners'], - listWorkflowRunArtifacts: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts'], - listWorkflowRuns: ['GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs'], - listWorkflowRunsForRepo: ['GET /repos/{owner}/{repo}/actions/runs'], - reRunJobForWorkflowRun: ['POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun'], - reRunWorkflow: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun'], - reRunWorkflowFailedJobs: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs'], - removeAllCustomLabelsFromSelfHostedRunnerForOrg: ['DELETE /orgs/{org}/actions/runners/{runner_id}/labels'], + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + 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}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listCustomImageVersionsForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions" + ], + listCustomImagesForOrg: [ + "GET /orgs/{org}/actions/hosted-runners/images/custom" + ], + listEnvironmentSecrets: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + listGithubHostedRunnersInGroupForOrg: [ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners" + ], + listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "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"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "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}" ], - removeCustomLabelFromSelfHostedRunnerForOrg: ['DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}'], removeCustomLabelFromSelfHostedRunnerForRepo: [ - 'DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}' - ], - removeSelectedRepoFromOrgSecret: ['DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}'], - reviewPendingDeploymentsForRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments'], - setAllowedActionsOrganization: ['PUT /orgs/{org}/actions/permissions/selected-actions'], - setAllowedActionsRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/selected-actions'], - setCustomLabelsForSelfHostedRunnerForOrg: ['PUT /orgs/{org}/actions/runners/{runner_id}/labels'], - setCustomLabelsForSelfHostedRunnerForRepo: ['PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], - setGithubActionsDefaultWorkflowPermissionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions/workflow'], - setGithubActionsDefaultWorkflowPermissionsOrganization: ['PUT /orgs/{org}/actions/permissions/workflow'], - setGithubActionsDefaultWorkflowPermissionsRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/workflow'], - setGithubActionsPermissionsOrganization: ['PUT /orgs/{org}/actions/permissions'], - setGithubActionsPermissionsRepository: ['PUT /repos/{owner}/{repo}/actions/permissions'], - setSelectedReposForOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}/repositories'], - setSelectedRepositoriesEnabledGithubActionsOrganization: ['PUT /orgs/{org}/actions/permissions/repositories'], - setWorkflowAccessToRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/access'] + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + updateHostedRunnerForOrg: [ + "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] }, activity: { - checkRepoIsStarredByAuthenticatedUser: ['GET /user/starred/{owner}/{repo}'], - deleteRepoSubscription: ['DELETE /repos/{owner}/{repo}/subscription'], - deleteThreadSubscription: ['DELETE /notifications/threads/{thread_id}/subscription'], - getFeeds: ['GET /feeds'], - getRepoSubscription: ['GET /repos/{owner}/{repo}/subscription'], - getThread: ['GET /notifications/threads/{thread_id}'], - getThreadSubscriptionForAuthenticatedUser: ['GET /notifications/threads/{thread_id}/subscription'], - listEventsForAuthenticatedUser: ['GET /users/{username}/events'], - listNotificationsForAuthenticatedUser: ['GET /notifications'], - listOrgEventsForAuthenticatedUser: ['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'], - listReceivedPublicEventsForUser: ['GET /users/{username}/received_events/public'], - 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'], - setThreadSubscription: ['PUT /notifications/threads/{thread_id}/subscription'], - starRepoForAuthenticatedUser: ['PUT /user/starred/{owner}/{repo}'], - unstarRepoForAuthenticatedUser: ['DELETE /user/starred/{owner}/{repo}'] + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "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"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + 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"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + 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}' - ], - 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'], - getSubscriptionPlanForAccount: ['GET /marketplace_listing/accounts/{account_id}'], - getSubscriptionPlanForAccountStubbed: ['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'], - listAccountsForPlanStubbed: ['GET /marketplace_listing/stubbed/plans/{plan_id}/accounts'], - listInstallationReposForAuthenticatedUser: ['GET /user/installations/{installation_id}/repositories'], - 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'], - listWebhookDeliveries: ['GET /app/hook/deliveries'], - redeliverWebhookDelivery: ['POST /app/hook/deliveries/{delivery_id}/attempts'], + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + 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"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "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"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "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"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "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}' - ], - 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'], - updateWebhookConfigForApp: ['PATCH /app/hook/config'] + "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"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] }, billing: { - getGithubActionsBillingOrg: ['GET /orgs/{org}/settings/billing/actions'], - getGithubActionsBillingUser: ['GET /users/{username}/settings/billing/actions'], - getGithubAdvancedSecurityBillingGhe: ['GET /enterprises/{enterprise}/settings/billing/advanced-security'], - getGithubAdvancedSecurityBillingOrg: ['GET /orgs/{org}/settings/billing/advanced-security'], - getGithubPackagesBillingOrg: ['GET /orgs/{org}/settings/billing/packages'], - getGithubPackagesBillingUser: ['GET /users/{username}/settings/billing/packages'], - getSharedStorageBillingOrg: ['GET /orgs/{org}/settings/billing/shared-storage'], - getSharedStorageBillingUser: ['GET /users/{username}/settings/billing/shared-storage'] + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubBillingPremiumRequestUsageReportOrg: [ + "GET /organizations/{org}/settings/billing/premium_request/usage" + ], + getGithubBillingPremiumRequestUsageReportUser: [ + "GET /users/{username}/settings/billing/premium_request/usage" + ], + getGithubBillingUsageReportOrg: [ + "GET /organizations/{org}/settings/billing/usage" + ], + getGithubBillingUsageReportUser: [ + "GET /users/{username}/settings/billing/usage" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + campaigns: { + createCampaign: ["POST /orgs/{org}/campaigns"], + deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"], + getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"], + listOrgCampaigns: ["GET /orgs/{org}/campaigns"], + updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"] }, 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}'], - listAnnotations: ['GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations'], - listForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-runs'], - listForSuite: ['GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs'], - listSuitesForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-suites'], - rerequestRun: ['POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest'], - rerequestSuite: ['POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest'], - setSuitesPreferences: ['PATCH /repos/{owner}/{repo}/check-suites/preferences'], - update: ['PATCH /repos/{owner}/{repo}/check-runs/{check_run_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" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] }, codeScanning: { - deleteAnalysis: ['DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}'], + commitAutofix: [ + "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits" + ], + createAutofix: [ + "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix" + ], + createVariantAnalysis: [ + "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses" + ], + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + deleteCodeqlDatabase: [ + "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], 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}'], - getSarif: ['GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}'], - listAlertInstances: ['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'], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getAutofix: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix" + ], + getCodeqlDatabase: [ + "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}"], + getVariantAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}" + ], + getVariantAnalysisRepoTask: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}" + ], + listAlertInstances: [ + "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"], 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"] } ], - listRecentAnalyses: ['GET /repos/{owner}/{repo}/code-scanning/analyses'], - updateAlert: ['PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}'], - uploadSarif: ['POST /repos/{owner}/{repo}/code-scanning/sarifs'] + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codeSecurity: { + attachConfiguration: [ + "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach" + ], + attachEnterpriseConfiguration: [ + "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach" + ], + createConfiguration: ["POST /orgs/{org}/code-security/configurations"], + createConfigurationForEnterprise: [ + "POST /enterprises/{enterprise}/code-security/configurations" + ], + deleteConfiguration: [ + "DELETE /orgs/{org}/code-security/configurations/{configuration_id}" + ], + deleteConfigurationForEnterprise: [ + "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}" + ], + detachConfiguration: [ + "DELETE /orgs/{org}/code-security/configurations/detach" + ], + getConfiguration: [ + "GET /orgs/{org}/code-security/configurations/{configuration_id}" + ], + getConfigurationForRepository: [ + "GET /repos/{owner}/{repo}/code-security-configuration" + ], + getConfigurationsForEnterprise: [ + "GET /enterprises/{enterprise}/code-security/configurations" + ], + getConfigurationsForOrg: ["GET /orgs/{org}/code-security/configurations"], + getDefaultConfigurations: [ + "GET /orgs/{org}/code-security/configurations/defaults" + ], + getDefaultConfigurationsForEnterprise: [ + "GET /enterprises/{enterprise}/code-security/configurations/defaults" + ], + getRepositoriesForConfiguration: [ + "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories" + ], + getRepositoriesForEnterpriseConfiguration: [ + "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories" + ], + getSingleConfigurationForEnterprise: [ + "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}" + ], + setConfigurationAsDefault: [ + "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults" + ], + setConfigurationAsDefaultForEnterprise: [ + "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults" + ], + updateConfiguration: [ + "PATCH /orgs/{org}/code-security/configurations/{configuration_id}" + ], + updateEnterpriseConfiguration: [ + "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}" + ] }, 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}' - ], - codespaceMachinesForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}/machines'], - createForAuthenticatedUser: ['POST /user/codespaces'], - createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], - createOrUpdateSecretForAuthenticatedUser: ['PUT /user/codespaces/secrets/{secret_name}'], - createWithPrForAuthenticatedUser: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces'], - createWithRepoForAuthenticatedUser: ['POST /repos/{owner}/{repo}/codespaces'], - deleteForAuthenticatedUser: ['DELETE /user/codespaces/{codespace_name}'], - deleteFromOrganization: ['DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}'], - deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], - deleteSecretForAuthenticatedUser: ['DELETE /user/codespaces/secrets/{secret_name}'], - exportForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/exports'], - getExportDetailsForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}/exports/{export_id}'], - getForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}'], - getPublicKeyForAuthenticatedUser: ['GET /user/codespaces/secrets/public-key'], - getRepoPublicKey: ['GET /repos/{owner}/{repo}/codespaces/secrets/public-key'], - getRepoSecret: ['GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], - getSecretForAuthenticatedUser: ['GET /user/codespaces/secrets/{secret_name}'], - listDevcontainersInRepositoryForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/devcontainers'], - listForAuthenticatedUser: ['GET /user/codespaces'], + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "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}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + 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" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + copilotMetricsForOrganization: ["GET /orgs/{org}/copilot/metrics"], + copilotMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/metrics"], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" ], - listInRepositoryForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces'], - listRepoSecrets: ['GET /repos/{owner}/{repo}/codespaces/secrets'], - listRepositoriesForSecretForAuthenticatedUser: ['GET /user/codespaces/secrets/{secret_name}/repositories'], - listSecretsForAuthenticatedUser: ['GET /user/codespaces/secrets'], - removeRepositoryForSecretForAuthenticatedUser: [ - 'DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}' - ], - repoMachinesForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/machines'], - setRepositoriesForSecretForAuthenticatedUser: ['PUT /user/codespaces/secrets/{secret_name}/repositories'], - startForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/start'], - stopForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/stop'], - stopInOrganization: ['POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop'], - updateForAuthenticatedUser: ['PATCH /user/codespaces/{codespace_name}'] + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] }, + credentials: { revoke: ["POST /credentials/revoke"] }, dependabot: { - addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}'], - createOrUpdateOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}'], - createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], - deleteOrgSecret: ['DELETE /orgs/{org}/dependabot/secrets/{secret_name}'], - deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/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'], - getRepoSecret: ['GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], - listOrgSecrets: ['GET /orgs/{org}/dependabot/secrets'], - listRepoSecrets: ['GET /repos/{owner}/{repo}/dependabot/secrets'], - listSelectedReposForOrgSecret: ['GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories'], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + 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}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "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"], + listSelectedReposForOrgSecret: [ + "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}" + ], + repositoryAccessForOrg: [ + "GET /organizations/{org}/dependabot/repository-access" + ], + setRepositoryAccessDefaultLevel: [ + "PUT /organizations/{org}/dependabot/repository-access/default-level" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" ], - setSelectedReposForOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories'] + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ], + updateRepositoryAccessForOrg: [ + "PATCH /organizations/{org}/dependabot/repository-access" + ] }, dependencyGraph: { - createRepositorySnapshot: ['POST /repos/{owner}/{repo}/dependency-graph/snapshots'], - diffRange: ['GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}'] - }, - emojis: { - get: ['GET /emojis'] + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] }, - enterpriseAdmin: { - addCustomLabelsToSelfHostedRunnerForEnterprise: [ - 'POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels' + emojis: { get: ["GET /emojis"] }, + enterpriseTeamMemberships: { + add: [ + "PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}" + ], + bulkAdd: [ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add" ], - disableSelectedOrganizationGithubActionsEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}' + bulkRemove: [ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove" ], - enableSelectedOrganizationGithubActionsEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}' + get: [ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}" + ], + list: ["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"], + remove: [ + "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}" + ] + }, + enterpriseTeamOrganizations: { + add: [ + "PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}" ], - getAllowedActionsEnterprise: ['GET /enterprises/{enterprise}/actions/permissions/selected-actions'], - getGithubActionsPermissionsEnterprise: ['GET /enterprises/{enterprise}/actions/permissions'], - getServerStatistics: ['GET /enterprise-installation/{enterprise_or_org}/server-statistics'], - listLabelsForSelfHostedRunnerForEnterprise: ['GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels'], - listSelectedOrganizationsEnabledGithubActionsEnterprise: [ - 'GET /enterprises/{enterprise}/actions/permissions/organizations' + bulkAdd: [ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add" ], - removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels' + bulkRemove: [ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove" ], - removeCustomLabelFromSelfHostedRunnerForEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}' + delete: [ + "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}" ], - setAllowedActionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions/selected-actions'], - setCustomLabelsForSelfHostedRunnerForEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels' + getAssignment: [ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}" ], - setGithubActionsPermissionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions'], - setSelectedOrganizationsEnabledGithubActionsEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/permissions/organizations' + getAssignments: [ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations" ] }, + enterpriseTeams: { + create: ["POST /enterprises/{enterprise}/teams"], + delete: ["DELETE /enterprises/{enterprise}/teams/{team_slug}"], + get: ["GET /enterprises/{enterprise}/teams/{team_slug}"], + list: ["GET /enterprises/{enterprise}/teams"], + update: ["PATCH /enterprises/{enterprise}/teams/{team_slug}"] + }, 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}"] + }, + hostedCompute: { + createNetworkConfigurationForOrg: [ + "POST /orgs/{org}/settings/network-configurations" + ], + deleteNetworkConfigurationFromOrg: [ + "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}" + ], + getNetworkConfigurationForOrg: [ + "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}" + ], + getNetworkSettingsForOrg: [ + "GET /orgs/{org}/settings/network-settings/{network_settings_id}" + ], + listNetworkConfigurationsForOrg: [ + "GET /orgs/{org}/settings/network-configurations" + ], + updateNetworkConfigurationForOrg: [ + "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}" + ] }, 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"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" ], - removeRestrictionsForAuthenticatedUser: ['DELETE /user/interaction-limits'], - removeRestrictionsForOrg: ['DELETE /orgs/{org}/interaction-limits'], - removeRestrictionsForRepo: ['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'], - addLabels: ['POST /repos/{owner}/{repo}/issues/{issue_number}/labels'], - checkUserCanBeAssigned: ['GET /repos/{owner}/{repo}/assignees/{assignee}'], - create: ['POST /repos/{owner}/{repo}/issues'], - createComment: ['POST /repos/{owner}/{repo}/issues/{issue_number}/comments'], - createLabel: ['POST /repos/{owner}/{repo}/labels'], - createMilestone: ['POST /repos/{owner}/{repo}/milestones'], - deleteComment: ['DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}'], - 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'], - listEventsForTimeline: ['GET /repos/{owner}/{repo}/issues/{issue_number}/timeline'], - listForAuthenticatedUser: ['GET /user/issues'], - listForOrg: ['GET /orgs/{org}/issues'], - listForRepo: ['GET /repos/{owner}/{repo}/issues'], - listLabelsForMilestone: ['GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels'], - listLabelsForRepo: ['GET /repos/{owner}/{repo}/labels'], - listLabelsOnIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/labels'], - listMilestones: ['GET /repos/{owner}/{repo}/milestones'], - lock: ['PUT /repos/{owner}/{repo}/issues/{issue_number}/lock'], - removeAllLabels: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels'], - removeAssignees: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees'], - removeLabel: ['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}'], - updateLabel: ['PATCH /repos/{owner}/{repo}/labels/{name}'], - updateMilestone: ['PATCH /repos/{owner}/{repo}/milestones/{milestone_number}'] + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addBlockedByDependency: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + addSubIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues" + ], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + 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}"], + getParent: ["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"], + 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"], + listDependenciesBlockedBy: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by" + ], + listDependenciesBlocking: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking" + ], + 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" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + listSubIssues: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues" + ], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeDependencyBlockedBy: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + removeSubIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue" + ], + reprioritizeSubIssue: [ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority" + ], + 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}"], + updateMilestone: [ + "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'], - 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'], - deleteArchiveForAuthenticatedUser: ['DELETE /user/migrations/{migration_id}/archive'], - deleteArchiveForOrg: ['DELETE /orgs/{org}/migrations/{migration_id}/archive'], - downloadArchiveForOrg: ['GET /orgs/{org}/migrations/{migration_id}/archive'], - getArchiveForAuthenticatedUser: ['GET /user/migrations/{migration_id}/archive'], - getCommitAuthors: ['GET /repos/{owner}/{repo}/import/authors'], - getImportStatus: ['GET /repos/{owner}/{repo}/import'], - getLargeFiles: ['GET /repos/{owner}/{repo}/import/large_files'], - 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'], - listReposForOrg: ['GET /orgs/{org}/migrations/{migration_id}/repositories'], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + 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" + ], + 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"] } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" ], - mapCommitAuthor: ['PATCH /repos/{owner}/{repo}/import/authors/{author_id}'], - setLfsPreference: ['PATCH /repos/{owner}/{repo}/import/lfs'], - startForAuthenticatedUser: ['POST /user/migrations'], - startForOrg: ['POST /orgs/{org}/migrations'], - startImport: ['PUT /repos/{owner}/{repo}/import'], - unlockRepoForAuthenticatedUser: ['DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock'], - unlockRepoForOrg: ['DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock'], - updateImport: ['PATCH /repos/{owner}/{repo}/import'] + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] }, orgs: { - 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}'], - createInvitation: ['POST /orgs/{org}/invitations'], - createWebhook: ['POST /orgs/{org}/hooks'], - deleteWebhook: ['DELETE /orgs/{org}/hooks/{hook_id}'], - get: ['GET /orgs/{org}'], - 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'], - listCustomRoles: ['GET /organizations/{organization_id}/custom_roles'], - 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'], - listPendingInvitations: ['GET /orgs/{org}/invitations'], - listPublicMembers: ['GET /orgs/{org}/public_members'], - 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'], - removeMember: ['DELETE /orgs/{org}/members/{username}'], - removeMembershipForUser: ['DELETE /orgs/{org}/memberships/{username}'], - removeOutsideCollaborator: ['DELETE /orgs/{org}/outside_collaborators/{username}'], - removePublicMembershipForAuthenticatedUser: ['DELETE /orgs/{org}/public_members/{username}'], - setMembershipForUser: ['PUT /orgs/{org}/memberships/{username}'], - setPublicMembershipForAuthenticatedUser: ['PUT /orgs/{org}/public_members/{username}'], - unblockUser: ['DELETE /orgs/{org}/blocks/{username}'], - update: ['PATCH /orgs/{org}'], - updateMembershipForAuthenticatedUser: ['PATCH /user/memberships/orgs/{org}'], - updateWebhook: ['PATCH /orgs/{org}/hooks/{hook_id}'], - updateWebhookConfigForOrg: ['PATCH /orgs/{org}/hooks/{hook_id}/config'] + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}", + {}, + { + deprecated: "octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team" + } + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + 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}" + ], + createArtifactStorageRecord: [ + "POST /orgs/{org}/artifacts/metadata/storage-record" + ], + createInvitation: ["POST /orgs/{org}/invitations"], + createIssueType: ["POST /orgs/{org}/issue-types"], + createWebhook: ["POST /orgs/{org}/hooks"], + customPropertiesForOrgsCreateOrUpdateOrganizationValues: [ + "PATCH /organizations/{org}/org-properties/values" + ], + customPropertiesForOrgsGetOrganizationValues: [ + "GET /organizations/{org}/org-properties/values" + ], + customPropertiesForReposCreateOrUpdateOrganizationDefinition: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + customPropertiesForReposCreateOrUpdateOrganizationDefinitions: [ + "PATCH /orgs/{org}/properties/schema" + ], + customPropertiesForReposCreateOrUpdateOrganizationValues: [ + "PATCH /orgs/{org}/properties/values" + ], + customPropertiesForReposDeleteOrganizationDefinition: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + customPropertiesForReposGetOrganizationDefinition: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + customPropertiesForReposGetOrganizationDefinitions: [ + "GET /orgs/{org}/properties/schema" + ], + customPropertiesForReposGetOrganizationValues: [ + "GET /orgs/{org}/properties/values" + ], + delete: ["DELETE /orgs/{org}"], + deleteAttestationsBulk: ["POST /orgs/{org}/attestations/delete-request"], + deleteAttestationsById: [ + "DELETE /orgs/{org}/attestations/{attestation_id}" + ], + deleteAttestationsBySubjectDigest: [ + "DELETE /orgs/{org}/attestations/digest/{subject_digest}" + ], + deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + disableSelectedRepositoryImmutableReleasesOrganization: [ + "DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}" + ], + enableSelectedRepositoryImmutableReleasesOrganization: [ + "PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}" + ], + get: ["GET /orgs/{org}"], + getImmutableReleasesSettings: [ + "GET /orgs/{org}/settings/immutable-releases" + ], + getImmutableReleasesSettingsRepositories: [ + "GET /orgs/{org}/settings/immutable-releases/repositories" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"], + getOrgRulesetVersion: [ + "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}" + ], + 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"], + listArtifactStorageRecords: [ + "GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" + ], + listAttestationRepositories: ["GET /orgs/{org}/attestations/repositories"], + listAttestations: ["GET /orgs/{org}/attestations/{subject_digest}"], + listAttestationsBulk: [ + "POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}" + ], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listIssueTypes: ["GET /orgs/{org}/issue-types"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "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", + {}, + { + deprecated: "octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams" + } + ], + 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" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}", + {}, + { + deprecated: "octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team" + } + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setImmutableReleasesSettings: [ + "PUT /orgs/{org}/settings/immutable-releases" + ], + setImmutableReleasesSettingsRepositories: [ + "PUT /orgs/{org}/settings/immutable-releases/repositories" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"], + updateMembershipForAuthenticatedUser: [ + "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"] }, packages: { - deletePackageForAuthenticatedUser: ['DELETE /user/packages/{package_type}/{package_name}'], - deletePackageForOrg: ['DELETE /orgs/{org}/packages/{package_type}/{package_name}'], - deletePackageForUser: ['DELETE /users/{username}/packages/{package_type}/{package_name}'], + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "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'] + renamed: [ + "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" ], - getAllPackageVersionsForPackageOwnedByOrg: ['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}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" ], - getPackageForAuthenticatedUser: ['GET /user/packages/{package_type}/{package_name}'], - getPackageForOrganization: ['GET /orgs/{org}/packages/{package_type}/{package_name}'], - getPackageForUser: ['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}' - ], - listPackagesForAuthenticatedUser: ['GET /user/packages'], - listPackagesForOrganization: ['GET /orgs/{org}/packages'], - listPackagesForUser: ['GET /users/{username}/packages'], - restorePackageForAuthenticatedUser: ['POST /user/packages/{package_type}/{package_name}/restore{?token}'], - restorePackageForOrg: ['POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}'], - restorePackageForUser: ['POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}'], + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "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" + ] + }, + privateRegistries: { + createOrgPrivateRegistry: ["POST /orgs/{org}/private-registries"], + deleteOrgPrivateRegistry: [ + "DELETE /orgs/{org}/private-registries/{secret_name}" + ], + getOrgPrivateRegistry: ["GET /orgs/{org}/private-registries/{secret_name}"], + getOrgPublicKey: ["GET /orgs/{org}/private-registries/public-key"], + listOrgPrivateRegistries: ["GET /orgs/{org}/private-registries"], + updateOrgPrivateRegistry: [ + "PATCH /orgs/{org}/private-registries/{secret_name}" ] }, 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}'], - 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'], - removeCollaborator: ['DELETE /projects/{project_id}/collaborators/{username}'], - update: ['PATCH /projects/{project_id}'], - updateCard: ['PATCH /projects/columns/cards/{card_id}'], - updateColumn: ['PATCH /projects/columns/{column_id}'] + addItemForOrg: ["POST /orgs/{org}/projectsV2/{project_number}/items"], + addItemForUser: [ + "POST /users/{username}/projectsV2/{project_number}/items" + ], + deleteItemForOrg: [ + "DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}" + ], + deleteItemForUser: [ + "DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}" + ], + getFieldForOrg: [ + "GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}" + ], + getFieldForUser: [ + "GET /users/{username}/projectsV2/{project_number}/fields/{field_id}" + ], + getForOrg: ["GET /orgs/{org}/projectsV2/{project_number}"], + getForUser: ["GET /users/{username}/projectsV2/{project_number}"], + getOrgItem: ["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"], + getUserItem: [ + "GET /users/{username}/projectsV2/{project_number}/items/{item_id}" + ], + listFieldsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/fields"], + listFieldsForUser: [ + "GET /users/{username}/projectsV2/{project_number}/fields" + ], + listForOrg: ["GET /orgs/{org}/projectsV2"], + listForUser: ["GET /users/{username}/projectsV2"], + listItemsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/items"], + listItemsForUser: [ + "GET /users/{username}/projectsV2/{project_number}/items" + ], + updateItemForOrg: [ + "PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}" + ], + updateItemForUser: [ + "PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}" + ] }, 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'], - createReview: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews'], - createReviewComment: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/comments'], - deletePendingReview: ['DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], - deleteReviewComment: ['DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}'], - dismissReview: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals'], - get: ['GET /repos/{owner}/{repo}/pulls/{pull_number}'], - getReview: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], - getReviewComment: ['GET /repos/{owner}/{repo}/pulls/comments/{comment_id}'], - list: ['GET /repos/{owner}/{repo}/pulls'], - listCommentsForReview: ['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'], - listRequestedReviewers: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], - listReviewComments: ['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'], - removeRequestedReviewers: ['DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], - requestReviewers: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], - submitReview: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events'], - update: ['PATCH /repos/{owner}/{repo}/pulls/{pull_number}'], - updateBranch: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch'], - updateReview: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], - updateReviewComment: ['PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}'] - }, - rateLimit: { - get: ['GET /rate_limit'] + 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" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "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"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "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"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] }, + rateLimit: { get: ["GET /rate_limit"] }, reactions: { - createForCommitComment: ['POST /repos/{owner}/{repo}/comments/{comment_id}/reactions'], - createForIssue: ['POST /repos/{owner}/{repo}/issues/{issue_number}/reactions'], - createForIssueComment: ['POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions'], - createForPullRequestReviewComment: ['POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions'], - createForRelease: ['POST /repos/{owner}/{repo}/releases/{release_id}/reactions'], + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], createForTeamDiscussionCommentInOrg: [ - 'POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions' - ], - createForTeamDiscussionInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions'], - deleteForCommitComment: ['DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}'], - deleteForIssue: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}'], - deleteForIssueComment: ['DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}'], - deleteForPullRequestComment: ['DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}'], - deleteForRelease: ['DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}'], + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "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" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" ], - listForCommitComment: ['GET /repos/{owner}/{repo}/comments/{comment_id}/reactions'], - listForIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/reactions'], - listForIssueComment: ['GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions'], - listForPullRequestReviewComment: ['GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions'], - listForRelease: ['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'] + listForTeamDiscussionInOrg: [ + "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}" ], - acceptInvitationForAuthenticatedUser: ['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' - } - ], - checkCollaborator: ['GET /repos/{owner}/{repo}/collaborators/{username}'], - checkVulnerabilityAlerts: ['GET /repos/{owner}/{repo}/vulnerability-alerts'], - codeownersErrors: ['GET /repos/{owner}/{repo}/codeowners/errors'], - compareCommits: ['GET /repos/{owner}/{repo}/compare/{base}...{head}'], - compareCommitsWithBasehead: ['GET /repos/{owner}/{repo}/compare/{basehead}'], - createAutolink: ['POST /repos/{owner}/{repo}/autolinks'], - createCommitComment: ['POST /repos/{owner}/{repo}/commits/{commit_sha}/comments'], - createCommitSignatureProtection: ['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'], - createDeploymentStatus: ['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'], - createOrUpdateEnvironment: ['PUT /repos/{owner}/{repo}/environments/{environment_name}'], - createOrUpdateFileContents: ['PUT /repos/{owner}/{repo}/contents/{path}'], - createPagesSite: ['POST /repos/{owner}/{repo}/pages'], - createRelease: ['POST /repos/{owner}/{repo}/releases'], - createTagProtection: ['POST /repos/{owner}/{repo}/tags/protection'], - createUsingTemplate: ['POST /repos/{template_owner}/{template_repo}/generate'], - createWebhook: ['POST /repos/{owner}/{repo}/hooks'], + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkImmutableReleases: ["GET /repos/{owner}/{repo}/immutable-releases"], + checkPrivateVulnerabilityReporting: [ + "GET /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAttestation: ["POST /repos/{owner}/{repo}/attestations"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "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"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "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"], + 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/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + customPropertiesForReposCreateOrUpdateRepositoryValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + customPropertiesForReposGetRepositoryValues: [ + "GET /repos/{owner}/{repo}/properties/values" + ], declineInvitation: [ - 'DELETE /user/repository_invitations/{invitation_id}', + "DELETE /user/repository_invitations/{invitation_id}", {}, - { - renamed: ['repos', 'declineInvitationForAuthenticatedUser'] - } - ], - declineInvitationForAuthenticatedUser: ['DELETE /user/repository_invitations/{invitation_id}'], - delete: ['DELETE /repos/{owner}/{repo}'], - deleteAccessRestrictions: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions'], - deleteAdminBranchProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins'], - deleteAnEnvironment: ['DELETE /repos/{owner}/{repo}/environments/{environment_name}'], - deleteAutolink: ['DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}'], - deleteBranchProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection'], - deleteCommitComment: ['DELETE /repos/{owner}/{repo}/comments/{comment_id}'], - deleteCommitSignatureProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures'], - deleteDeployKey: ['DELETE /repos/{owner}/{repo}/keys/{key_id}'], - deleteDeployment: ['DELETE /repos/{owner}/{repo}/deployments/{deployment_id}'], - deleteFile: ['DELETE /repos/{owner}/{repo}/contents/{path}'], - deleteInvitation: ['DELETE /repos/{owner}/{repo}/invitations/{invitation_id}'], - deletePagesSite: ['DELETE /repos/{owner}/{repo}/pages'], + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + 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' - ], - deleteRelease: ['DELETE /repos/{owner}/{repo}/releases/{release_id}'], - deleteReleaseAsset: ['DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}'], - deleteTagProtection: ['DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}'], - deleteWebhook: ['DELETE /repos/{owner}/{repo}/hooks/{hook_id}'], - disableAutomatedSecurityFixes: ['DELETE /repos/{owner}/{repo}/automated-security-fixes'], - disableLfsForRepo: ['DELETE /repos/{owner}/{repo}/lfs'], - disableVulnerabilityAlerts: ['DELETE /repos/{owner}/{repo}/vulnerability-alerts'], + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disableImmutableReleases: [ + "DELETE /repos/{owner}/{repo}/immutable-releases" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], downloadArchive: [ - 'GET /repos/{owner}/{repo}/zipball/{ref}', + "GET /repos/{owner}/{repo}/zipball/{ref}", {}, - { - renamed: ['repos', 'downloadZipballArchive'] - } - ], - downloadTarballArchive: ['GET /repos/{owner}/{repo}/tarball/{ref}'], - downloadZipballArchive: ['GET /repos/{owner}/{repo}/zipball/{ref}'], - enableAutomatedSecurityFixes: ['PUT /repos/{owner}/{repo}/automated-security-fixes'], - enableLfsForRepo: ['PUT /repos/{owner}/{repo}/lfs'], - enableVulnerabilityAlerts: ['PUT /repos/{owner}/{repo}/vulnerability-alerts'], - generateReleaseNotes: ['POST /repos/{owner}/{repo}/releases/generate-notes'], - get: ['GET /repos/{owner}/{repo}'], - getAccessRestrictions: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions'], - getAdminBranchProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins'], - getAllEnvironments: ['GET /repos/{owner}/{repo}/environments'], + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enableImmutableReleases: ["PUT /repos/{owner}/{repo}/immutable-releases"], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], getAllStatusCheckContexts: [ - 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts' - ], - getAllTopics: ['GET /repos/{owner}/{repo}/topics'], - getAppsWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps'], - getAutolink: ['GET /repos/{owner}/{repo}/autolinks/{autolink_id}'], - getBranch: ['GET /repos/{owner}/{repo}/branches/{branch}'], - getBranchProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection'], - getClones: ['GET /repos/{owner}/{repo}/traffic/clones'], - getCodeFrequencyStats: ['GET /repos/{owner}/{repo}/stats/code_frequency'], - getCollaboratorPermissionLevel: ['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}'], - getCommitSignatureProtection: ['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'], - getDeployKey: ['GET /repos/{owner}/{repo}/keys/{key_id}'], - getDeployment: ['GET /repos/{owner}/{repo}/deployments/{deployment_id}'], - getDeploymentStatus: ['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'], - 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}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "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"], + getCollaboratorPermissionLevel: [ + "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}"], + getCommitSignatureProtection: [ + "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"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + 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}" + ], + getDeploymentStatus: [ + "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}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_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}'], - getStatusChecksProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks'], - getTeamsWithAccessToProtectedBranch: ['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'], - getUsersWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users'], - getViews: ['GET /repos/{owner}/{repo}/traffic/views'], - getWebhook: ['GET /repos/{owner}/{repo}/hooks/{hook_id}'], - getWebhookConfigForRepo: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/config'], - getWebhookDelivery: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}'], - listAutolinks: ['GET /repos/{owner}/{repo}/autolinks'], - listBranches: ['GET /repos/{owner}/{repo}/branches'], - listBranchesForHeadCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head'], - listCollaborators: ['GET /repos/{owner}/{repo}/collaborators'], - listCommentsForCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/comments'], - listCommitCommentsForRepo: ['GET /repos/{owner}/{repo}/comments'], - listCommitStatusesForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/statuses'], - listCommits: ['GET /repos/{owner}/{repo}/commits'], - listContributors: ['GET /repos/{owner}/{repo}/contributors'], - listDeployKeys: ['GET /repos/{owner}/{repo}/keys'], - 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'], - listPullRequestsAssociatedWithCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls'], - listReleaseAssets: ['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'], - listWebhookDeliveries: ['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'], - redeliverWebhookDelivery: ['POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts'], + "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}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesetHistory: [ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history" + ], + getRepoRulesetVersion: [ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}" + ], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "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"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAttestations: [ + "GET /repos/{owner}/{repo}/attestations/{subject_digest}" + ], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "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"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "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"], + redeliverWebhookDelivery: [ + "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}" ], - removeCollaborator: ['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" ], - removeStatusCheckProtection: ['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"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" ], - 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'], 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}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" ], - 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'], - updateCommitComment: ['PATCH /repos/{owner}/{repo}/comments/{comment_id}'], - updateInformationAboutPagesSite: ['PUT /repos/{owner}/{repo}/pages'], - updateInvitation: ['PATCH /repos/{owner}/{repo}/invitations/{invitation_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}'], - updateReleaseAsset: ['PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}'], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_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" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" ], - updateStatusCheckProtection: ['PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks'], - updateWebhook: ['PATCH /repos/{owner}/{repo}/hooks/{hook_id}'], - updateWebhookConfigForRepo: ['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}'], - listAlertsForEnterprise: ['GET /enterprises/{enterprise}/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'], - updateAlert: ['PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}'] + createPushProtectionBypass: [ + "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"], + 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" + ], + listOrgPatternConfigs: [ + "GET /orgs/{org}/secret-scanning/pattern-configurations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + updateOrgPatternConfigs: [ + "PATCH /orgs/{org}/secret-scanning/pattern-configurations" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + 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}" + ] }, teams: { - addOrUpdateMembershipForUserInOrg: ['PUT /orgs/{org}/teams/{team_slug}/memberships/{username}'], - addOrUpdateProjectPermissionsInOrg: ['PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}'], - addOrUpdateRepoPermissionsInOrg: ['PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], - checkPermissionsForProjectInOrg: ['GET /orgs/{org}/teams/{team_slug}/projects/{project_id}'], - checkPermissionsForRepoInOrg: ['GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], - create: ['POST /orgs/{org}/teams'], - createDiscussionCommentInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments'], - createDiscussionInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions'], + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + 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}" ], - deleteDiscussionInOrg: ['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}' - ], - getDiscussionInOrg: ['GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}'], - getMembershipForUserInOrg: ['GET /orgs/{org}/teams/{team_slug}/memberships/{username}'], - list: ['GET /orgs/{org}/teams'], - listChildInOrg: ['GET /orgs/{org}/teams/{team_slug}/teams'], - listDiscussionCommentsInOrg: ['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'], - listPendingInvitationsInOrg: ['GET /orgs/{org}/teams/{team_slug}/invitations'], - 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}'], - removeProjectInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}'], - removeRepoInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "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"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeRepoInOrg: [ + "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}" ], - updateDiscussionInOrg: ['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'] - } + { renamed: ["users", "addEmailForAuthenticatedUser"] } ], - addEmailForAuthenticatedUser: ['POST /user/emails'], - block: ['PUT /user/blocks/{username}'], - checkBlocked: ['GET /user/blocks/{username}'], - checkFollowingForUser: ['GET /users/{username}/following/{target_user}'], - checkPersonIsFollowedByAuthenticated: ['GET /user/following/{username}'], + 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"], + deleteAttestationsBulk: [ + "POST /users/{username}/attestations/delete-request" + ], + deleteAttestationsById: [ + "DELETE /users/{username}/attestations/{attestation_id}" + ], + deleteAttestationsBySubjectDigest: [ + "DELETE /users/{username}/attestations/digest/{subject_digest}" ], - createPublicSshKeyForAuthenticatedUser: ['POST /user/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"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" ], - deletePublicSshKeyForAuthenticatedUser: ['DELETE /user/keys/{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"], + getById: ["GET /user/{account_id}"], + 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}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listAttestations: ["GET /users/{username}/attestations/{subject_digest}"], + listAttestationsBulk: [ + "POST /users/{username}/attestations/bulk-list{?per_page,before,after}" ], - getPublicSshKeyForAuthenticatedUser: ['GET /user/keys/{key_id}'], - 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'], + 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'] - } - ], - setPrimaryEmailVisibilityForAuthenticatedUser: ['PATCH /user/email/visibility'], - unblock: ['DELETE /user/blocks/{username}'], - unfollow: ['DELETE /user/following/{username}'], - updateAuthenticated: ['PATCH /user'] - } - }; - var VERSION = '5.16.2'; - function endpointsToMethods(octokit2, endpointsMap) { - const newMethods = {}; - for (const [scope, endpoints] of Object.entries(endpointsMap)) { - for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); - const endpointDefaults = Object.assign( - { - method, - url - }, - defaults + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } + }; + endpoints_default = Endpoints; + } +}); + +// node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js +function endpointsToMethods(octokit2) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit: octokit2, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit2, scope, methodName, defaults2, decorations) { + const requestWithDefaults = octokit2.request.defaults(defaults2); + function withDecorations(...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); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit2.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit2.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit2.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` ); - if (!newMethods[scope]) { - newMethods[scope] = {}; + if (!(alias in options2)) { + options2[alias] = options2[name]; } - const scopeMethods = newMethods[scope]; - if (decorations) { - scopeMethods[methodName] = decorate(octokit2, scope, methodName, endpointDefaults, decorations); - continue; - } - scopeMethods[methodName] = octokit2.request.defaults(endpointDefaults); + delete options2[name]; } } - return newMethods; + return requestWithDefaults(options2); } - function decorate(octokit2, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit2.request.defaults(defaults); - function withDecorations(...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(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} +var endpointMethodsMap, handler; +var init_endpoints_to_methods = __esm({ + "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() { + init_endpoints(); + endpointMethodsMap = /* @__PURE__ */ new Map(); + for (const [scope, endpoints] of Object.entries(endpoints_default)) { + for (const [methodName, endpoint2] of Object.entries(endpoints)) { + const [route, defaults2, decorations] = endpoint2; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults2 + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); } - if (decorations.renamed) { - const [newScope, newMethodName] = decorations.renamed; - octokit2.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } + } + handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit: octokit2, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; } - if (decorations.deprecated) { - octokit2.log.warn(decorations.deprecated); + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; } - if (decorations.renamedParameters) { - const options2 = requestWithDefaults.endpoint.merge(...args); - for (const [name, alias] of Object.entries(decorations.renamedParameters)) { - if (name in options2) { - octokit2.log.warn( - `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` - ); - if (!(alias in options2)) { - options2[alias] = options2[name]; - } - delete options2[name]; - } - } - return requestWithDefaults(options2); + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit2, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit2.request.defaults(endpointDefaults); } - return requestWithDefaults(...args); + return cache[methodName]; } - return Object.assign(withDecorations, requestWithDefaults); - } - function restEndpointMethods(octokit2) { - const api = endpointsToMethods(octokit2, Endpoints); - return { - rest: api - }; - } - restEndpointMethods.VERSION = VERSION; - function legacyRestEndpointMethods(octokit2) { - const api = endpointsToMethods(octokit2, Endpoints); - return _objectSpread2( - _objectSpread2({}, api), - {}, - { - rest: api - } - ); - } - legacyRestEndpointMethods.VERSION = VERSION; - exports2.legacyRestEndpointMethods = legacyRestEndpointMethods; - exports2.restEndpointMethods = restEndpointMethods; + }; } }); -// node_modules/@octokit/plugin-paginate-rest/dist-node/index.js -var require_dist_node10 = __commonJS({ - 'node_modules/@octokit/plugin-paginate-rest/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var VERSION = '2.21.3'; - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - enumerableOnly && - (symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - })), - keys.push.apply(keys, symbols); - } - return keys; - } - function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = null != arguments[i] ? arguments[i] : {}; - i % 2 - ? ownKeys(Object(source), true).forEach(function (key) { - _defineProperty(target, key, source[key]); - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) - : ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - return target; - } - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; - } - function normalizePaginatedListResponse(response) { - if (!response.data) { - return _objectSpread2( - _objectSpread2({}, 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; - } - function iterator(octokit2, route, parameters) { - const options = - typeof route === 'function' ? route.endpoint(parameters) : octokit2.request.endpoint(route, parameters); - const requestMethod = typeof route === 'function' ? route : octokit2.request; - const method = options.method; - const headers = options.headers; - let url = options.url; - return { - [Symbol.asyncIterator]: () => ({ - async next() { - if (!url) - return { - done: true - }; - try { - const response = await requestMethod({ - method, - url, - headers - }); - const normalizedResponse = normalizePaginatedListResponse(response); - url = ((normalizedResponse.headers.link || '').match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { - value: normalizedResponse - }; - } catch (error) { - if (error.status !== 409) throw error; - url = ''; - return { - value: { - status: 200, - headers: {}, - data: [] - } - }; +// node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js +function restEndpointMethods(octokit2) { + const api = endpointsToMethods(octokit2); + return { + rest: api + }; +} +function legacyRestEndpointMethods(octokit2) { + const api = endpointsToMethods(octokit2); + return { + ...api, + rest: api + }; +} +var init_dist_src3 = __esm({ + "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() { + init_version2(); + init_endpoints_to_methods(); + restEndpointMethods.VERSION = VERSION5; + legacyRestEndpointMethods.VERSION = VERSION5; + } +}); + +// node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = ("total_count" in response.data || "total_commits" 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; + const totalCommits = response.data.total_commits; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + delete response.data.total_commits; + 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; + response.data.total_commits = totalCommits; + return response; +} +function iterator(octokit2, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit2.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit2.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^<>]+)>;\s*rel="next"/ + ) || [])[1]; + if (!url && "total_commits" in normalizedResponse.data) { + const parsedUrl = new URL(normalizedResponse.url); + const params = parsedUrl.searchParams; + const page = parseInt(params.get("page") || "1", 10); + const per_page = parseInt(params.get("per_page") || "250", 10); + if (page * per_page < normalizedResponse.data.total_commits) { + params.set("page", String(page + 1)); + url = parsedUrl.toString(); } } - }) - }; - } - function paginate(octokit2, route, parameters, mapFn) { - if (typeof parameters === 'function') { - mapFn = parameters; - parameters = void 0; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } } - return gather(octokit2, [], iterator(octokit2, route, parameters)[Symbol.asyncIterator](), mapFn); + }) + }; +} +function paginate(octokit2, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit2, + [], + iterator(octokit2, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit2, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; } - function gather(octokit2, results, iterator2, mapFn) { - return iterator2.next().then(result => { - if (result.done) { - return results; - } - let earlyExit = false; - function done() { - earlyExit = true; - } - results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); - if (earlyExit) { - return results; - } - return gather(octokit2, results, iterator2, mapFn); - }); + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; } - var composePaginateRest = Object.assign(paginate, { + return gather(octokit2, results, iterator2, mapFn); + }); +} +function paginateRest(octokit2) { + return { + paginate: Object.assign(paginate.bind(null, octokit2), { + iterator: iterator.bind(null, octokit2) + }) + }; +} +var VERSION6, composePaginateRest; +var init_dist_bundle5 = __esm({ + "node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() { + VERSION6 = "0.0.0-development"; + composePaginateRest = Object.assign(paginate, { iterator }); - var paginatingEndpoints = [ - 'GET /app/hook/deliveries', - 'GET /app/installations', - 'GET /applications/grants', - 'GET /authorizations', - 'GET /enterprises/{enterprise}/actions/permissions/organizations', - 'GET /enterprises/{enterprise}/actions/runner-groups', - 'GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations', - 'GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', - 'GET /enterprises/{enterprise}/actions/runners', - 'GET /enterprises/{enterprise}/audit-log', - 'GET /enterprises/{enterprise}/secret-scanning/alerts', - 'GET /enterprises/{enterprise}/settings/billing/advanced-security', - '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/runner-groups', - 'GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories', - 'GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners', - 'GET /orgs/{org}/actions/runners', - 'GET /orgs/{org}/actions/secrets', - 'GET /orgs/{org}/actions/secrets/{secret_name}/repositories', - 'GET /orgs/{org}/audit-log', - 'GET /orgs/{org}/blocks', - 'GET /orgs/{org}/code-scanning/alerts', - 'GET /orgs/{org}/codespaces', - 'GET /orgs/{org}/credential-authorizations', - 'GET /orgs/{org}/dependabot/secrets', - 'GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories', - 'GET /orgs/{org}/events', - 'GET /orgs/{org}/external-groups', - '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}/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}/projects', - 'GET /orgs/{org}/public_members', - 'GET /orgs/{org}/repos', - 'GET /orgs/{org}/secret-scanning/alerts', - 'GET /orgs/{org}/settings/billing/advanced-security', - 'GET /orgs/{org}/team-sync/groups', - '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/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/workflows', - 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', - '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/secrets', - 'GET /repos/{owner}/{repo}/deployments', - 'GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses', - 'GET /repos/{owner}/{repo}/environments', - 'GET /repos/{owner}/{repo}/events', - 'GET /repos/{owner}/{repo}/forks', - 'GET /repos/{owner}/{repo}/git/matching-refs/{ref}', - '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}/requested_reviewers', - '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}/secret-scanning/alerts', - 'GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations', - '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 /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/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}/starred', - 'GET /users/{username}/subscriptions' - ]; - function isPaginatingEndpoint(arg) { - if (typeof arg === 'string') { - return paginatingEndpoints.includes(arg); - } else { - return false; - } - } - function paginateRest(octokit2) { - return { - paginate: Object.assign(paginate.bind(null, octokit2), { - iterator: iterator.bind(null, octokit2) - }) - }; - } - paginateRest.VERSION = VERSION; - exports2.composePaginateRest = composePaginateRest; - exports2.isPaginatingEndpoint = isPaginatingEndpoint; - exports2.paginateRest = paginateRest; - exports2.paginatingEndpoints = paginatingEndpoints; + paginateRest.VERSION = VERSION6; } }); // node_modules/@actions/github/lib/utils.js -var require_utils4 = __commonJS({ - 'node_modules/@actions/github/lib/utils.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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 = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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(exports2, '__esModule', { value: true }); - exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0; - var Context = __importStar(require_context()); - var Utils = __importStar(require_utils2()); - var core_1 = require_dist_node8(); - var plugin_rest_endpoint_methods_1 = require_dist_node9(); - var plugin_paginate_rest_1 = require_dist_node10(); - exports2.context = new Context.Context(); - var baseUrl = Utils.getApiBaseUrl(); - exports2.defaults = { +function getOctokitOptions(token2, options) { + const opts = Object.assign({}, options || {}); + const auth2 = getAuthString(token2, opts); + if (auth2) { + opts.auth = auth2; + } + return opts; +} +var context, baseUrl, defaults, GitHub; +var init_utils2 = __esm({ + "node_modules/@actions/github/lib/utils.js"() { + init_context(); + init_utils(); + init_dist_src2(); + init_dist_src3(); + init_dist_bundle5(); + context = new Context(); + baseUrl = getApiBaseUrl(); + defaults = { baseUrl, request: { - agent: Utils.getProxyAgent(baseUrl) + agent: getProxyAgent(baseUrl), + fetch: getProxyFetch(baseUrl) } }; - exports2.GitHub = core_1.Octokit.plugin( - plugin_rest_endpoint_methods_1.restEndpointMethods, - plugin_paginate_rest_1.paginateRest - ).defaults(exports2.defaults); - function getOctokitOptions(token2, options) { - const opts = Object.assign({}, options || {}); - const auth = Utils.getAuthString(token2, opts); - if (auth) { - opts.auth = auth; - } - return opts; - } - exports2.getOctokitOptions = getOctokitOptions; + GitHub = Octokit.plugin(restEndpointMethods, paginateRest).defaults(defaults); } }); // node_modules/@actions/github/lib/github.js -var require_github = __commonJS({ - 'node_modules/@actions/github/lib/github.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__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 = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (exports2 && exports2.__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(exports2, '__esModule', { value: true }); - exports2.getOctokit = exports2.context = void 0; - var Context = __importStar(require_context()); - var utils_1 = require_utils4(); - exports2.context = new Context.Context(); - function getOctokit(token2, options, ...additionalPlugins) { - const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); - return new GitHubWithPlugins(utils_1.getOctokitOptions(token2, options)); - } - exports2.getOctokit = getOctokit; +var github_exports = {}; +__export(github_exports, { + context: () => context2, + getOctokit: () => getOctokit +}); +function getOctokit(token2, options, ...additionalPlugins) { + const GitHubWithPlugins = GitHub.plugin(...additionalPlugins); + return new GitHubWithPlugins(getOctokitOptions(token2, options)); +} +var context2; +var init_github = __esm({ + "node_modules/@actions/github/lib/github.js"() { + init_context(); + init_utils2(); + context2 = new Context(); } }); // src/main.js var core = require_core(); -var github = require_github(); +var github = (init_github(), __toCommonJS(github_exports)); var requiredArgOptions = { required: true, trimWhitespace: true }; -var fileInput = core.getInput('files-with-code') || ''; -var filesToCheckForChanges = fileInput && fileInput.length > 0 ? fileInput.split(',') : null; -var folderInput = core.getInput('folders-with-code') || ''; -var foldersToCheckForChanges = folderInput && folderInput.length > 0 ? folderInput.split(',') : null; -var prNumber = core.getInput('pr-number') || github.context.issue.number; -var org = core.getInput('org') || github.context.repo.owner; -var repo = core.getInput('repo') || github.context.repo.repo; -var token = core.getInput('token', requiredArgOptions); +var fileInput = core.getInput("files-with-code") || ""; +var filesToCheckForChanges = fileInput && fileInput.length > 0 ? fileInput.split(",") : null; +var folderInput = core.getInput("folders-with-code") || ""; +var foldersToCheckForChanges = folderInput && folderInput.length > 0 ? folderInput.split(",") : null; +var prNumber = core.getInput("pr-number") || github.context.issue.number; +var org = core.getInput("org") || github.context.repo.owner; +var repo = core.getInput("repo") || github.context.repo.repo; +var token = core.getInput("token", requiredArgOptions); var octokit = github.getOctokit(token); function getPrFolders(prFiles) { const prFoldersSet = /* @__PURE__ */ new Set(); if (prFiles) { - prFiles.forEach(f => { - const folder = f.substring(0, f.lastIndexOf('/')); + prFiles.forEach((f) => { + const folder = f.substring(0, f.lastIndexOf("/")); prFoldersSet.add(folder); - let baseFolder = ''; - folder.split('/').forEach((fp, index) => { + let baseFolder = ""; + folder.split("/").forEach((fp, index) => { prFoldersSet.add(fp); baseFolder = index === 0 ? fp : `${baseFolder}/${fp}`; prFoldersSet.add(baseFolder); }); }); } - const prFolders = Array.from(prFoldersSet).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); + const prFolders = Array.from(prFoldersSet).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); if (prFolders.length > 0) { core.info(` The following folders have changes in the PR: - ${prFolders.join('\n ')}`); + ${prFolders.join("\n ")}`); } else { core.info(` No folders had changes in the PR.`); @@ -16800,34 +25337,31 @@ No folders had changes in the PR.`); } async function getPRFiles(org2, repo2, prNumber2) { const prFilesSet = /* @__PURE__ */ new Set(); - await octokit - .paginate(octokit.rest.pulls.listFiles, { - owner: org2, - repo: repo2, - pull_number: prNumber2 - }) - .then(prFileResponse => { - const prFiles = prFileResponse.map(prf => prf.filename).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); - prFiles.forEach(f => { - const fileParts = f.split('/'); - prFilesSet.add(fileParts[fileParts.length - 1]); - prFilesSet.add(f); - }); - }) - .catch(error => { - core.error(` -An error occurred retrieving the PR files: ${error.message}`); + await octokit.paginate(octokit.rest.pulls.listFiles, { + owner: org2, + repo: repo2, + pull_number: prNumber2 + }).then((prFileResponse) => { + const prFiles = prFileResponse.map((prf) => prf.filename).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); + prFiles.forEach((f) => { + const fileParts = f.split("/"); + prFilesSet.add(fileParts[fileParts.length - 1]); + prFilesSet.add(f); }); - const filesToReturn = Array.from(prFilesSet).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); + }).catch((error) => { + core.error(` +An error occurred retrieving the PR files: ${error.message}`); + }); + const filesToReturn = Array.from(prFilesSet).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); core.info(` The following files have changes in the PR: - ${filesToReturn.join('\n ')}`); + ${filesToReturn.join("\n ")}`); return filesToReturn; } async function run() { const eventName = github.context.eventName; - if (eventName !== 'pull_request' && eventName !== 'pull_request_target') { - core.setFailed('The workflow must have a pull_request or pull_request_target trigger.'); + if (eventName !== "pull_request" && eventName !== "pull_request_target") { + core.setFailed("The workflow must have a pull_request or pull_request_target trigger."); return; } core.info(`org: ${org}`); @@ -16839,38 +25373,43 @@ async function run() { let matchingFiles = []; let matchingFolders = []; if (filesToCheckForChanges && filesToCheckForChanges.length > 0) { - matchingFiles = filesToCheckForChanges.filter(f => filesChangedInPr.includes(f)) || []; + matchingFiles = filesToCheckForChanges.filter((f) => filesChangedInPr.includes(f)) || []; if (matchingFiles.length > 0) { hasMatchingChanges = true; const joinedFiles = ` - ${matchingFiles.join('\n ')}`; + ${matchingFiles.join("\n ")}`; core.info(` The following files have changes in the PR and match the files to check for changes:${joinedFiles}`); } } if (foldersToCheckForChanges && foldersToCheckForChanges.length > 0) { - matchingFolders = foldersToCheckForChanges.filter(f => foldersChangedInPr.includes(f)) || []; + matchingFolders = foldersToCheckForChanges.filter((f) => foldersChangedInPr.includes(f)) || []; if (matchingFolders.length > 0) { hasMatchingChanges = true; const joinedFolders = ` - ${matchingFolders.join('\n ')}`; + ${matchingFolders.join("\n ")}`; core.info( ` The following folders have changes in the PR and match the folders to check for changes:${joinedFolders}` ); } } - core.setOutput('HAS_CHANGES', hasMatchingChanges); - core.exportVariable('CODE_HAS_CHANGED', hasMatchingChanges); + core.setOutput("HAS_CHANGES", hasMatchingChanges); + core.exportVariable("CODE_HAS_CHANGED", hasMatchingChanges); } run(); /*! Bundled license information: -is-plain-object/dist/is-plain-object.js: - (*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - *) +undici/lib/web/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +undici/lib/web/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik *) + +@octokit/request-error/dist-src/index.js: + (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *) + +@octokit/request/dist-bundle/index.js: + (* v8 ignore next -- @preserve *) + (* v8 ignore else -- @preserve *) */ diff --git a/.github/actions/did-custom-action-code-change/package.json b/.github/actions/did-custom-action-code-change/package.json index 390793b..a138be5 100644 --- a/.github/actions/did-custom-action-code-change/package.json +++ b/.github/actions/did-custom-action-code-change/package.json @@ -4,8 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "build": "npm ci && esbuild ./src/main.js --bundle --platform=node --outfile=dist/index.js && npm run format && git add dist/*", - "bundle": "esbuild ./src/main.js --bundle --platform=node --outfile=dist/index.js", + "build": "npm ci && esbuild ./src/main.js --bundle --platform=node --conditions=import --outfile=dist/index.js && npm run format && git add dist/*", + "bundle": "esbuild ./src/main.js --bundle --platform=node --conditions=import --outfile=dist/index.js", "format": "prettier --write **/*.js", "format-check": "prettier --check **/*.js" }, From 660286feb273b51346556ffb72b65eeb0bae69ab Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:05:27 +0000 Subject: [PATCH 3/3] Recompile action with npm run build Co-authored-by: ahernandez411 <11199284+ahernandez411@users.noreply.github.com> --- .../dist/index.js | 15306 ++++++++-------- 1 file changed, 7327 insertions(+), 7979 deletions(-) diff --git a/.github/actions/did-custom-action-code-change/dist/index.js b/.github/actions/did-custom-action-code-change/dist/index.js index f997d4b..c5307e6 100644 --- a/.github/actions/did-custom-action-code-change/dist/index.js +++ b/.github/actions/did-custom-action-code-change/dist/index.js @@ -4,44 +4,48 @@ 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 __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 }); + for (var name in all) __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 }); } return to; }; -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); +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/@actions/core/lib/utils.js var require_utils = __commonJS({ - "node_modules/@actions/core/lib/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); + 'node_modules/@actions/core/lib/utils.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.toCommandProperties = exports2.toCommandValue = void 0; function toCommandValue(input) { if (input === null || input === void 0) { - return ""; - } else if (typeof input === "string" || input instanceof String) { + return ''; + } else if (typeof input === 'string' || input instanceof String) { return input; } return JSON.stringify(input); @@ -66,49 +70,62 @@ var require_utils = __commonJS({ // node_modules/@actions/core/lib/command.js var require_command = __commonJS({ - "node_modules/@actions/core/lib/command.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__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(exports2, "__esModule", { value: true }); + 'node_modules/@actions/core/lib/command.js'(exports2) { + 'use strict'; + var __createBinding = + (exports2 && exports2.__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 = + (exports2 && exports2.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + : function (o, v) { + o['default'] = v; + }); + var __importStar = + (exports2 && exports2.__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(exports2, '__esModule', { value: true }); exports2.issue = exports2.issueCommand = void 0; - var os = __importStar(require("os")); + 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); } exports2.issueCommand = issueCommand; - function issue(name, message = "") { + function issue(name, message = '') { issueCommand(name, {}, message); } exports2.issue = issue; - var CMD_STRING = "::"; + var CMD_STRING = '::'; var Command = class { constructor(command, properties, message) { if (!command) { - command = "missing.command"; + command = 'missing.command'; } this.command = command; this.properties = properties; @@ -117,7 +134,7 @@ var require_command = __commonJS({ toString() { let cmdStr = CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += " "; + cmdStr += ' '; let first = true; for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { @@ -126,7 +143,7 @@ var require_command = __commonJS({ if (first) { first = false; } else { - cmdStr += ","; + cmdStr += ','; } cmdStr += `${key}=${escapeProperty(val)}`; } @@ -138,23 +155,29 @@ var require_command = __commonJS({ } }; 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/uuid/dist/rng.js var require_rng = __commonJS({ - "node_modules/uuid/dist/rng.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/rng.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = rng; - var _crypto = _interopRequireDefault(require("crypto")); + var _crypto = _interopRequireDefault(require('crypto')); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -165,29 +188,30 @@ var require_rng = __commonJS({ _crypto.default.randomFillSync(rnds8Pool); poolPtr = 0; } - return rnds8Pool.slice(poolPtr, poolPtr += 16); + return rnds8Pool.slice(poolPtr, (poolPtr += 16)); } } }); // node_modules/uuid/dist/regex.js var require_regex = __commonJS({ - "node_modules/uuid/dist/regex.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/regex.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; - var _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; + var _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; exports2.default = _default; } }); // node_modules/uuid/dist/validate.js var require_validate = __commonJS({ - "node_modules/uuid/dist/validate.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/validate.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -196,7 +220,7 @@ var require_validate = __commonJS({ return obj && obj.__esModule ? obj : { default: obj }; } function validate(uuid) { - return typeof uuid === "string" && _regex.default.test(uuid); + return typeof uuid === 'string' && _regex.default.test(uuid); } var _default = validate; exports2.default = _default; @@ -205,9 +229,9 @@ var require_validate = __commonJS({ // node_modules/uuid/dist/stringify.js var require_stringify = __commonJS({ - "node_modules/uuid/dist/stringify.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/stringify.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -220,9 +244,30 @@ var require_stringify = __commonJS({ byteToHex.push((i + 256).toString(16).substr(1)); } 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 (!(0, _validate.default)(uuid)) { - throw TypeError("Stringified UUID is invalid"); + throw TypeError('Stringified UUID is invalid'); } return uuid; } @@ -233,9 +278,9 @@ var require_stringify = __commonJS({ // node_modules/uuid/dist/v1.js var require_v1 = __commonJS({ - "node_modules/uuid/dist/v1.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/v1.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -249,7 +294,7 @@ var require_v1 = __commonJS({ var _lastMSecs = 0; var _lastNSecs = 0; function v1(options, buf, offset) { - let i = buf && offset || 0; + let i = (buf && offset) || 0; const b = buf || new Array(16); options = options || {}; let node = options.node || _nodeId; @@ -260,14 +305,14 @@ var require_v1 = __commonJS({ 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; 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; @@ -280,16 +325,16 @@ var require_v1 = __commonJS({ _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 >>> 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; + 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++] = ((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]; @@ -303,9 +348,9 @@ var require_v1 = __commonJS({ // node_modules/uuid/dist/parse.js var require_parse = __commonJS({ - "node_modules/uuid/dist/parse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/parse.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -315,13 +360,13 @@ var require_parse = __commonJS({ } function parse2(uuid) { if (!(0, _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[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; @@ -329,11 +374,11 @@ var require_parse = __commonJS({ 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[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; } @@ -344,9 +389,9 @@ var require_parse = __commonJS({ // node_modules/uuid/dist/v35.js var require_v35 = __commonJS({ - "node_modules/uuid/dist/v35.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/v35.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = _default; @@ -364,27 +409,27 @@ var require_v35 = __commonJS({ } return bytes; } - var DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; exports2.DNS = DNS; - var URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + var URL2 = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; exports2.URL = URL2; function _default(name, version, hashfunc) { function generateUUID(value, namespace, buf, offset) { - if (typeof value === "string") { + if (typeof value === 'string') { value = stringToBytes(value); } - if (typeof namespace === "string") { + if (typeof namespace === 'string') { namespace = (0, _parse.default)(namespace); } if (namespace.length !== 16) { - throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); + 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 | version; - bytes[8] = bytes[8] & 63 | 128; + bytes[6] = (bytes[6] & 15) | version; + bytes[8] = (bytes[8] & 63) | 128; if (buf) { offset = offset || 0; for (let i = 0; i < 16; ++i) { @@ -396,8 +441,7 @@ var require_v35 = __commonJS({ } try { generateUUID.name = name; - } catch (err) { - } + } catch (err) {} generateUUID.DNS = DNS; generateUUID.URL = URL2; return generateUUID; @@ -407,23 +451,23 @@ var require_v35 = __commonJS({ // node_modules/uuid/dist/md5.js var require_md5 = __commonJS({ - "node_modules/uuid/dist/md5.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/md5.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; - var _crypto = _interopRequireDefault(require("crypto")); + var _crypto = _interopRequireDefault(require('crypto')); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function md5(bytes) { if (Array.isArray(bytes)) { bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); } - return _crypto.default.createHash("md5").update(bytes).digest(); + return _crypto.default.createHash('md5').update(bytes).digest(); } var _default = md5; exports2.default = _default; @@ -432,9 +476,9 @@ var require_md5 = __commonJS({ // node_modules/uuid/dist/v3.js var require_v3 = __commonJS({ - "node_modules/uuid/dist/v3.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/v3.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -443,7 +487,7 @@ var require_v3 = __commonJS({ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var v3 = (0, _v.default)("v3", 48, _md.default); + var v3 = (0, _v.default)('v3', 48, _md.default); var _default = v3; exports2.default = _default; } @@ -451,9 +495,9 @@ var require_v3 = __commonJS({ // node_modules/uuid/dist/v4.js var require_v4 = __commonJS({ - "node_modules/uuid/dist/v4.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/v4.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -465,8 +509,8 @@ var require_v4 = __commonJS({ function v4(options, buf, offset) { options = options || {}; const rnds = options.random || (options.rng || _rng.default)(); - rnds[6] = rnds[6] & 15 | 64; - rnds[8] = rnds[8] & 63 | 128; + rnds[6] = (rnds[6] & 15) | 64; + rnds[8] = (rnds[8] & 63) | 128; if (buf) { offset = offset || 0; for (let i = 0; i < 16; ++i) { @@ -483,23 +527,23 @@ var require_v4 = __commonJS({ // node_modules/uuid/dist/sha1.js var require_sha1 = __commonJS({ - "node_modules/uuid/dist/sha1.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/sha1.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; - var _crypto = _interopRequireDefault(require("crypto")); + var _crypto = _interopRequireDefault(require('crypto')); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function sha1(bytes) { if (Array.isArray(bytes)) { bytes = Buffer.from(bytes); - } else if (typeof bytes === "string") { - bytes = Buffer.from(bytes, "utf8"); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); } - return _crypto.default.createHash("sha1").update(bytes).digest(); + return _crypto.default.createHash('sha1').update(bytes).digest(); } var _default = sha1; exports2.default = _default; @@ -508,9 +552,9 @@ var require_sha1 = __commonJS({ // node_modules/uuid/dist/v5.js var require_v5 = __commonJS({ - "node_modules/uuid/dist/v5.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/v5.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -519,7 +563,7 @@ var require_v5 = __commonJS({ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var v5 = (0, _v.default)("v5", 80, _sha.default); + var v5 = (0, _v.default)('v5', 80, _sha.default); var _default = v5; exports2.default = _default; } @@ -527,22 +571,22 @@ var require_v5 = __commonJS({ // node_modules/uuid/dist/nil.js var require_nil = __commonJS({ - "node_modules/uuid/dist/nil.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/nil.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; - var _default = "00000000-0000-0000-0000-000000000000"; + var _default = '00000000-0000-0000-0000-000000000000'; exports2.default = _default; } }); // node_modules/uuid/dist/version.js var require_version = __commonJS({ - "node_modules/uuid/dist/version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/version.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.default = void 0; @@ -552,7 +596,7 @@ var require_version = __commonJS({ } function version(uuid) { if (!(0, _validate.default)(uuid)) { - throw TypeError("Invalid UUID"); + throw TypeError('Invalid UUID'); } return parseInt(uuid.substr(14, 1), 16); } @@ -563,62 +607,62 @@ var require_version = __commonJS({ // node_modules/uuid/dist/index.js var require_dist = __commonJS({ - "node_modules/uuid/dist/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { + 'node_modules/uuid/dist/index.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); - Object.defineProperty(exports2, "v1", { + Object.defineProperty(exports2, 'v1', { enumerable: true, - get: function() { + get: function () { return _v.default; } }); - Object.defineProperty(exports2, "v3", { + Object.defineProperty(exports2, 'v3', { enumerable: true, - get: function() { + get: function () { return _v2.default; } }); - Object.defineProperty(exports2, "v4", { + Object.defineProperty(exports2, 'v4', { enumerable: true, - get: function() { + get: function () { return _v3.default; } }); - Object.defineProperty(exports2, "v5", { + Object.defineProperty(exports2, 'v5', { enumerable: true, - get: function() { + get: function () { return _v4.default; } }); - Object.defineProperty(exports2, "NIL", { + Object.defineProperty(exports2, 'NIL', { enumerable: true, - get: function() { + get: function () { return _nil.default; } }); - Object.defineProperty(exports2, "version", { + Object.defineProperty(exports2, 'version', { enumerable: true, - get: function() { + get: function () { return _version.default; } }); - Object.defineProperty(exports2, "validate", { + Object.defineProperty(exports2, 'validate', { enumerable: true, - get: function() { + get: function () { return _validate.default; } }); - Object.defineProperty(exports2, "stringify", { + Object.defineProperty(exports2, 'stringify', { enumerable: true, - get: function() { + get: function () { return _stringify.default; } }); - Object.defineProperty(exports2, "parse", { + Object.defineProperty(exports2, 'parse', { enumerable: true, - get: function() { + get: function () { return _parse.default; } }); @@ -639,35 +683,48 @@ var require_dist = __commonJS({ // node_modules/@actions/core/lib/file-command.js var require_file_command = __commonJS({ - "node_modules/@actions/core/lib/file-command.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__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(exports2, "__esModule", { value: true }); + 'node_modules/@actions/core/lib/file-command.js'(exports2) { + 'use strict'; + var __createBinding = + (exports2 && exports2.__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 = + (exports2 && exports2.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + : function (o, v) { + o['default'] = v; + }); + var __importStar = + (exports2 && exports2.__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(exports2, '__esModule', { value: true }); exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0; - var fs = __importStar(require("fs")); - var os = __importStar(require("os")); + var fs = __importStar(require('fs')); + var os = __importStar(require('os')); var uuid_1 = require_dist(); var utils_1 = require_utils(); function issueFileCommand(command, message) { @@ -679,7 +736,7 @@ var require_file_command = __commonJS({ throw new Error(`Missing file at path: ${filePath}`); } fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { - encoding: "utf8" + encoding: 'utf8' }); } exports2.issueFileCommand = issueFileCommand; @@ -700,20 +757,20 @@ var require_file_command = __commonJS({ // node_modules/@actions/http-client/lib/proxy.js var require_proxy = __commonJS({ - "node_modules/@actions/http-client/lib/proxy.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); + 'node_modules/@actions/http-client/lib/proxy.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.checkBypass = exports2.getProxyUrl = void 0; function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === "https:"; + const usingSsl = reqUrl.protocol === 'https:'; if (checkBypass(reqUrl)) { 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) { @@ -727,24 +784,27 @@ var require_proxy = __commonJS({ if (!reqUrl.hostname) { return false; } - const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; if (!noProxy) { return false; } let reqPort; if (reqUrl.port) { reqPort = Number(reqUrl.port); - } else if (reqUrl.protocol === "http:") { + } else if (reqUrl.protocol === 'http:') { reqPort = 80; - } else if (reqUrl.protocol === "https:") { + } else if (reqUrl.protocol === 'https:') { reqPort = 443; } const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === "number") { + if (typeof reqPort === 'number') { upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); } - for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) { - if (upperReqHosts.some((x) => x === upperNoProxyItem)) { + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperReqHosts.some(x => x === upperNoProxyItem)) { return true; } } @@ -756,15 +816,15 @@ var require_proxy = __commonJS({ // node_modules/tunnel/lib/tunnel.js var require_tunnel = __commonJS({ - "node_modules/tunnel/lib/tunnel.js"(exports2) { - "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"); + 'node_modules/tunnel/lib/tunnel.js'(exports2) { + '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'); exports2.httpOverHttp = httpOverHttp; exports2.httpsOverHttp = httpsOverHttp; exports2.httpOverHttps = httpOverHttps; @@ -800,7 +860,7 @@ var require_tunnel = __commonJS({ self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; self.requests = []; self.sockets = []; - self.on("free", function onFree(socket, host, port, localAddress) { + 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]; @@ -822,19 +882,19 @@ var require_tunnel = __commonJS({ self.requests.push(options); return; } - self.createSocket(options, function(socket) { - socket.on("free", onFree); - socket.on("close", onCloseOrRemove); - socket.on("agentRemove", onCloseOrRemove); + 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); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); } }); }; @@ -843,11 +903,11 @@ var require_tunnel = __commonJS({ 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) { @@ -855,21 +915,21 @@ var require_tunnel = __commonJS({ } if (connectOptions.proxyAuth) { connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64'); } - debug("making CONNECT request"); + 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.once('response', onResponse); + connectReq.once('upgrade', onUpgrade); + connectReq.once('connect', onConnect); + connectReq.once('error', onError); connectReq.end(); function onResponse(res) { res.upgrade = true; } function onUpgrade(res, socket, head) { - process.nextTick(function() { + process.nextTick(function () { onConnect(res, socket, head); }); } @@ -877,40 +937,33 @@ var require_tunnel = __commonJS({ connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { - debug( - "tunneling socket could not be established, statusCode=%d", - res.statusCode - ); + debug('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); + 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"); + 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); + 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"); + debug('tunneling connection has established'); self.sockets[self.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); - debug( - "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); + debug('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); } }; @@ -922,18 +975,18 @@ var require_tunnel = __commonJS({ this.sockets.splice(pos, 1); var pending = this.requests.shift(); if (pending) { - this.createSocket(pending, function(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"); + 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 + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host }); var secureSocket = tls.connect(0, tlsOptions); self.sockets[self.sockets.indexOf(socket)] = secureSocket; @@ -941,7 +994,7 @@ var require_tunnel = __commonJS({ }); } function toOptions(host, port, localAddress) { - if (typeof host === "string") { + if (typeof host === 'string') { return { host, port, @@ -953,7 +1006,7 @@ var require_tunnel = __commonJS({ function mergeOptions(target) { for (var i = 1, len = arguments.length; i < len; ++i) { var overrides = arguments[i]; - if (typeof overrides === "object") { + if (typeof overrides === 'object') { var keys = Object.keys(overrides); for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { var k = keys[j]; @@ -967,18 +1020,17 @@ var require_tunnel = __commonJS({ } var debug; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { + debug = function () { var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === "string") { - args[0] = "TUNNEL: " + args[0]; + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; } else { - args.unshift("TUNNEL:"); + args.unshift('TUNNEL:'); } console.error.apply(console, args); }; } else { - debug = function() { - }; + debug = function () {}; } exports2.debug = debug; } @@ -986,113 +1038,138 @@ var require_tunnel = __commonJS({ // node_modules/tunnel/index.js var require_tunnel2 = __commonJS({ - "node_modules/tunnel/index.js"(exports2, module2) { + 'node_modules/tunnel/index.js'(exports2, module2) { module2.exports = require_tunnel(); } }); // node_modules/@actions/http-client/lib/index.js var require_lib = __commonJS({ - "node_modules/@actions/http-client/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__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 __awaiter2 = exports2 && exports2.__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); + 'node_modules/@actions/http-client/lib/index.js'(exports2) { + 'use strict'; + var __createBinding = + (exports2 && exports2.__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 = + (exports2 && exports2.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + : function (o, v) { + o['default'] = v; + }); + var __importStar = + (exports2 && exports2.__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); } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + __setModuleDefault(result, mod); + return result; + }; + var __awaiter2 = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; - var http = __importStar(require("http")); - var https = __importStar(require("https")); + 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(exports2, '__esModule', { value: true }); + exports2.HttpClient = + exports2.isHttps = + exports2.HttpClientResponse = + exports2.HttpClientError = + exports2.getProxyUrl = + exports2.MediaTypes = + exports2.Headers = + exports2.HttpCodes = + void 0; + var http = __importStar(require('http')); + var https = __importStar(require('https')); var pm = __importStar(require_proxy()); var tunnel = __importStar(require_tunnel2()); 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 = exports2.HttpCodes || (exports2.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 = exports2.HttpCodes || (exports2.HttpCodes = {}))); var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; - })(Headers = exports2.Headers || (exports2.Headers = {})); + (function (Headers2) { + Headers2['Accept'] = 'accept'; + Headers2['ContentType'] = 'content-type'; + })((Headers = exports2.Headers || (exports2.Headers = {}))); var MediaTypes; - (function(MediaTypes2) { - MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {})); + (function (MediaTypes2) { + MediaTypes2['ApplicationJson'] = 'application/json'; + })((MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {}))); function getProxyUrl(serverUrl) { const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ""; + return proxyUrl ? proxyUrl.href : ''; } exports2.getProxyUrl = getProxyUrl; var HttpRedirectCodes = [ @@ -1102,18 +1179,14 @@ var require_lib = __commonJS({ HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect ]; - var HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout - ]; - var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; + var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; + 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.name = 'HttpClientError'; this.statusCode = statusCode; Object.setPrototypeOf(this, _HttpClientError.prototype); } @@ -1125,22 +1198,24 @@ var require_lib = __commonJS({ } readBody() { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter2(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 => + __awaiter2(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()); + }); + }) + ); }); } }; exports2.HttpClientResponse = HttpClientResponse; function isHttps(requestUrl) { const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === "https:"; + return parsedUrl.protocol === 'https:'; } exports2.isHttps = isHttps; var HttpClient2 = class { @@ -1183,37 +1258,37 @@ var require_lib = __commonJS({ } options(requestUrl, additionalHeaders) { return __awaiter2(this, void 0, void 0, function* () { - return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); }); } get(requestUrl, additionalHeaders) { return __awaiter2(this, void 0, void 0, function* () { - return this.request("GET", requestUrl, null, additionalHeaders || {}); + return this.request('GET', requestUrl, null, additionalHeaders || {}); }); } del(requestUrl, additionalHeaders) { return __awaiter2(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 __awaiter2(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 __awaiter2(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 __awaiter2(this, void 0, void 0, function* () { - return this.request("PUT", requestUrl, data, additionalHeaders || {}); + return this.request('PUT', requestUrl, data, additionalHeaders || {}); }); } head(requestUrl, additionalHeaders) { return __awaiter2(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) { @@ -1227,7 +1302,11 @@ var require_lib = __commonJS({ */ getJson(requestUrl, additionalHeaders = {}) { return __awaiter2(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ); const res = yield this.get(requestUrl, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -1235,8 +1314,16 @@ var require_lib = __commonJS({ postJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter2(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); + 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); }); @@ -1244,8 +1331,16 @@ var require_lib = __commonJS({ putJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter2(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); + 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); }); @@ -1253,8 +1348,16 @@ var require_lib = __commonJS({ patchJson(requestUrl, obj, additionalHeaders = {}) { return __awaiter2(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); + 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); }); @@ -1267,7 +1370,7 @@ var require_lib = __commonJS({ request(verb, requestUrl, data, headers) { return __awaiter2(this, void 0, void 0, function* () { if (this._disposed) { - throw new Error("Client has already been disposed."); + throw new Error('Client has already been disposed.'); } const parsedUrl = new URL(requestUrl); let info = this._prepareRequest(verb, parsedUrl, headers); @@ -1291,19 +1394,30 @@ var require_lib = __commonJS({ } } let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { - const redirectUrl = response.message.headers["location"]; + while ( + response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0 + ) { + const redirectUrl = response.message.headers['location']; if (!redirectUrl) { 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."); + 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(); if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { for (const header in headers) { - if (header.toLowerCase() === "authorization") { + if (header.toLowerCase() === 'authorization') { delete headers[header]; } } @@ -1345,7 +1459,7 @@ var require_lib = __commonJS({ if (err) { reject(err); } else if (!res) { - reject(new Error("Unknown error")); + reject(new Error('Unknown error')); } else { resolve(res); } @@ -1361,11 +1475,11 @@ 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["Content-Length"] = Buffer.byteLength(data, "utf8"); + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); } let callbackCalled = false; function handleResult(err, res) { @@ -1374,12 +1488,12 @@ var require_lib = __commonJS({ onResult(err, res); } } - const req = info.httpModule.request(info.options, (msg) => { + const req = info.httpModule.request(info.options, msg => { const res = new HttpClientResponse(msg); handleResult(void 0, res); }); let socket; - req.on("socket", (sock) => { + req.on('socket', sock => { socket = sock; }); req.setTimeout(this._socketTimeout || 3 * 6e4, () => { @@ -1388,14 +1502,14 @@ var require_lib = __commonJS({ } handleResult(new Error(`Request timeout: ${info.options.path}`)); }); - req.on("error", function(err) { + req.on('error', function (err) { handleResult(err); }); - if (data && typeof data === "string") { - req.write(data, "utf8"); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); } - if (data && typeof data !== "string") { - data.on("close", function() { + if (data && typeof data !== 'string') { + data.on('close', function () { req.end(); }); data.pipe(req); @@ -1415,17 +1529,17 @@ var require_lib = __commonJS({ _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === "https:"; + 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.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); if (this.handlers) { @@ -1461,7 +1575,7 @@ var require_lib = __commonJS({ if (agent) { return agent; } - const usingSsl = parsedUrl.protocol === "https:"; + const usingSsl = parsedUrl.protocol === 'https:'; let maxSockets = 100; if (this.requestOptions) { maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; @@ -1470,12 +1584,18 @@ var require_lib = __commonJS({ 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 }) + 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:"; + const overHttps = proxyUrl.protocol === 'https:'; if (usingSsl) { tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; } else { @@ -1503,102 +1623,110 @@ var require_lib = __commonJS({ return __awaiter2(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)); + return new Promise(resolve => setTimeout(() => resolve(), ms)); }); } _processResponse(res, options) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter2(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) => + __awaiter2(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); - } - })); + }) + ); }); } }; exports2.HttpClient = HttpClient2; - var lowercaseKeys2 = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); + var lowercaseKeys2 = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); } }); // node_modules/@actions/http-client/lib/auth.js var require_auth = __commonJS({ - "node_modules/@actions/http-client/lib/auth.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__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/@actions/http-client/lib/auth.js'(exports2) { + 'use strict'; + var __awaiter2 = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + 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(exports2, "__esModule", { value: true }); - exports2.PersonalAccessTokenCredentialHandler = exports2.BearerCredentialHandler = exports2.BasicCredentialHandler = void 0; + 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(exports2, '__esModule', { value: true }); + exports2.PersonalAccessTokenCredentialHandler = + exports2.BearerCredentialHandler = + exports2.BasicCredentialHandler = + void 0; var BasicCredentialHandler = class { constructor(username, password) { this.username = username; @@ -1606,9 +1734,9 @@ var require_auth = __commonJS({ } 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() { @@ -1616,7 +1744,7 @@ var require_auth = __commonJS({ } handleAuthentication() { return __awaiter2(this, void 0, void 0, function* () { - throw new Error("not implemented"); + throw new Error('not implemented'); }); } }; @@ -1629,9 +1757,9 @@ var require_auth = __commonJS({ // 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() { @@ -1639,7 +1767,7 @@ var require_auth = __commonJS({ } handleAuthentication() { return __awaiter2(this, void 0, void 0, function* () { - throw new Error("not implemented"); + throw new Error('not implemented'); }); } }; @@ -1652,9 +1780,9 @@ var require_auth = __commonJS({ // 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() { @@ -1662,7 +1790,7 @@ var require_auth = __commonJS({ } handleAuthentication() { return __awaiter2(this, void 0, void 0, function* () { - throw new Error("not implemented"); + throw new Error('not implemented'); }); } }; @@ -1672,36 +1800,40 @@ var require_auth = __commonJS({ // node_modules/@actions/core/lib/oidc-utils.js var require_oidc_utils = __commonJS({ - "node_modules/@actions/core/lib/oidc-utils.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__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/@actions/core/lib/oidc-utils.js'(exports2) { + 'use strict'; + var __awaiter2 = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + 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(exports2, "__esModule", { value: true }); + 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(exports2, '__esModule', { value: true }); exports2.OidcClient = void 0; var http_client_1 = require_lib(); var auth_1 = require_auth(); @@ -1712,19 +1844,23 @@ var require_oidc_utils = __commonJS({ 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 token2 = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; + const token2 = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; if (!token2) { - 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 token2; } 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; } @@ -1732,7 +1868,7 @@ var require_oidc_utils = __commonJS({ var _a; return __awaiter2(this, void 0, void 0, function* () { const httpclient = _OidcClient.createHttpClient(); - const res = yield httpclient.getJson(id_token_url).catch((error) => { + const res = yield httpclient.getJson(id_token_url).catch(error => { throw new Error(`Failed to get ID Token. Error Code : ${error.statusCode} @@ -1741,7 +1877,7 @@ var require_oidc_utils = __commonJS({ }); 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; }); @@ -1770,45 +1906,50 @@ var require_oidc_utils = __commonJS({ // node_modules/@actions/core/lib/summary.js var require_summary = __commonJS({ - "node_modules/@actions/core/lib/summary.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__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/@actions/core/lib/summary.js'(exports2) { + 'use strict'; + var __awaiter2 = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + 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(exports2, "__esModule", { value: true }); + 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(exports2, '__esModule', { value: true }); exports2.summary = exports2.markdownSummary = exports2.SUMMARY_DOCS_URL = exports2.SUMMARY_ENV_VAR = void 0; - var os_1 = require("os"); - var fs_1 = require("fs"); + var os_1 = require('os'); + var fs_1 = require('fs'); var { access, appendFile, writeFile } = fs_1.promises; - exports2.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; - exports2.SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; + exports2.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; + exports2.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 @@ -1823,12 +1964,16 @@ var require_summary = __commonJS({ } const pathFromEnv = process.env[exports2.SUMMARY_ENV_VAR]; if (!pathFromEnv) { - throw new Error(`Unable to find environment variable for $${exports2.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + throw new Error( + `Unable to find environment variable for $${exports2.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); } 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; @@ -1844,7 +1989,9 @@ 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}>`; } @@ -1862,7 +2009,7 @@ var require_summary = __commonJS({ 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" }); + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); return this.emptyBuffer(); }); } @@ -1898,7 +2045,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ emptyBuffer() { - this._buffer = ""; + this._buffer = ''; return this; } /** @@ -1931,7 +2078,7 @@ var require_summary = __commonJS({ */ addCodeBlock(code, lang) { const attrs = Object.assign({}, lang && { lang }); - const element = this.wrap("pre", this.wrap("code", code), attrs); + const element = this.wrap('pre', this.wrap('code', code), attrs); return this.addRaw(element).addEOL(); } /** @@ -1943,8 +2090,8 @@ 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 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(); } @@ -1956,19 +2103,23 @@ 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); + 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(); } /** @@ -1980,7 +2131,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addDetails(label, content) { - const element = this.wrap("details", this.wrap("summary", label) + content); + const element = this.wrap('details', this.wrap('summary', label) + content); return this.addRaw(element).addEOL(); } /** @@ -1995,7 +2146,7 @@ var require_summary = __commonJS({ 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)); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); return this.addRaw(element).addEOL(); } /** @@ -2008,7 +2159,7 @@ var require_summary = __commonJS({ */ addHeading(text, level) { const tag = `h${level}`; - const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) ? tag : 'h1'; const element = this.wrap(allowedTag, text); return this.addRaw(element).addEOL(); } @@ -2018,7 +2169,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addSeparator() { - const element = this.wrap("hr", null); + const element = this.wrap('hr', null); return this.addRaw(element).addEOL(); } /** @@ -2027,7 +2178,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addBreak() { - const element = this.wrap("br", null); + const element = this.wrap('br', null); return this.addRaw(element).addEOL(); } /** @@ -2040,7 +2191,7 @@ var require_summary = __commonJS({ */ addQuote(text, cite) { const attrs = Object.assign({}, cite && { cite }); - const element = this.wrap("blockquote", text, attrs); + const element = this.wrap('blockquote', text, attrs); return this.addRaw(element).addEOL(); } /** @@ -2052,7 +2203,7 @@ var require_summary = __commonJS({ * @returns {Summary} summary instance */ addLink(text, href) { - const element = this.wrap("a", text, { href }); + const element = this.wrap('a', text, { href }); return this.addRaw(element).addEOL(); } }; @@ -2064,40 +2215,53 @@ var require_summary = __commonJS({ // node_modules/@actions/core/lib/path-utils.js var require_path_utils = __commonJS({ - "node_modules/@actions/core/lib/path-utils.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__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(exports2, "__esModule", { value: true }); + 'node_modules/@actions/core/lib/path-utils.js'(exports2) { + 'use strict'; + var __createBinding = + (exports2 && exports2.__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 = + (exports2 && exports2.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + : function (o, v) { + o['default'] = v; + }); + var __importStar = + (exports2 && exports2.__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(exports2, '__esModule', { value: true }); exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; - var path = __importStar(require("path")); + var path = __importStar(require('path')); function toPosixPath(pth) { - return pth.replace(/[\\]/g, "/"); + return pth.replace(/[\\]/g, '/'); } exports2.toPosixPath = toPosixPath; function toWin32Path(pth) { - return pth.replace(/[/]/g, "\\"); + return pth.replace(/[/]/g, '\\'); } exports2.toWin32Path = toWin32Path; function toPlatformPath(pth) { @@ -2109,97 +2273,136 @@ var require_path_utils = __commonJS({ // node_modules/@actions/core/lib/core.js var require_core = __commonJS({ - "node_modules/@actions/core/lib/core.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__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 __awaiter2 = exports2 && exports2.__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/@actions/core/lib/core.js'(exports2) { + 'use strict'; + var __createBinding = + (exports2 && exports2.__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 = + (exports2 && exports2.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + : function (o, v) { + o['default'] = v; + }); + var __importStar = + (exports2 && exports2.__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); } - 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); + __setModuleDefault(result, mod); + return result; + }; + var __awaiter2 = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0; + 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(exports2, '__esModule', { value: true }); + exports2.getIDToken = + exports2.getState = + exports2.saveState = + exports2.group = + exports2.endGroup = + exports2.startGroup = + exports2.info = + exports2.notice = + exports2.warning = + exports2.error = + exports2.debug = + exports2.isDebug = + exports2.setFailed = + exports2.setCommandEcho = + exports2.setOutput = + exports2.getBooleanInput = + exports2.getMultilineInput = + exports2.getInput = + exports2.addPath = + exports2.setSecret = + exports2.exportVariable = + exports2.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 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 = exports2.ExitCode || (exports2.ExitCode = {})); + (function (ExitCode2) { + ExitCode2[(ExitCode2['Success'] = 0)] = 'Success'; + ExitCode2[(ExitCode2['Failure'] = 1)] = 'Failure'; + })((ExitCode = exports2.ExitCode || (exports2.ExitCode = {}))); function exportVariable(name, val) { const convertedVal = utils_1.toCommandValue(val); process.env[name] = convertedVal; - const filePath = process.env["GITHUB_ENV"] || ""; + 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); } exports2.exportVariable = exportVariable; function setSecret(secret) { - command_1.issueCommand("add-mask", {}, secret); + command_1.issueCommand('add-mask', {}, secret); } exports2.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']}`; } exports2.addPath = addPath; function getInput(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}`); } @@ -2210,36 +2413,36 @@ var require_core = __commonJS({ } exports2.getInput = getInput; function getMultilineInput(name, options) { - const inputs = getInput(name, options).split("\n").filter((x) => x !== ""); + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); if (options && options.trimWhitespace === false) { return inputs; } - return inputs.map((input) => input.trim()); + return inputs.map(input => input.trim()); } exports2.getMultilineInput = getMultilineInput; function getBooleanInput(name, options) { - const trueValue = ["true", "True", "TRUE"]; - const falseValue = ["false", "False", "FALSE"]; + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; const val = getInput(name, options); - if (trueValue.includes(val)) - return true; - if (falseValue.includes(val)) - return false; + 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\``); } exports2.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)); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); } exports2.setOutput = setOutput; function setCommandEcho(enabled) { - command_1.issue("echo", enabled ? "on" : "off"); + command_1.issue('echo', enabled ? 'on' : 'off'); } exports2.setCommandEcho = setCommandEcho; function setFailed(message) { @@ -2248,23 +2451,35 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.setFailed = setFailed; function isDebug() { - return process.env["RUNNER_DEBUG"] === "1"; + return process.env['RUNNER_DEBUG'] === '1'; } exports2.isDebug = isDebug; function debug(message) { - command_1.issueCommand("debug", {}, message); + command_1.issueCommand('debug', {}, message); } exports2.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 + ); } exports2.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 + ); } exports2.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 + ); } exports2.notice = notice; function info(message) { @@ -2272,11 +2487,11 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.info = info; function startGroup(name) { - command_1.issue("group", name); + command_1.issue('group', name); } exports2.startGroup = startGroup; function endGroup() { - command_1.issue("endgroup"); + command_1.issue('endgroup'); } exports2.endGroup = endGroup; function group(name, fn) { @@ -2293,15 +2508,15 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.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)); } exports2.saveState = saveState; function getState(name) { - return process.env[`STATE_${name}`] || ""; + return process.env[`STATE_${name}`] || ''; } exports2.getState = getState; function getIDToken(aud) { @@ -2311,32 +2526,47 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } exports2.getIDToken = getIDToken; var summary_1 = require_summary(); - Object.defineProperty(exports2, "summary", { enumerable: true, get: function() { - return summary_1.summary; - } }); + Object.defineProperty(exports2, 'summary', { + enumerable: true, + get: function () { + return summary_1.summary; + } + }); var summary_2 = require_summary(); - Object.defineProperty(exports2, "markdownSummary", { enumerable: true, get: function() { - return summary_2.markdownSummary; - } }); + Object.defineProperty(exports2, 'markdownSummary', { + enumerable: true, + get: function () { + return summary_2.markdownSummary; + } + }); var path_utils_1 = require_path_utils(); - Object.defineProperty(exports2, "toPosixPath", { enumerable: true, get: function() { - return path_utils_1.toPosixPath; - } }); - Object.defineProperty(exports2, "toWin32Path", { enumerable: true, get: function() { - return path_utils_1.toWin32Path; - } }); - Object.defineProperty(exports2, "toPlatformPath", { enumerable: true, get: function() { - return path_utils_1.toPlatformPath; - } }); + Object.defineProperty(exports2, 'toPosixPath', { + enumerable: true, + get: function () { + return path_utils_1.toPosixPath; + } + }); + Object.defineProperty(exports2, 'toWin32Path', { + enumerable: true, + get: function () { + return path_utils_1.toWin32Path; + } + }); + Object.defineProperty(exports2, 'toPlatformPath', { + enumerable: true, + get: function () { + return path_utils_1.toPlatformPath; + } + }); } }); // node_modules/@actions/github/lib/context.js var import_fs, import_os, Context; var init_context = __esm({ - "node_modules/@actions/github/lib/context.js"() { - import_fs = require("fs"); - import_os = require("os"); + 'node_modules/@actions/github/lib/context.js'() { + import_fs = require('fs'); + import_os = require('os'); Context = class { /** * Hydrate the context from the environment @@ -2346,7 +2576,7 @@ var init_context = __esm({ this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { if ((0, import_fs.existsSync)(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse((0, import_fs.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" })); + this.payload = JSON.parse((0, import_fs.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${import_os.EOL}`); @@ -2364,15 +2594,18 @@ var init_context = __esm({ 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`; + 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 }); + return Object.assign(Object.assign({}, this.repo), { + number: (payload.issue || payload.pull_request || payload).number + }); } get repo() { if (process.env.GITHUB_REPOSITORY) { - const [owner, repo2] = process.env.GITHUB_REPOSITORY.split("/"); + const [owner, repo2] = process.env.GITHUB_REPOSITORY.split('/'); return { owner, repo: repo2 }; } if (this.payload.repository) { @@ -2389,28 +2622,28 @@ var init_context = __esm({ // node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js var require_proxy2 = __commonJS({ - "node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); + 'node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.getProxyUrl = getProxyUrl; exports2.checkBypass = checkBypass; function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === "https:"; + const usingSsl = reqUrl.protocol === 'https:'; if (checkBypass(reqUrl)) { 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 DecodedURL(proxyVar); } catch (_a) { - if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) + if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) return new DecodedURL(`http://${proxyVar}`); } } else { @@ -2425,24 +2658,35 @@ var require_proxy2 = __commonJS({ if (isLoopbackAddress(reqHost)) { 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; } let reqPort; if (reqUrl.port) { reqPort = Number(reqUrl.port); - } else if (reqUrl.protocol === "http:") { + } else if (reqUrl.protocol === 'http:') { reqPort = 80; - } else if (reqUrl.protocol === "https:") { + } else if (reqUrl.protocol === 'https:') { reqPort = 443; } const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === "number") { + 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}`))) { + 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; } } @@ -2450,7 +2694,12 @@ var require_proxy2 = __commonJS({ } 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]"); + return ( + hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]') + ); } var DecodedURL = class extends URL { constructor(url, base) { @@ -2470,152 +2719,152 @@ var require_proxy2 = __commonJS({ // node_modules/undici/lib/core/symbols.js var require_symbols = __commonJS({ - "node_modules/undici/lib/core/symbols.js"(exports2, module2) { + 'node_modules/undici/lib/core/symbols.js'(exports2, 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"), - 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"), - kBody: Symbol("abstracted request body"), - 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"), - kResume: Symbol("resume"), - kOnError: Symbol("on error"), - 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"), - kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), - kConstruct: Symbol("constructable"), - kListeners: Symbol("listeners"), - kHTTPContext: Symbol("http context"), - kMaxConcurrentStreams: Symbol("max concurrent streams"), - kNoProxyAgent: Symbol("no proxy agent"), - kHttpProxyAgent: Symbol("http proxy agent"), - kHttpsProxyAgent: Symbol("https proxy agent") + 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'), + 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'), + kBody: Symbol('abstracted request body'), + 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'), + kResume: Symbol('resume'), + kOnError: Symbol('on error'), + 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'), + kRetryHandlerDefaultRetry: Symbol('retry agent default retry'), + kConstruct: Symbol('constructable'), + kListeners: Symbol('listeners'), + kHTTPContext: Symbol('http context'), + kMaxConcurrentStreams: Symbol('max concurrent streams'), + kNoProxyAgent: Symbol('no proxy agent'), + kHttpProxyAgent: Symbol('http proxy agent'), + kHttpsProxyAgent: Symbol('https proxy agent') }; } }); // node_modules/undici/lib/core/errors.js var require_errors = __commonJS({ - "node_modules/undici/lib/core/errors.js"(exports2, module2) { - "use strict"; - var kUndiciError = Symbol.for("undici.error.UND_ERR"); + 'node_modules/undici/lib/core/errors.js'(exports2, module2) { + 'use strict'; + var kUndiciError = Symbol.for('undici.error.UND_ERR'); var UndiciError = class extends Error { constructor(message) { super(message); - this.name = "UndiciError"; - this.code = "UND_ERR"; + this.name = 'UndiciError'; + this.code = 'UND_ERR'; } static [Symbol.hasInstance](instance) { return instance && instance[kUndiciError] === true; } [kUndiciError] = true; }; - var kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"); + var kConnectTimeoutError = Symbol.for('undici.error.UND_ERR_CONNECT_TIMEOUT'); var ConnectTimeoutError = class extends UndiciError { constructor(message) { super(message); - this.name = "ConnectTimeoutError"; - this.message = message || "Connect Timeout Error"; - this.code = "UND_ERR_CONNECT_TIMEOUT"; + this.name = 'ConnectTimeoutError'; + this.message = message || 'Connect Timeout Error'; + this.code = 'UND_ERR_CONNECT_TIMEOUT'; } static [Symbol.hasInstance](instance) { return instance && instance[kConnectTimeoutError] === true; } [kConnectTimeoutError] = true; }; - var kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"); + var kHeadersTimeoutError = Symbol.for('undici.error.UND_ERR_HEADERS_TIMEOUT'); var HeadersTimeoutError = class extends UndiciError { constructor(message) { super(message); - this.name = "HeadersTimeoutError"; - this.message = message || "Headers Timeout Error"; - this.code = "UND_ERR_HEADERS_TIMEOUT"; + this.name = 'HeadersTimeoutError'; + this.message = message || 'Headers Timeout Error'; + this.code = 'UND_ERR_HEADERS_TIMEOUT'; } static [Symbol.hasInstance](instance) { return instance && instance[kHeadersTimeoutError] === true; } [kHeadersTimeoutError] = true; }; - var kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"); + var kHeadersOverflowError = Symbol.for('undici.error.UND_ERR_HEADERS_OVERFLOW'); var HeadersOverflowError = class extends UndiciError { constructor(message) { super(message); - this.name = "HeadersOverflowError"; - this.message = message || "Headers Overflow Error"; - this.code = "UND_ERR_HEADERS_OVERFLOW"; + this.name = 'HeadersOverflowError'; + this.message = message || 'Headers Overflow Error'; + this.code = 'UND_ERR_HEADERS_OVERFLOW'; } static [Symbol.hasInstance](instance) { return instance && instance[kHeadersOverflowError] === true; } [kHeadersOverflowError] = true; }; - var kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"); + var kBodyTimeoutError = Symbol.for('undici.error.UND_ERR_BODY_TIMEOUT'); var BodyTimeoutError = class extends UndiciError { constructor(message) { super(message); - this.name = "BodyTimeoutError"; - this.message = message || "Body Timeout Error"; - this.code = "UND_ERR_BODY_TIMEOUT"; + this.name = 'BodyTimeoutError'; + this.message = message || 'Body Timeout Error'; + this.code = 'UND_ERR_BODY_TIMEOUT'; } static [Symbol.hasInstance](instance) { return instance && instance[kBodyTimeoutError] === true; } [kBodyTimeoutError] = true; }; - var kResponseStatusCodeError = Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"); + var kResponseStatusCodeError = Symbol.for('undici.error.UND_ERR_RESPONSE_STATUS_CODE'); var ResponseStatusCodeError = class extends UndiciError { constructor(message, statusCode, headers, body) { super(message); - this.name = "ResponseStatusCodeError"; - this.message = message || "Response Status Code Error"; - this.code = "UND_ERR_RESPONSE_STATUS_CODE"; + 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; @@ -2626,130 +2875,130 @@ var require_errors = __commonJS({ } [kResponseStatusCodeError] = true; }; - var kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG"); + var kInvalidArgumentError = Symbol.for('undici.error.UND_ERR_INVALID_ARG'); var InvalidArgumentError = class extends UndiciError { constructor(message) { super(message); - this.name = "InvalidArgumentError"; - this.message = message || "Invalid Argument Error"; - this.code = "UND_ERR_INVALID_ARG"; + this.name = 'InvalidArgumentError'; + this.message = message || 'Invalid Argument Error'; + this.code = 'UND_ERR_INVALID_ARG'; } static [Symbol.hasInstance](instance) { return instance && instance[kInvalidArgumentError] === true; } [kInvalidArgumentError] = true; }; - var kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"); + var kInvalidReturnValueError = Symbol.for('undici.error.UND_ERR_INVALID_RETURN_VALUE'); var InvalidReturnValueError = class extends UndiciError { constructor(message) { super(message); - this.name = "InvalidReturnValueError"; - this.message = message || "Invalid Return Value Error"; - this.code = "UND_ERR_INVALID_RETURN_VALUE"; + this.name = 'InvalidReturnValueError'; + this.message = message || 'Invalid Return Value Error'; + this.code = 'UND_ERR_INVALID_RETURN_VALUE'; } static [Symbol.hasInstance](instance) { return instance && instance[kInvalidReturnValueError] === true; } [kInvalidReturnValueError] = true; }; - var kAbortError = Symbol.for("undici.error.UND_ERR_ABORT"); + var kAbortError = Symbol.for('undici.error.UND_ERR_ABORT'); var AbortError = class extends UndiciError { constructor(message) { super(message); - this.name = "AbortError"; - this.message = message || "The operation was aborted"; - this.code = "UND_ERR_ABORT"; + this.name = 'AbortError'; + this.message = message || 'The operation was aborted'; + this.code = 'UND_ERR_ABORT'; } static [Symbol.hasInstance](instance) { return instance && instance[kAbortError] === true; } [kAbortError] = true; }; - var kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED"); + var kRequestAbortedError = Symbol.for('undici.error.UND_ERR_ABORTED'); var RequestAbortedError = class extends AbortError { constructor(message) { super(message); - this.name = "AbortError"; - this.message = message || "Request aborted"; - this.code = "UND_ERR_ABORTED"; + this.name = 'AbortError'; + this.message = message || 'Request aborted'; + this.code = 'UND_ERR_ABORTED'; } static [Symbol.hasInstance](instance) { return instance && instance[kRequestAbortedError] === true; } [kRequestAbortedError] = true; }; - var kInformationalError = Symbol.for("undici.error.UND_ERR_INFO"); + var kInformationalError = Symbol.for('undici.error.UND_ERR_INFO'); var InformationalError = class extends UndiciError { constructor(message) { super(message); - this.name = "InformationalError"; - this.message = message || "Request information"; - this.code = "UND_ERR_INFO"; + this.name = 'InformationalError'; + this.message = message || 'Request information'; + this.code = 'UND_ERR_INFO'; } static [Symbol.hasInstance](instance) { return instance && instance[kInformationalError] === true; } [kInformationalError] = true; }; - var kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"); + var kRequestContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'); var RequestContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); - this.name = "RequestContentLengthMismatchError"; - this.message = message || "Request body length does not match content-length header"; - this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + this.name = 'RequestContentLengthMismatchError'; + this.message = message || 'Request body length does not match content-length header'; + this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'; } static [Symbol.hasInstance](instance) { return instance && instance[kRequestContentLengthMismatchError] === true; } [kRequestContentLengthMismatchError] = true; }; - var kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"); + var kResponseContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH'); var ResponseContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); - this.name = "ResponseContentLengthMismatchError"; - this.message = message || "Response body length does not match content-length header"; - this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + this.name = 'ResponseContentLengthMismatchError'; + this.message = message || 'Response body length does not match content-length header'; + this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'; } static [Symbol.hasInstance](instance) { return instance && instance[kResponseContentLengthMismatchError] === true; } [kResponseContentLengthMismatchError] = true; }; - var kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED"); + var kClientDestroyedError = Symbol.for('undici.error.UND_ERR_DESTROYED'); var ClientDestroyedError = class extends UndiciError { constructor(message) { super(message); - this.name = "ClientDestroyedError"; - this.message = message || "The client is destroyed"; - this.code = "UND_ERR_DESTROYED"; + this.name = 'ClientDestroyedError'; + this.message = message || 'The client is destroyed'; + this.code = 'UND_ERR_DESTROYED'; } static [Symbol.hasInstance](instance) { return instance && instance[kClientDestroyedError] === true; } [kClientDestroyedError] = true; }; - var kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED"); + var kClientClosedError = Symbol.for('undici.error.UND_ERR_CLOSED'); var ClientClosedError = class extends UndiciError { constructor(message) { super(message); - this.name = "ClientClosedError"; - this.message = message || "The client is closed"; - this.code = "UND_ERR_CLOSED"; + this.name = 'ClientClosedError'; + this.message = message || 'The client is closed'; + this.code = 'UND_ERR_CLOSED'; } static [Symbol.hasInstance](instance) { return instance && instance[kClientClosedError] === true; } [kClientClosedError] = true; }; - var kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET"); + var kSocketError = Symbol.for('undici.error.UND_ERR_SOCKET'); var SocketError = class extends UndiciError { constructor(message, socket) { super(message); - this.name = "SocketError"; - this.message = message || "Socket error"; - this.code = "UND_ERR_SOCKET"; + this.name = 'SocketError'; + this.message = message || 'Socket error'; + this.code = 'UND_ERR_SOCKET'; this.socket = socket; } static [Symbol.hasInstance](instance) { @@ -2757,37 +3006,37 @@ var require_errors = __commonJS({ } [kSocketError] = true; }; - var kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"); + var kNotSupportedError = Symbol.for('undici.error.UND_ERR_NOT_SUPPORTED'); var NotSupportedError = class extends UndiciError { constructor(message) { super(message); - this.name = "NotSupportedError"; - this.message = message || "Not supported error"; - this.code = "UND_ERR_NOT_SUPPORTED"; + this.name = 'NotSupportedError'; + this.message = message || 'Not supported error'; + this.code = 'UND_ERR_NOT_SUPPORTED'; } static [Symbol.hasInstance](instance) { return instance && instance[kNotSupportedError] === true; } [kNotSupportedError] = true; }; - var kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"); + var kBalancedPoolMissingUpstreamError = Symbol.for('undici.error.UND_ERR_BPL_MISSING_UPSTREAM'); var BalancedPoolMissingUpstreamError = class extends UndiciError { constructor(message) { super(message); - this.name = "MissingUpstreamError"; - this.message = message || "No upstream has been added to the BalancedPool"; - this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + this.name = 'MissingUpstreamError'; + this.message = message || 'No upstream has been added to the BalancedPool'; + this.code = 'UND_ERR_BPL_MISSING_UPSTREAM'; } static [Symbol.hasInstance](instance) { return instance && instance[kBalancedPoolMissingUpstreamError] === true; } [kBalancedPoolMissingUpstreamError] = true; }; - var kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER"); + var kHTTPParserError = Symbol.for('undici.error.UND_ERR_HTTP_PARSER'); var HTTPParserError = class extends Error { constructor(message, code, data) { super(message); - this.name = "HTTPParserError"; + this.name = 'HTTPParserError'; this.code = code ? `HPE_${code}` : void 0; this.data = data ? data.toString() : void 0; } @@ -2796,26 +3045,26 @@ var require_errors = __commonJS({ } [kHTTPParserError] = true; }; - var kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"); + var kResponseExceededMaxSizeError = Symbol.for('undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE'); var ResponseExceededMaxSizeError = class extends UndiciError { constructor(message) { super(message); - this.name = "ResponseExceededMaxSizeError"; - this.message = message || "Response content exceeded max size"; - this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + this.name = 'ResponseExceededMaxSizeError'; + this.message = message || 'Response content exceeded max size'; + this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'; } static [Symbol.hasInstance](instance) { return instance && instance[kResponseExceededMaxSizeError] === true; } [kResponseExceededMaxSizeError] = true; }; - var kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY"); + var kRequestRetryError = Symbol.for('undici.error.UND_ERR_REQ_RETRY'); var RequestRetryError = class extends UndiciError { constructor(message, code, { headers, data }) { super(message); - this.name = "RequestRetryError"; - this.message = message || "Request retry error"; - this.code = "UND_ERR_REQ_RETRY"; + this.name = 'RequestRetryError'; + this.message = message || 'Request retry error'; + this.code = 'UND_ERR_REQ_RETRY'; this.statusCode = code; this.data = data; this.headers = headers; @@ -2825,13 +3074,13 @@ var require_errors = __commonJS({ } [kRequestRetryError] = true; }; - var kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE"); + var kResponseError = Symbol.for('undici.error.UND_ERR_RESPONSE'); var ResponseError = class extends UndiciError { constructor(message, code, { headers, data }) { super(message); - this.name = "ResponseError"; - this.message = message || "Response error"; - this.code = "UND_ERR_RESPONSE"; + this.name = 'ResponseError'; + this.message = message || 'Response error'; + this.code = 'UND_ERR_RESPONSE'; this.statusCode = code; this.data = data; this.headers = headers; @@ -2841,13 +3090,13 @@ var require_errors = __commonJS({ } [kResponseError] = true; }; - var kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS"); + var kSecureProxyConnectionError = Symbol.for('undici.error.UND_ERR_PRX_TLS'); var SecureProxyConnectionError = class extends UndiciError { constructor(cause, message, options) { - super(message, { cause, ...options ?? {} }); - this.name = "SecureProxyConnectionError"; - this.message = message || "Secure Proxy Connection failed"; - this.code = "UND_ERR_PRX_TLS"; + super(message, { cause, ...(options ?? {}) }); + this.name = 'SecureProxyConnectionError'; + this.message = message || 'Secure Proxy Connection failed'; + this.code = 'UND_ERR_PRX_TLS'; this.cause = cause; } static [Symbol.hasInstance](instance) { @@ -2885,105 +3134,105 @@ var require_errors = __commonJS({ // node_modules/undici/lib/core/constants.js var require_constants = __commonJS({ - "node_modules/undici/lib/core/constants.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/core/constants.js'(exports2, module2) { + 'use strict'; var headerNameLowerCasedRecord = {}; var wellknownHeaderNames = [ - "Accept", - "Accept-Encoding", - "Accept-Language", - "Accept-Ranges", - "Access-Control-Allow-Credentials", - "Access-Control-Allow-Headers", - "Access-Control-Allow-Methods", - "Access-Control-Allow-Origin", - "Access-Control-Expose-Headers", - "Access-Control-Max-Age", - "Access-Control-Request-Headers", - "Access-Control-Request-Method", - "Age", - "Allow", - "Alt-Svc", - "Alt-Used", - "Authorization", - "Cache-Control", - "Clear-Site-Data", - "Connection", - "Content-Disposition", - "Content-Encoding", - "Content-Language", - "Content-Length", - "Content-Location", - "Content-Range", - "Content-Security-Policy", - "Content-Security-Policy-Report-Only", - "Content-Type", - "Cookie", - "Cross-Origin-Embedder-Policy", - "Cross-Origin-Opener-Policy", - "Cross-Origin-Resource-Policy", - "Date", - "Device-Memory", - "Downlink", - "ECT", - "ETag", - "Expect", - "Expect-CT", - "Expires", - "Forwarded", - "From", - "Host", - "If-Match", - "If-Modified-Since", - "If-None-Match", - "If-Range", - "If-Unmodified-Since", - "Keep-Alive", - "Last-Modified", - "Link", - "Location", - "Max-Forwards", - "Origin", - "Permissions-Policy", - "Pragma", - "Proxy-Authenticate", - "Proxy-Authorization", - "RTT", - "Range", - "Referer", - "Referrer-Policy", - "Refresh", - "Retry-After", - "Sec-WebSocket-Accept", - "Sec-WebSocket-Extensions", - "Sec-WebSocket-Key", - "Sec-WebSocket-Protocol", - "Sec-WebSocket-Version", - "Server", - "Server-Timing", - "Service-Worker-Allowed", - "Service-Worker-Navigation-Preload", - "Set-Cookie", - "SourceMap", - "Strict-Transport-Security", - "Supports-Loading-Mode", - "TE", - "Timing-Allow-Origin", - "Trailer", - "Transfer-Encoding", - "Upgrade", - "Upgrade-Insecure-Requests", - "User-Agent", - "Vary", - "Via", - "WWW-Authenticate", - "X-Content-Type-Options", - "X-DNS-Prefetch-Control", - "X-Frame-Options", - "X-Permitted-Cross-Domain-Policies", - "X-Powered-By", - "X-Requested-With", - "X-XSS-Protection" + 'Accept', + 'Accept-Encoding', + 'Accept-Language', + 'Accept-Ranges', + 'Access-Control-Allow-Credentials', + 'Access-Control-Allow-Headers', + 'Access-Control-Allow-Methods', + 'Access-Control-Allow-Origin', + 'Access-Control-Expose-Headers', + 'Access-Control-Max-Age', + 'Access-Control-Request-Headers', + 'Access-Control-Request-Method', + 'Age', + 'Allow', + 'Alt-Svc', + 'Alt-Used', + 'Authorization', + 'Cache-Control', + 'Clear-Site-Data', + 'Connection', + 'Content-Disposition', + 'Content-Encoding', + 'Content-Language', + 'Content-Length', + 'Content-Location', + 'Content-Range', + 'Content-Security-Policy', + 'Content-Security-Policy-Report-Only', + 'Content-Type', + 'Cookie', + 'Cross-Origin-Embedder-Policy', + 'Cross-Origin-Opener-Policy', + 'Cross-Origin-Resource-Policy', + 'Date', + 'Device-Memory', + 'Downlink', + 'ECT', + 'ETag', + 'Expect', + 'Expect-CT', + 'Expires', + 'Forwarded', + 'From', + 'Host', + 'If-Match', + 'If-Modified-Since', + 'If-None-Match', + 'If-Range', + 'If-Unmodified-Since', + 'Keep-Alive', + 'Last-Modified', + 'Link', + 'Location', + 'Max-Forwards', + 'Origin', + 'Permissions-Policy', + 'Pragma', + 'Proxy-Authenticate', + 'Proxy-Authorization', + 'RTT', + 'Range', + 'Referer', + 'Referrer-Policy', + 'Refresh', + 'Retry-After', + 'Sec-WebSocket-Accept', + 'Sec-WebSocket-Extensions', + 'Sec-WebSocket-Key', + 'Sec-WebSocket-Protocol', + 'Sec-WebSocket-Version', + 'Server', + 'Server-Timing', + 'Service-Worker-Allowed', + 'Service-Worker-Navigation-Preload', + 'Set-Cookie', + 'SourceMap', + 'Strict-Transport-Security', + 'Supports-Loading-Mode', + 'TE', + 'Timing-Allow-Origin', + 'Trailer', + 'Transfer-Encoding', + 'Upgrade', + 'Upgrade-Insecure-Requests', + 'User-Agent', + 'Vary', + 'Via', + 'WWW-Authenticate', + 'X-Content-Type-Options', + 'X-DNS-Prefetch-Control', + 'X-Frame-Options', + 'X-Permitted-Cross-Domain-Policies', + 'X-Powered-By', + 'X-Requested-With', + 'X-XSS-Protection' ]; for (let i = 0; i < wellknownHeaderNames.length; ++i) { const key = wellknownHeaderNames[i]; @@ -3000,12 +3249,9 @@ var require_constants = __commonJS({ // node_modules/undici/lib/core/tree.js var require_tree = __commonJS({ - "node_modules/undici/lib/core/tree.js"(exports2, module2) { - "use strict"; - var { - wellknownHeaderNames, - headerNameLowerCasedRecord - } = require_constants(); + 'node_modules/undici/lib/core/tree.js'(exports2, module2) { + 'use strict'; + var { wellknownHeaderNames, headerNameLowerCasedRecord } = require_constants(); var TstNode = class _TstNode { /** @type {any} */ value = null; @@ -3024,11 +3270,11 @@ var require_tree = __commonJS({ */ constructor(key, value, index) { if (index === void 0 || index >= key.length) { - throw new TypeError("Unreachable"); + throw new TypeError('Unreachable'); } - const code = this.code = key.charCodeAt(index); + const code = (this.code = key.charCodeAt(index)); if (code > 127) { - throw new TypeError("key must be ascii string"); + throw new TypeError('key must be ascii string'); } if (key.length !== ++index) { this.middle = new _TstNode(key, value, index); @@ -3043,14 +3289,14 @@ var require_tree = __commonJS({ add(key, value) { const length = key.length; if (length === 0) { - throw new TypeError("Unreachable"); + throw new TypeError('Unreachable'); } let index = 0; let node = this; while (true) { const code = key.charCodeAt(index); if (code > 127) { - throw new TypeError("key must be ascii string"); + throw new TypeError('key must be ascii string'); } if (node.code === code) { if (length === ++index) { @@ -3140,28 +3386,28 @@ var require_tree = __commonJS({ // node_modules/undici/lib/core/util.js var require_util = __commonJS({ - "node_modules/undici/lib/core/util.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); + 'node_modules/undici/lib/core/util.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols(); - var { IncomingMessage } = require("node:http"); - var stream = require("node:stream"); - var net = require("node:net"); - var { Blob: Blob2 } = require("node:buffer"); - var nodeUtil = require("node:util"); - var { stringify } = require("node:querystring"); - var { EventEmitter: EE } = require("node:events"); + var { IncomingMessage } = require('node:http'); + var stream = require('node:stream'); + var net = require('node:net'); + var { Blob: Blob2 } = require('node:buffer'); + var nodeUtil = require('node:util'); + var { stringify } = require('node:querystring'); + var { EventEmitter: EE } = require('node:events'); var { InvalidArgumentError } = require_errors(); var { headerNameLowerCasedRecord } = require_constants(); var { tree } = require_tree(); - var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); + var [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v)); var BodyAsyncIterable = class { constructor(body) { this[kBody] = body; this[kBodyUsed] = false; } async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); + assert(!this[kBodyUsed], 'disturbed'); this[kBodyUsed] = true; yield* this[kBody]; } @@ -3169,49 +3415,52 @@ var require_util = __commonJS({ function wrapRequestBody(body) { if (isStream(body)) { if (bodyLength(body) === 0) { - body.on("data", function() { + body.on('data', function () { assert(false); }); } - if (typeof body.readableDidRead !== "boolean") { + if (typeof body.readableDidRead !== 'boolean') { body[kBodyUsed] = false; - EE.prototype.on.call(body, "data", function() { + EE.prototype.on.call(body, 'data', function () { this[kBodyUsed] = true; }); } return body; - } else if (body && typeof body.pipeTo === "function") { + } else if (body && typeof body.pipeTo === 'function') { return new BodyAsyncIterable(body); - } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) { + } else if (body && typeof body !== 'string' && !ArrayBuffer.isView(body) && isIterable(body)) { return new BodyAsyncIterable(body); } else { return body; } } - function nop() { - } + 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) { if (object === null) { return false; } else if (object instanceof Blob2) { return true; - } else if (typeof object !== "object") { + } else if (typeof object !== 'object') { return false; } else { const sTag = object[Symbol.toStringTag]; - return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function"); + return ( + (sTag === 'Blob' || sTag === 'File') && + (('stream' in object && typeof object.stream === 'function') || + ('arrayBuffer' in object && typeof object.arrayBuffer === 'function')) + ); } } function buildURL(url, queryParams) { - if (url.includes("?") || url.includes("#")) { + if (url.includes('?') || url.includes('#')) { throw new Error('Query params cannot be passed when url already contains "?" or "#".'); } const stringified = stringify(queryParams); if (stringified) { - url += "?" + stringified; + url += '?' + stringified; } return url; } @@ -3220,68 +3469,77 @@ var require_util = __commonJS({ return value === Number(port) && value >= 0 && value <= 65535; } function isHttpOrHttpsPrefixed(value) { - return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":"); + return ( + value != null && + value[0] === 'h' && + value[1] === 't' && + value[2] === 't' && + value[3] === 'p' && + (value[4] === ':' || (value[4] === 's' && value[5] === ':')) + ); } function parseURL(url) { - if (typeof url === "string") { + if (typeof url === 'string') { url = new URL(url); if (!isHttpOrHttpsPrefixed(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; } - 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 (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && isValidPort(url.port) === false) { - throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); + if (url.port != null && url.port !== '' && isValidPort(url.port) === false) { + 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.'); } if (!isHttpOrHttpsPrefixed(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:`.'); } - 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[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[origin.length - 1] === '/') { origin = origin.slice(0, origin.length - 1); } - if (path && path[0] !== "/") { + if (path && path[0] !== '/') { path = `/${path}`; } return new URL(`${origin}${path}`); } if (!isHttpOrHttpsPrefixed(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; } function parseOrigin(url) { url = parseURL(url); - if (url.pathname !== "/" || url.search || url.hash) { - throw new InvalidArgumentError("invalid url"); + if (url.pathname !== '/' || url.search || url.hash) { + throw new InvalidArgumentError('invalid url'); } return url; } function getHostname(host) { - if (host[0] === "[") { - const idx2 = host.indexOf("]"); + if (host[0] === '[') { + const idx2 = host.indexOf(']'); assert(idx2 !== -1); return host.substring(1, idx2); } - const idx = host.indexOf(":"); + const idx = host.indexOf(':'); if (idx === -1) return host; return host.substring(0, idx); } @@ -3289,10 +3547,10 @@ var require_util = __commonJS({ if (!host) { return null; } - assert(typeof host === "string"); + assert(typeof host === 'string'); const servername = getHostname(host); if (net.isIP(servername)) { - return ""; + return ''; } return servername; } @@ -3300,17 +3558,22 @@ var require_util = __commonJS({ 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; } else if (isStream(body)) { const state = body._readableState; - return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; + 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; } else if (isBuffer(body)) { @@ -3325,14 +3588,14 @@ var require_util = __commonJS({ if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { return; } - if (typeof stream2.destroy === "function") { + if (typeof stream2.destroy === 'function') { if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { stream2.socket = null; } stream2.destroy(err); } else if (err) { queueMicrotask(() => { - stream2.emit("error", err); + stream2.emit('error', err); }); } if (stream2.destroyed !== true) { @@ -3345,10 +3608,12 @@ var require_util = __commonJS({ return m ? parseInt(m[1], 10) * 1e3 : null; } function headerNameToString(value) { - return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase(); + return typeof value === 'string' + ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() + : tree.lookup(value) ?? value.toString('latin1').toLowerCase(); } function bufferToLowerCasedHeaderName(value) { - return tree.lookup(value) ?? value.toString("latin1").toLowerCase(); + return tree.lookup(value) ?? value.toString('latin1').toLowerCase(); } function parseHeaders(headers, obj) { if (obj === void 0) obj = {}; @@ -3356,22 +3621,24 @@ var require_util = __commonJS({ const key = headerNameToString(headers[i]); let val = obj[key]; if (val) { - if (typeof val === "string") { + if (typeof val === 'string') { val = [val]; obj[key] = val; } - val.push(headers[i + 1].toString("utf8")); + val.push(headers[i + 1].toString('utf8')); } else { const headersValue = headers[i + 1]; - if (typeof headersValue === "string") { + if (typeof headersValue === 'string') { obj[key] = headersValue; } else { - obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8"); + obj[key] = Array.isArray(headersValue) + ? headersValue.map(x => x.toString('utf8')) + : headersValue.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; } @@ -3386,19 +3653,23 @@ var require_util = __commonJS({ for (let n = 0; n < headers.length; n += 2) { key = headers[n]; val = headers[n + 1]; - typeof key !== "string" && (key = key.toString()); - typeof val !== "string" && (val = val.toString("utf8")); + typeof key !== 'string' && (key = key.toString()); + typeof val !== 'string' && (val = val.toString('utf8')); kLen = key.length; - if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) { + if (kLen === 14 && key[7] === '-' && (key === 'content-length' || key.toLowerCase() === 'content-length')) { hasContentLength = true; - } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { + } else if ( + kLen === 19 && + key[7] === '-' && + (key === 'content-disposition' || key.toLowerCase() === 'content-disposition') + ) { contentDispositionIdx = n + 1; } ret[n] = key; ret[n + 1] = val; } if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1'); } return ret; } @@ -3406,31 +3677,31 @@ var require_util = __commonJS({ return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); } function validateHandler(handler2, method, upgrade) { - if (!handler2 || typeof handler2 !== "object") { - throw new InvalidArgumentError("handler must be an object"); + if (!handler2 || typeof handler2 !== 'object') { + throw new InvalidArgumentError('handler must be an object'); } - if (typeof handler2.onConnect !== "function") { - throw new InvalidArgumentError("invalid onConnect method"); + if (typeof handler2.onConnect !== 'function') { + throw new InvalidArgumentError('invalid onConnect method'); } - if (typeof handler2.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (typeof handler2.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method'); } - if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) { - throw new InvalidArgumentError("invalid onBodySent method"); + if (typeof handler2.onBodySent !== 'function' && handler2.onBodySent !== void 0) { + throw new InvalidArgumentError('invalid onBodySent method'); } - if (upgrade || method === "CONNECT") { - if (typeof handler2.onUpgrade !== "function") { - throw new InvalidArgumentError("invalid onUpgrade method"); + if (upgrade || method === 'CONNECT') { + if (typeof handler2.onUpgrade !== 'function') { + throw new InvalidArgumentError('invalid onUpgrade method'); } } else { - if (typeof handler2.onHeaders !== "function") { - throw new InvalidArgumentError("invalid onHeaders method"); + if (typeof handler2.onHeaders !== 'function') { + throw new InvalidArgumentError('invalid onHeaders method'); } - if (typeof handler2.onData !== "function") { - throw new InvalidArgumentError("invalid onData method"); + if (typeof handler2.onData !== 'function') { + throw new InvalidArgumentError('invalid onData method'); } - if (typeof handler2.onComplete !== "function") { - throw new InvalidArgumentError("invalid onComplete method"); + if (typeof handler2.onComplete !== 'function') { + throw new InvalidArgumentError('invalid onComplete method'); } } } @@ -3457,46 +3728,54 @@ var require_util = __commonJS({ } function ReadableStreamFrom(iterable) { let iterator2; - return new ReadableStream( - { - async start() { - iterator2 = iterable[Symbol.asyncIterator](); - }, - async pull(controller) { - const { done, value } = await iterator2.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - controller.byobRequest?.respond(0); - }); - } else { - const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - if (buf.byteLength) { - controller.enqueue(new Uint8Array(buf)); - } + return new ReadableStream({ + async start() { + iterator2 = iterable[Symbol.asyncIterator](); + }, + async pull(controller) { + const { done, value } = await iterator2.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + controller.byobRequest?.respond(0); + }); + } else { + const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); + if (buf.byteLength) { + controller.enqueue(new Uint8Array(buf)); } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator2.return(); - }, - type: "bytes" - } - ); + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator2.return(); + }, + type: 'bytes' + }); } 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 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 = typeof String.prototype.toWellFormed === "function"; - var hasIsWellFormed = typeof String.prototype.isWellFormed === "function"; + var hasToWellFormed = typeof String.prototype.toWellFormed === 'function'; + var hasIsWellFormed = typeof String.prototype.isWellFormed === 'function'; function toUSVString(val) { return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val); } @@ -3543,16 +3822,18 @@ var require_util = __commonJS({ return !headerCharRegex.test(characters); } function parseRangeHeader(range) { - if (range == null || range === "") return { start: 0, end: null, size: null }; + if (range == null || range === '') return { start: 0, end: null, size: null }; const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; - return m ? { - start: parseInt(m[1]), - end: m[2] ? parseInt(m[2]) : null, - size: m[3] ? parseInt(m[3]) : null - } : null; + return m + ? { + start: parseInt(m[1]), + end: m[2] ? parseInt(m[2]) : null, + size: m[3] ? parseInt(m[3]) : null + } + : null; } function addListener(obj, name, listener) { - const listeners = obj[kListeners] ??= []; + const listeners = (obj[kListeners] ??= []); listeners.push([name, listener]); obj.on(name, listener); return obj; @@ -3568,29 +3849,29 @@ var require_util = __commonJS({ request2.onError(err); assert(request2.aborted); } catch (err2) { - client.emit("error", err2); + client.emit('error', err2); } } var kEnumerableProperty = /* @__PURE__ */ Object.create(null); kEnumerableProperty.enumerable = true; var normalizedMethodRecordsBase = { - delete: "DELETE", - DELETE: "DELETE", - get: "GET", - GET: "GET", - head: "HEAD", - HEAD: "HEAD", - options: "OPTIONS", - OPTIONS: "OPTIONS", - post: "POST", - POST: "POST", - put: "PUT", - PUT: "PUT" + delete: 'DELETE', + DELETE: 'DELETE', + get: 'GET', + GET: 'GET', + head: 'HEAD', + HEAD: 'HEAD', + options: 'OPTIONS', + OPTIONS: 'OPTIONS', + post: 'POST', + POST: 'POST', + put: 'PUT', + PUT: 'PUT' }; var normalizedMethodRecords = { ...normalizedMethodRecordsBase, - patch: "patch", - PATCH: "PATCH" + patch: 'patch', + PATCH: 'PATCH' }; Object.setPrototypeOf(normalizedMethodRecordsBase, null); Object.setPrototypeOf(normalizedMethodRecords, null); @@ -3638,7 +3919,7 @@ var require_util = __commonJS({ isHttpOrHttpsPrefixed, nodeMajor, nodeMinor, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"], + safeHTTPMethods: ['GET', 'HEAD', 'OPTIONS', 'TRACE'], wrapRequestBody }; } @@ -3646,181 +3927,142 @@ var require_util = __commonJS({ // node_modules/undici/lib/core/diagnostics.js var require_diagnostics = __commonJS({ - "node_modules/undici/lib/core/diagnostics.js"(exports2, module2) { - "use strict"; - var diagnosticsChannel = require("node:diagnostics_channel"); - var util = require("node:util"); - var undiciDebugLog = util.debuglog("undici"); - var fetchDebuglog = util.debuglog("fetch"); - var websocketDebuglog = util.debuglog("websocket"); + 'node_modules/undici/lib/core/diagnostics.js'(exports2, module2) { + 'use strict'; + var diagnosticsChannel = require('node:diagnostics_channel'); + var util = require('node:util'); + var undiciDebugLog = util.debuglog('undici'); + var fetchDebuglog = util.debuglog('fetch'); + var websocketDebuglog = util.debuglog('websocket'); var isClientSet = false; var channels = { // Client - beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"), - connected: diagnosticsChannel.channel("undici:client:connected"), - connectError: diagnosticsChannel.channel("undici:client:connectError"), - sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"), + beforeConnect: diagnosticsChannel.channel('undici:client:beforeConnect'), + connected: diagnosticsChannel.channel('undici:client:connected'), + connectError: diagnosticsChannel.channel('undici:client:connectError'), + sendHeaders: diagnosticsChannel.channel('undici:client:sendHeaders'), // Request - create: diagnosticsChannel.channel("undici:request:create"), - bodySent: diagnosticsChannel.channel("undici:request:bodySent"), - headers: diagnosticsChannel.channel("undici:request:headers"), - trailers: diagnosticsChannel.channel("undici:request:trailers"), - error: diagnosticsChannel.channel("undici:request:error"), + create: diagnosticsChannel.channel('undici:request:create'), + bodySent: diagnosticsChannel.channel('undici:request:bodySent'), + headers: diagnosticsChannel.channel('undici:request:headers'), + trailers: diagnosticsChannel.channel('undici:request:trailers'), + error: diagnosticsChannel.channel('undici:request:error'), // WebSocket - open: diagnosticsChannel.channel("undici:websocket:open"), - close: diagnosticsChannel.channel("undici:websocket:close"), - socketError: diagnosticsChannel.channel("undici:websocket:socket_error"), - ping: diagnosticsChannel.channel("undici:websocket:ping"), - pong: diagnosticsChannel.channel("undici:websocket:pong") + open: diagnosticsChannel.channel('undici:websocket:open'), + close: diagnosticsChannel.channel('undici:websocket:close'), + socketError: diagnosticsChannel.channel('undici:websocket:socket_error'), + ping: diagnosticsChannel.channel('undici:websocket:ping'), + pong: diagnosticsChannel.channel('undici:websocket:pong') }; if (undiciDebugLog.enabled || fetchDebuglog.enabled) { const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog; - diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => { const { connectParams: { version, protocol, port, host } } = evt; - debuglog( - "connecting to %s using %s%s", - `${host}${port ? `:${port}` : ""}`, - protocol, - version - ); + debuglog('connecting to %s using %s%s', `${host}${port ? `:${port}` : ''}`, protocol, version); }); - diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:connected').subscribe(evt => { const { connectParams: { version, protocol, port, host } } = evt; - debuglog( - "connected to %s using %s%s", - `${host}${port ? `:${port}` : ""}`, - protocol, - version - ); + debuglog('connected to %s using %s%s', `${host}${port ? `:${port}` : ''}`, protocol, version); }); - diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => { const { connectParams: { version, protocol, port, host }, error } = evt; debuglog( - "connection to %s using %s%s errored - %s", - `${host}${port ? `:${port}` : ""}`, + 'connection to %s using %s%s errored - %s', + `${host}${port ? `:${port}` : ''}`, protocol, version, error.message ); }); - diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => { const { request: { method, path, origin } } = evt; - debuglog("sending request to %s %s/%s", method, origin, path); + debuglog('sending request to %s %s/%s', method, origin, path); }); - diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => { + diagnosticsChannel.channel('undici:request:headers').subscribe(evt => { const { request: { method, path, origin }, response: { statusCode } } = evt; - debuglog( - "received response to %s %s/%s - HTTP %d", - method, - origin, - path, - statusCode - ); + debuglog('received response to %s %s/%s - HTTP %d', method, origin, path, statusCode); }); - diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => { + diagnosticsChannel.channel('undici:request:trailers').subscribe(evt => { const { request: { method, path, origin } } = evt; - debuglog("trailers received from %s %s/%s", method, origin, path); + debuglog('trailers received from %s %s/%s', method, origin, path); }); - diagnosticsChannel.channel("undici:request:error").subscribe((evt) => { + diagnosticsChannel.channel('undici:request:error').subscribe(evt => { const { request: { method, path, origin }, error } = evt; - debuglog( - "request to %s %s/%s errored - %s", - method, - origin, - path, - error.message - ); + debuglog('request to %s %s/%s errored - %s', method, origin, path, error.message); }); isClientSet = true; } if (websocketDebuglog.enabled) { if (!isClientSet) { const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog; - diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => { const { connectParams: { version, protocol, port, host } } = evt; - debuglog( - "connecting to %s%s using %s%s", - host, - port ? `:${port}` : "", - protocol, - version - ); + debuglog('connecting to %s%s using %s%s', host, port ? `:${port}` : '', protocol, version); }); - diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:connected').subscribe(evt => { const { connectParams: { version, protocol, port, host } } = evt; - debuglog( - "connected to %s%s using %s%s", - host, - port ? `:${port}` : "", - protocol, - version - ); + debuglog('connected to %s%s using %s%s', host, port ? `:${port}` : '', protocol, version); }); - diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => { const { connectParams: { version, protocol, port, host }, error } = evt; debuglog( - "connection to %s%s using %s%s errored - %s", + 'connection to %s%s using %s%s errored - %s', host, - port ? `:${port}` : "", + port ? `:${port}` : '', protocol, version, error.message ); }); - diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => { const { request: { method, path, origin } } = evt; - debuglog("sending request to %s %s/%s", method, origin, path); + debuglog('sending request to %s %s/%s', method, origin, path); }); } - diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => { + diagnosticsChannel.channel('undici:websocket:open').subscribe(evt => { const { address: { address, port } } = evt; - websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : ""); + websocketDebuglog('connection opened %s%s', address, port ? `:${port}` : ''); }); - diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => { + diagnosticsChannel.channel('undici:websocket:close').subscribe(evt => { const { websocket, code, reason } = evt; - websocketDebuglog( - "closed connection to %s - %s %s", - websocket.url, - code, - reason - ); + websocketDebuglog('closed connection to %s - %s %s', websocket.url, code, reason); }); - diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => { - websocketDebuglog("connection errored - %s", err.message); + diagnosticsChannel.channel('undici:websocket:socket_error').subscribe(err => { + websocketDebuglog('connection errored - %s', err.message); }); - diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => { - websocketDebuglog("ping received"); + diagnosticsChannel.channel('undici:websocket:ping').subscribe(evt => { + websocketDebuglog('ping received'); }); - diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => { - websocketDebuglog("pong received"); + diagnosticsChannel.channel('undici:websocket:pong').subscribe(evt => { + websocketDebuglog('pong received'); }); } module2.exports = { @@ -3831,13 +4073,10 @@ var require_diagnostics = __commonJS({ // node_modules/undici/lib/core/request.js var require_request = __commonJS({ - "node_modules/undici/lib/core/request.js"(exports2, module2) { - "use strict"; - var { - InvalidArgumentError, - NotSupportedError - } = require_errors(); - var assert = require("node:assert"); + 'node_modules/undici/lib/core/request.js'(exports2, module2) { + 'use strict'; + var { InvalidArgumentError, NotSupportedError } = require_errors(); + var assert = require('node:assert'); var { isValidHTTPToken, isValidHeaderValue, @@ -3855,50 +4094,54 @@ var require_request = __commonJS({ var { channels } = require_diagnostics(); var { headerNameLowerCasedRecord } = require_constants(); var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = Symbol("handler"); + var kHandler = Symbol('handler'); var Request = class { - constructor(origin, { - path, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue, - servername - }, handler2) { - 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, + servername + }, + handler2 + ) { + 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.test(path)) { - 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 (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) { - 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"); + throw new InvalidArgumentError('invalid headersTimeout'); } if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); + 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; @@ -3914,35 +4157,37 @@ var require_request = __commonJS({ this.endHandler = function autoDestroy() { destroy(this); }; - this.body.on("end", this.endHandler); + this.body.on('end', this.endHandler); } - this.errorHandler = (err) => { + this.errorHandler = err => { if (this.abort) { this.abort(err); } else { this.error = err; } }; - this.body.on("error", this.errorHandler); + this.body.on('error', this.errorHandler); } else if (isBuffer(body)) { 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; } else if (body instanceof ArrayBuffer) { this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { + } else if (typeof body === 'string') { this.body = body.length ? Buffer.from(body) : null; } else if (isFormDataLike(body) || isIterable(body) || 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"); + 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 ? buildURL(path, query) : path; this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; + this.idempotent = idempotent == null ? method === 'HEAD' || method === 'GET' : idempotent; this.blocking = blocking == null ? false : blocking; this.reset = reset == null ? null : reset; this.host = null; @@ -3952,16 +4197,16 @@ var require_request = __commonJS({ 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]); } - } else if (headers && typeof headers === "object") { + } else if (headers && typeof headers === 'object') { if (headers[Symbol.iterator]) { for (const header of headers) { if (!Array.isArray(header) || header.length !== 2) { - throw new InvalidArgumentError("headers must be in key-value pair format"); + throw new InvalidArgumentError('headers must be in key-value pair format'); } processHeader(this, header[0], header[1]); } @@ -3972,7 +4217,7 @@ var require_request = __commonJS({ } } } 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'); } validateHandler(handler2, method, upgrade); this.servername = servername || getServerName(this.host); @@ -4068,11 +4313,11 @@ var require_request = __commonJS({ } onFinally() { if (this.errorHandler) { - this.body.off("error", this.errorHandler); + this.body.off('error', this.errorHandler); this.errorHandler = null; } if (this.endHandler) { - this.body.off("end", this.endHandler); + this.body.off('end', this.endHandler); this.endHandler = null; } } @@ -4082,7 +4327,7 @@ var require_request = __commonJS({ } }; function processHeader(request2, key, val) { - if (val && (typeof val === "object" && !Array.isArray(val))) { + if (val && typeof val === 'object' && !Array.isArray(val)) { throw new InvalidArgumentError(`invalid ${key} header`); } else if (val === void 0) { return; @@ -4091,60 +4336,60 @@ var require_request = __commonJS({ if (headerName === void 0) { headerName = key.toLowerCase(); if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) { - throw new InvalidArgumentError("invalid header key"); + throw new InvalidArgumentError('invalid header key'); } } if (Array.isArray(val)) { const arr = []; for (let i = 0; i < val.length; i++) { - if (typeof val[i] === "string") { + if (typeof val[i] === 'string') { if (!isValidHeaderValue(val[i])) { throw new InvalidArgumentError(`invalid ${key} header`); } arr.push(val[i]); } else if (val[i] === null) { - arr.push(""); - } else if (typeof val[i] === "object") { + arr.push(''); + } else if (typeof val[i] === 'object') { throw new InvalidArgumentError(`invalid ${key} header`); } else { arr.push(`${val[i]}`); } } val = arr; - } else if (typeof val === "string") { + } else if (typeof val === 'string') { if (!isValidHeaderValue(val)) { throw new InvalidArgumentError(`invalid ${key} header`); } } else if (val === null) { - val = ""; + val = ''; } else { val = `${val}`; } - if (request2.host === null && headerName === "host") { - if (typeof val !== "string") { - throw new InvalidArgumentError("invalid host header"); + if (request2.host === null && headerName === 'host') { + if (typeof val !== 'string') { + throw new InvalidArgumentError('invalid host header'); } request2.host = val; - } else if (request2.contentLength === null && headerName === "content-length") { + } else if (request2.contentLength === null && headerName === 'content-length') { request2.contentLength = parseInt(val, 10); if (!Number.isFinite(request2.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); + throw new InvalidArgumentError('invalid content-length header'); } - } else if (request2.contentType === null && headerName === "content-type") { + } else if (request2.contentType === null && headerName === 'content-type') { request2.contentType = val; request2.headers.push(key, val); - } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") { + } else if (headerName === 'transfer-encoding' || headerName === 'keep-alive' || headerName === 'upgrade') { throw new InvalidArgumentError(`invalid ${headerName} header`); - } else if (headerName === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); + } else if (headerName === 'connection') { + const value = typeof val === 'string' ? val.toLowerCase() : null; + if (value !== 'close' && value !== 'keep-alive') { + throw new InvalidArgumentError('invalid connection header'); } - if (value === "close") { + if (value === 'close') { request2.reset = true; } - } else if (headerName === "expect") { - throw new NotSupportedError("expect header not supported"); + } else if (headerName === 'expect') { + throw new NotSupportedError('expect header not supported'); } else { request2.headers.push(key, val); } @@ -4155,18 +4400,18 @@ var require_request = __commonJS({ // node_modules/undici/lib/dispatcher/dispatcher.js var require_dispatcher = __commonJS({ - "node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events"); + 'node_modules/undici/lib/dispatcher/dispatcher.js'(exports2, module2) { + 'use strict'; + var EventEmitter = require('node: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'); } compose(...args) { const interceptors = Array.isArray(args[0]) ? args[0] : args; @@ -4175,12 +4420,12 @@ var require_dispatcher = __commonJS({ if (interceptor == null) { continue; } - if (typeof interceptor !== "function") { + if (typeof interceptor !== 'function') { throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`); } dispatch = interceptor(dispatch); - if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) { - throw new TypeError("invalid interceptor"); + if (dispatch == null || typeof dispatch !== 'function' || dispatch.length !== 2) { + throw new TypeError('invalid interceptor'); } } return new ComposedDispatcher(this, dispatch); @@ -4210,18 +4455,14 @@ var require_dispatcher = __commonJS({ // node_modules/undici/lib/dispatcher/dispatcher-base.js var require_dispatcher_base = __commonJS({ - "node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/dispatcher-base.js'(exports2, module2) { + 'use strict'; var Dispatcher = require_dispatcher(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors(); + var { ClientDestroyedError, ClientClosedError, InvalidArgumentError } = require_errors(); var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols(); - var kOnDestroyed = Symbol("onDestroyed"); - var kOnClosed = Symbol("onClosed"); - var kInterceptedDispatch = Symbol("Intercepted Dispatch"); + var kOnDestroyed = Symbol('onDestroyed'); + var kOnClosed = Symbol('onClosed'); + var kInterceptedDispatch = Symbol('Intercepted Dispatch'); var DispatcherBase = class extends Dispatcher { constructor() { super(); @@ -4243,8 +4484,8 @@ var require_dispatcher_base = __commonJS({ 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"); + if (typeof interceptor !== 'function') { + throw new InvalidArgumentError('interceptor must be an function'); } } } @@ -4258,8 +4499,8 @@ var require_dispatcher_base = __commonJS({ }); }); } - 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)); @@ -4282,27 +4523,29 @@ var require_dispatcher_base = __commonJS({ 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") { + 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]) { @@ -4342,12 +4585,12 @@ var require_dispatcher_base = __commonJS({ return dispatch(opts, handler2); } dispatch(opts, handler2) { - if (!handler2 || typeof handler2 !== "object") { - throw new InvalidArgumentError("handler must be an object"); + if (!handler2 || typeof handler2 !== '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(); @@ -4357,8 +4600,8 @@ var require_dispatcher_base = __commonJS({ } return this[kInterceptedDispatch](opts, handler2); } catch (err) { - if (typeof handler2.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (typeof handler2.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method'); } handler2.onError(err); return false; @@ -4371,13 +4614,13 @@ var require_dispatcher_base = __commonJS({ // node_modules/undici/lib/util/timers.js var require_timers = __commonJS({ - "node_modules/undici/lib/util/timers.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/util/timers.js'(exports2, module2) { + 'use strict'; var fastNow = 0; var RESOLUTION_MS = 1e3; var TICK_MS = (RESOLUTION_MS >> 1) - 1; var fastNowTimeout; - var kFastTimer = Symbol("kFastTimer"); + var kFastTimer = Symbol('kFastTimer'); var fastTimers = []; var NOT_IN_LIST = -2; var TO_BE_CLEARED = -1; @@ -4602,15 +4845,14 @@ var require_timers = __commonJS({ // node_modules/undici/lib/core/connect.js var require_connect = __commonJS({ - "node_modules/undici/lib/core/connect.js"(exports2, module2) { - "use strict"; - var net = require("node:net"); - var assert = require("node:assert"); + 'node_modules/undici/lib/core/connect.js'(exports2, module2) { + 'use strict'; + var net = require('node:net'); + var assert = require('node:assert'); var util = require_util(); var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); var timers = require_timers(); - function noop3() { - } + function noop3() {} var tls; var SessionCache; if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) { @@ -4618,7 +4860,7 @@ var require_connect = __commonJS({ constructor(maxCachedSessions) { this._maxCachedSessions = maxCachedSessions; this._sessionCache = /* @__PURE__ */ new Map(); - this._sessionRegistry = new global.FinalizationRegistry((key) => { + this._sessionRegistry = new global.FinalizationRegistry(key => { if (this._sessionCache.size < this._maxCachedSessions) { return; } @@ -4663,7 +4905,7 @@ var require_connect = __commonJS({ } function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) { if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + throw new InvalidArgumentError('maxCachedSessions must be a positive integer or zero'); } const options = { path: socketPath, ...opts }; const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); @@ -4671,9 +4913,9 @@ var require_connect = __commonJS({ allowH2 = allowH2 != null ? allowH2 : false; return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { let socket; - if (protocol === "https:") { + if (protocol === 'https:') { if (!tls) { - tls = require("node:tls"); + tls = require('node:tls'); } servername = servername || options.servername || util.getServerName(host) || null; const sessionKey = servername || hostname; @@ -4688,17 +4930,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, host: hostname }); - socket.on("session", function(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'); port = port || 80; socket = net.connect({ highWaterMark: 64 * 1024, @@ -4714,62 +4956,68 @@ var require_connect = __commonJS({ socket.setKeepAlive(true, keepAliveInitialDelay); } const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port }); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - queueMicrotask(clearConnectTimeout); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - queueMicrotask(clearConnectTimeout); - if (callback) { - const cb = callback; - callback = null; - cb(err); - } - }); + socket + .setNoDelay(true) + .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () { + queueMicrotask(clearConnectTimeout); + if (callback) { + const cb = callback; + callback = null; + cb(null, this); + } + }) + .on('error', function (err) { + queueMicrotask(clearConnectTimeout); + if (callback) { + const cb = callback; + callback = null; + cb(err); + } + }); return socket; }; } - var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => { - if (!opts.timeout) { - return noop3; - } - let s1 = null; - let s2 = null; - const fastTimer = timers.setFastTimeout(() => { - s1 = setImmediate(() => { - s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts)); - }); - }, opts.timeout); - return () => { - timers.clearFastTimeout(fastTimer); - clearImmediate(s1); - clearImmediate(s2); - }; - } : (socketWeakRef, opts) => { - if (!opts.timeout) { - return noop3; - } - let s1 = null; - const fastTimer = timers.setFastTimeout(() => { - s1 = setImmediate(() => { - onConnectTimeout(socketWeakRef.deref(), opts); - }); - }, opts.timeout); - return () => { - timers.clearFastTimeout(fastTimer); - clearImmediate(s1); - }; - }; + var setupConnectTimeout = + process.platform === 'win32' + ? (socketWeakRef, opts) => { + if (!opts.timeout) { + return noop3; + } + let s1 = null; + let s2 = null; + const fastTimer = timers.setFastTimeout(() => { + s1 = setImmediate(() => { + s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts)); + }); + }, opts.timeout); + return () => { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + clearImmediate(s2); + }; + } + : (socketWeakRef, opts) => { + if (!opts.timeout) { + return noop3; + } + let s1 = null; + const fastTimer = timers.setFastTimeout(() => { + s1 = setImmediate(() => { + onConnectTimeout(socketWeakRef.deref(), opts); + }); + }, opts.timeout); + return () => { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + }; + }; function onConnectTimeout(socket, opts) { if (socket == null) { return; } - let message = "Connect Timeout Error"; + let message = 'Connect Timeout Error'; if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) { - message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`; + message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`; } else { message += ` (attempted address: ${opts.hostname}:${opts.port},`; } @@ -4782,15 +5030,15 @@ var require_connect = __commonJS({ // node_modules/undici/lib/llhttp/utils.js var require_utils2 = __commonJS({ - "node_modules/undici/lib/llhttp/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); + 'node_modules/undici/lib/llhttp/utils.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); exports2.enumToMap = void 0; function enumToMap(obj) { const res = {}; - Object.keys(obj).forEach((key) => { + Object.keys(obj).forEach(key => { const value = obj[key]; - if (typeof value === "number") { + if (typeof value === 'number') { res[key] = value; } }); @@ -4802,112 +5050,141 @@ var require_utils2 = __commonJS({ // node_modules/undici/lib/llhttp/constants.js var require_constants2 = __commonJS({ - "node_modules/undici/lib/llhttp/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; + 'node_modules/undici/lib/llhttp/constants.js'(exports2) { + 'use strict'; + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.SPECIAL_HEADERS = + exports2.HEADER_STATE = + exports2.MINOR = + exports2.MAJOR = + exports2.CONNECTION_TOKEN_CHARS = + exports2.HEADER_CHARS = + exports2.TOKEN = + exports2.STRICT_TOKEN = + exports2.HEX = + exports2.URL_CHAR = + exports2.STRICT_URL_CHAR = + exports2.USERINFO_CHARS = + exports2.MARK = + exports2.ALPHANUM = + exports2.NUM = + exports2.HEX_MAP = + exports2.NUM_MAP = + exports2.ALPHA = + exports2.FINISH = + exports2.H_METHOD_MAP = + exports2.METHOD_MAP = + exports2.METHODS_RTSP = + exports2.METHODS_ICE = + exports2.METHODS_HTTP = + exports2.METHODS = + exports2.LENIENT_FLAGS = + exports2.FLAGS = + exports2.TYPE = + exports2.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 = exports2.ERROR || (exports2.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 = exports2.ERROR || (exports2.ERROR = {}))); var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports2.TYPE || (exports2.TYPE = {})); + (function (TYPE2) { + TYPE2[(TYPE2['BOTH'] = 0)] = 'BOTH'; + TYPE2[(TYPE2['REQUEST'] = 1)] = 'REQUEST'; + TYPE2[(TYPE2['RESPONSE'] = 2)] = 'RESPONSE'; + })((TYPE = exports2.TYPE || (exports2.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 = exports2.FLAGS || (exports2.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 = exports2.FLAGS || (exports2.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 = exports2.LENIENT_FLAGS || (exports2.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 = exports2.LENIENT_FLAGS || (exports2.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 = exports2.METHODS || (exports2.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 = exports2.METHODS || (exports2.METHODS = {}))); exports2.METHODS_HTTP = [ METHODS.DELETE, METHODS.GET, @@ -4933,7 +5210,7 @@ var require_constants2 = __commonJS({ METHODS.MKACTIVITY, METHODS.CHECKOUT, METHODS.MERGE, - METHODS["M-SEARCH"], + METHODS['M-SEARCH'], METHODS.NOTIFY, METHODS.SUBSCRIBE, METHODS.UNSUBSCRIBE, @@ -4946,9 +5223,7 @@ var require_constants2 = __commonJS({ // TODO(indutny): should we allow it with HTTP? METHODS.SOURCE ]; - exports2.METHODS_ICE = [ - METHODS.SOURCE - ]; + exports2.METHODS_ICE = [METHODS.SOURCE]; exports2.METHODS_RTSP = [ METHODS.OPTIONS, METHODS.DESCRIBE, @@ -4968,19 +5243,19 @@ var require_constants2 = __commonJS({ ]; exports2.METHOD_MAP = utils_1.enumToMap(METHODS); exports2.H_METHOD_MAP = {}; - Object.keys(exports2.METHOD_MAP).forEach((key) => { + Object.keys(exports2.METHOD_MAP).forEach(key => { if (/^H/.test(key)) { exports2.H_METHOD_MAP[key] = exports2.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 = exports2.FINISH || (exports2.FINISH = {})); + (function (FINISH2) { + FINISH2[(FINISH2['SAFE'] = 0)] = 'SAFE'; + FINISH2[(FINISH2['SAFE_WITH_CB'] = 1)] = 'SAFE_WITH_CB'; + FINISH2[(FINISH2['UNSAFE'] = 2)] = 'UNSAFE'; + })((FINISH = exports2.FINISH || (exports2.FINISH = {}))); exports2.ALPHA = []; - for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { + for (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) { exports2.ALPHA.push(String.fromCharCode(i)); exports2.ALPHA.push(String.fromCharCode(i + 32)); } @@ -5020,316 +5295,274 @@ var require_constants2 = __commonJS({ e: 14, f: 15 }; - exports2.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; + exports2.NUM = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM); - exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + exports2.MARK = ['-', '_', '.', '!', '~', '*', "'", '(', ')']; + exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(['%', ';', ':', '&', '=', '+', '$', ',']); exports2.STRICT_URL_CHAR = [ - "!", + '!', '"', - "$", - "%", - "&", + '$', + '%', + '&', "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" + '(', + ')', + '*', + '+', + ',', + '-', + '.', + '/', + ':', + ';', + '<', + '=', + '>', + '@', + '[', + '\\', + ']', + '^', + '_', + '`', + '{', + '|', + '}', + '~' ].concat(exports2.ALPHANUM); - exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([" ", "\f"]); + exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([' ', '\f']); for (let i = 128; i <= 255; i++) { exports2.URL_CHAR.push(i); } - exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); - exports2.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", - "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports2.ALPHANUM); - exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]); - exports2.HEADER_CHARS = [" "]; + exports2.HEX = exports2.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']); + exports2.STRICT_TOKEN = ['!', '#', '$', '%', '&', "'", '*', '+', '-', '.', '^', '_', '`', '|', '~'].concat( + exports2.ALPHANUM + ); + exports2.TOKEN = exports2.STRICT_TOKEN.concat([' ']); + exports2.HEADER_CHARS = [' ']; for (let i = 32; i <= 255; i++) { if (i !== 127) { exports2.HEADER_CHARS.push(i); } } - exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44); + exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter(c => c !== 44); exports2.MAJOR = exports2.NUM_MAP; exports2.MINOR = exports2.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 = exports2.HEADER_STATE || (exports2.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 = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}))); exports2.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/undici/lib/llhttp/llhttp-wasm.js var require_llhttp_wasm = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { - "use strict"; - var { Buffer: Buffer2 } = require("node:buffer"); - module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64"); + 'node_modules/undici/lib/llhttp/llhttp-wasm.js'(exports2, module2) { + 'use strict'; + var { Buffer: Buffer2 } = require('node:buffer'); + module2.exports = Buffer2.from( + 'AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv', + 'base64' + ); } }); // node_modules/undici/lib/llhttp/llhttp_simd-wasm.js var require_llhttp_simd_wasm = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { - "use strict"; - var { Buffer: Buffer2 } = require("node:buffer"); - module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtzACAAQRBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAA/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQTBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQSBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQd0BNgIcCwYAIAAQMguaLQELfyMAQRBrIgokAEGk0AAoAgAiCUUEQEHk0wAoAgAiBUUEQEHw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBCGpBcHFB2KrVqgVzIgU2AgBB+NMAQQA2AgBByNMAQQA2AgALQczTAEGA1AQ2AgBBnNAAQYDUBDYCAEGw0AAgBTYCAEGs0ABBfzYCAEHQ0wBBgKwDNgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBjNQEQcGrAzYCAEGo0ABB9NMAKAIANgIAQZjQAEHAqwM2AgBBpNAAQYjUBDYCAEHM/wdBODYCAEGI1AQhCQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQewBTQRAQYzQACgCACIGQRAgAEETakFwcSAAQQtJGyIEQQN2IgB2IgFBA3EEQAJAIAFBAXEgAHJBAXMiAkEDdCIAQbTQAGoiASAAQbzQAGooAgAiACgCCCIDRgRAQYzQACAGQX4gAndxNgIADAELIAEgAzYCCCADIAE2AgwLIABBCGohASAAIAJBA3QiAkEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwRC0GU0AAoAgAiCCAETw0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cWgiAEEDdCICQbTQAGoiASACQbzQAGooAgAiAigCCCIDRgRAQYzQACAGQX4gAHdxIgY2AgAMAQsgASADNgIIIAMgATYCDAsgAiAEQQNyNgIEIABBA3QiACAEayEFIAAgAmogBTYCACACIARqIgQgBUEBcjYCBCAIBEAgCEF4cUG00ABqIQBBoNAAKAIAIQMCf0EBIAhBA3Z0IgEgBnFFBEBBjNAAIAEgBnI2AgAgAAwBCyAAKAIICyIBIAM2AgwgACADNgIIIAMgADYCDCADIAE2AggLIAJBCGohAUGg0AAgBDYCAEGU0AAgBTYCAAwRC0GQ0AAoAgAiC0UNASALaEECdEG80gBqKAIAIgAoAgRBeHEgBGshBSAAIQIDQAJAIAIoAhAiAUUEQCACQRRqKAIAIgFFDQELIAEoAgRBeHEgBGsiAyAFSSECIAMgBSACGyEFIAEgACACGyEAIAEhAgwBCwsgACgCGCEJIAAoAgwiAyAARwRAQZzQACgCABogAyAAKAIIIgE2AgggASADNgIMDBALIABBFGoiAigCACIBRQRAIAAoAhAiAUUNAyAAQRBqIQILA0AgAiEHIAEiA0EUaiICKAIAIgENACADQRBqIQIgAygCECIBDQALIAdBADYCAAwPC0F/IQQgAEG/f0sNACAAQRNqIgFBcHEhBEGQ0AAoAgAiCEUNAEEAIARrIQUCQAJAAkACf0EAIARBgAJJDQAaQR8gBEH///8HSw0AGiAEQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qCyIGQQJ0QbzSAGooAgAiAkUEQEEAIQFBACEDDAELQQAhASAEQRkgBkEBdmtBACAGQR9HG3QhAEEAIQMDQAJAIAIoAgRBeHEgBGsiByAFTw0AIAIhAyAHIgUNAEEAIQUgAiEBDAMLIAEgAkEUaigCACIHIAcgAiAAQR12QQRxakEQaigCACICRhsgASAHGyEBIABBAXQhACACDQALCyABIANyRQRAQQAhA0ECIAZ0IgBBACAAa3IgCHEiAEUNAyAAaEECdEG80gBqKAIAIQELIAFFDQELA0AgASgCBEF4cSAEayICIAVJIQAgAiAFIAAbIQUgASADIAAbIQMgASgCECIABH8gAAUgAUEUaigCAAsiAQ0ACwsgA0UNACAFQZTQACgCACAEa08NACADKAIYIQcgAyADKAIMIgBHBEBBnNAAKAIAGiAAIAMoAggiATYCCCABIAA2AgwMDgsgA0EUaiICKAIAIgFFBEAgAygCECIBRQ0DIANBEGohAgsDQCACIQYgASIAQRRqIgIoAgAiAQ0AIABBEGohAiAAKAIQIgENAAsgBkEANgIADA0LQZTQACgCACIDIARPBEBBoNAAKAIAIQECQCADIARrIgJBEE8EQCABIARqIgAgAkEBcjYCBCABIANqIAI2AgAgASAEQQNyNgIEDAELIAEgA0EDcjYCBCABIANqIgAgACgCBEEBcjYCBEEAIQBBACECC0GU0AAgAjYCAEGg0AAgADYCACABQQhqIQEMDwtBmNAAKAIAIgMgBEsEQCAEIAlqIgAgAyAEayIBQQFyNgIEQaTQACAANgIAQZjQACABNgIAIAkgBEEDcjYCBCAJQQhqIQEMDwtBACEBIAQCf0Hk0wAoAgAEQEHs0wAoAgAMAQtB8NMAQn83AgBB6NMAQoCAhICAgMAANwIAQeTTACAKQQxqQXBxQdiq1aoFczYCAEH40wBBADYCAEHI0wBBADYCAEGAgAQLIgAgBEHHAGoiBWoiBkEAIABrIgdxIgJPBEBB/NMAQTA2AgAMDwsCQEHE0wAoAgAiAUUNAEG80wAoAgAiCCACaiEAIAAgAU0gACAIS3ENAEEAIQFB/NMAQTA2AgAMDwtByNMALQAAQQRxDQQCQAJAIAkEQEHM0wAhAQNAIAEoAgAiACAJTQRAIAAgASgCBGogCUsNAwsgASgCCCIBDQALC0EAEDMiAEF/Rg0FIAIhBkHo0wAoAgAiAUEBayIDIABxBEAgAiAAayAAIANqQQAgAWtxaiEGCyAEIAZPDQUgBkH+////B0sNBUHE0wAoAgAiAwRAQbzTACgCACIHIAZqIQEgASAHTQ0GIAEgA0sNBgsgBhAzIgEgAEcNAQwHCyAGIANrIAdxIgZB/v///wdLDQQgBhAzIQAgACABKAIAIAEoAgRqRg0DIAAhAQsCQCAGIARByABqTw0AIAFBf0YNAEHs0wAoAgAiACAFIAZrakEAIABrcSIAQf7///8HSwRAIAEhAAwHCyAAEDNBf0cEQCAAIAZqIQYgASEADAcLQQAgBmsQMxoMBAsgASIAQX9HDQUMAwtBACEDDAwLQQAhAAwKCyAAQX9HDQILQcjTAEHI0wAoAgBBBHI2AgALIAJB/v///wdLDQEgAhAzIQBBABAzIQEgAEF/Rg0BIAFBf0YNASAAIAFPDQEgASAAayIGIARBOGpNDQELQbzTAEG80wAoAgAgBmoiATYCAEHA0wAoAgAgAUkEQEHA0wAgATYCAAsCQAJAAkBBpNAAKAIAIgIEQEHM0wAhAQNAIAAgASgCACIDIAEoAgQiBWpGDQIgASgCCCIBDQALDAILQZzQACgCACIBQQBHIAAgAU9xRQRAQZzQACAANgIAC0EAIQFB0NMAIAY2AgBBzNMAIAA2AgBBrNAAQX82AgBBsNAAQeTTACgCADYCAEHY0wBBADYCAANAIAFByNAAaiABQbzQAGoiAjYCACACIAFBtNAAaiIDNgIAIAFBwNAAaiADNgIAIAFB0NAAaiABQcTQAGoiAzYCACADIAI2AgAgAUHY0ABqIAFBzNAAaiICNgIAIAIgAzYCACABQdTQAGogAjYCACABQSBqIgFBgAJHDQALQXggAGtBD3EiASAAaiICIAZBOGsiAyABayIBQQFyNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAI2AgAgACADakE4NgIEDAILIAAgAk0NACACIANJDQAgASgCDEEIcQ0AQXggAmtBD3EiACACaiIDQZjQACgCACAGaiIHIABrIgBBAXI2AgQgASAFIAZqNgIEQajQAEH00wAoAgA2AgBBmNAAIAA2AgBBpNAAIAM2AgAgAiAHakE4NgIEDAELIABBnNAAKAIASQRAQZzQACAANgIACyAAIAZqIQNBzNMAIQECQAJAAkADQCADIAEoAgBHBEAgASgCCCIBDQEMAgsLIAEtAAxBCHFFDQELQczTACEBA0AgASgCACIDIAJNBEAgAyABKAIEaiIFIAJLDQMLIAEoAgghAQwACwALIAEgADYCACABIAEoAgQgBmo2AgQgAEF4IABrQQ9xaiIJIARBA3I2AgQgA0F4IANrQQ9xaiIGIAQgCWoiBGshASACIAZGBEBBpNAAIAQ2AgBBmNAAQZjQACgCACABaiIANgIAIAQgAEEBcjYCBAwIC0Gg0AAoAgAgBkYEQEGg0AAgBDYCAEGU0ABBlNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEIAAgBGogADYCAAwICyAGKAIEIgVBA3FBAUcNBiAFQXhxIQggBUH/AU0EQCAFQQN2IQMgBigCCCIAIAYoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAcLIAIgADYCCCAAIAI2AgwMBgsgBigCGCEHIAYgBigCDCIARwRAIAAgBigCCCICNgIIIAIgADYCDAwFCyAGQRRqIgIoAgAiBUUEQCAGKAIQIgVFDQQgBkEQaiECCwNAIAIhAyAFIgBBFGoiAigCACIFDQAgAEEQaiECIAAoAhAiBQ0ACyADQQA2AgAMBAtBeCAAa0EPcSIBIABqIgcgBkE4ayIDIAFrIgFBAXI2AgQgACADakE4NgIEIAIgBUE3IAVrQQ9xakE/ayIDIAMgAkEQakkbIgNBIzYCBEGo0ABB9NMAKAIANgIAQZjQACABNgIAQaTQACAHNgIAIANBEGpB1NMAKQIANwIAIANBzNMAKQIANwIIQdTTACADQQhqNgIAQdDTACAGNgIAQczTACAANgIAQdjTAEEANgIAIANBJGohAQNAIAFBBzYCACAFIAFBBGoiAUsNAAsgAiADRg0AIAMgAygCBEF+cTYCBCADIAMgAmsiBTYCACACIAVBAXI2AgQgBUH/AU0EQCAFQXhxQbTQAGohAAJ/QYzQACgCACIBQQEgBUEDdnQiA3FFBEBBjNAAIAEgA3I2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEG80gBqIQBBkNAAKAIAIgNBASABdCIGcUUEQCAAIAI2AgBBkNAAIAMgBnI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEDAkADQCADIgAoAgRBeHEgBUYNASABQR12IQMgAUEBdCEBIAAgA0EEcWpBEGoiBigCACIDDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLQZjQACgCACIBIARNDQBBpNAAKAIAIgAgBGoiAiABIARrIgFBAXI2AgRBmNAAIAE2AgBBpNAAIAI2AgAgACAEQQNyNgIEIABBCGohAQwIC0EAIQFB/NMAQTA2AgAMBwtBACEACyAHRQ0AAkAgBigCHCICQQJ0QbzSAGoiAygCACAGRgRAIAMgADYCACAADQFBkNAAQZDQACgCAEF+IAJ3cTYCAAwCCyAHQRBBFCAHKAIQIAZGG2ogADYCACAARQ0BCyAAIAc2AhggBigCECICBEAgACACNgIQIAIgADYCGAsgBkEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgCGohASAGIAhqIgYoAgQhBQsgBiAFQX5xNgIEIAEgBGogATYCACAEIAFBAXI2AgQgAUH/AU0EQCABQXhxQbTQAGohAAJ/QYzQACgCACICQQEgAUEDdnQiAXFFBEBBjNAAIAEgAnI2AgAgAAwBCyAAKAIICyIBIAQ2AgwgACAENgIIIAQgADYCDCAEIAE2AggMAQtBHyEFIAFB////B00EQCABQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qIQULIAQgBTYCHCAEQgA3AhAgBUECdEG80gBqIQBBkNAAKAIAIgJBASAFdCIDcUUEQCAAIAQ2AgBBkNAAIAIgA3I2AgAgBCAANgIYIAQgBDYCCCAEIAQ2AgwMAQsgAUEZIAVBAXZrQQAgBUEfRxt0IQUgACgCACEAAkADQCAAIgIoAgRBeHEgAUYNASAFQR12IQAgBUEBdCEFIAIgAEEEcWpBEGoiAygCACIADQALIAMgBDYCACAEIAI2AhggBCAENgIMIAQgBDYCCAwBCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAlBCGohAQwCCwJAIAdFDQACQCADKAIcIgFBAnRBvNIAaiICKAIAIANGBEAgAiAANgIAIAANAUGQ0AAgCEF+IAF3cSIINgIADAILIAdBEEEUIAcoAhAgA0YbaiAANgIAIABFDQELIAAgBzYCGCADKAIQIgEEQCAAIAE2AhAgASAANgIYCyADQRRqKAIAIgFFDQAgAEEUaiABNgIAIAEgADYCGAsCQCAFQQ9NBEAgAyAEIAVqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAEaiICIAVBAXI2AgQgAyAEQQNyNgIEIAIgBWogBTYCACAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIFcUUEQEGM0AAgASAFcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEEBIAF0IgQgCHFFBEAgACACNgIAQZDQACAEIAhyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhBAJAA0AgBCIAKAIEQXhxIAVGDQEgAUEddiEEIAFBAXQhASAAIARBBHFqQRBqIgYoAgAiBA0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIICyADQQhqIQEMAQsCQCAJRQ0AAkAgACgCHCIBQQJ0QbzSAGoiAigCACAARgRAIAIgAzYCACADDQFBkNAAIAtBfiABd3E2AgAMAgsgCUEQQRQgCSgCECAARhtqIAM2AgAgA0UNAQsgAyAJNgIYIAAoAhAiAQRAIAMgATYCECABIAM2AhgLIABBFGooAgAiAUUNACADQRRqIAE2AgAgASADNgIYCwJAIAVBD00EQCAAIAQgBWoiAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBCyAAIARqIgcgBUEBcjYCBCAAIARBA3I2AgQgBSAHaiAFNgIAIAgEQCAIQXhxQbTQAGohAUGg0AAoAgAhAwJ/QQEgCEEDdnQiAiAGcUUEQEGM0AAgAiAGcjYCACABDAELIAEoAggLIgIgAzYCDCABIAM2AgggAyABNgIMIAMgAjYCCAtBoNAAIAc2AgBBlNAAIAU2AgALIABBCGohAQsgCkEQaiQAIAELQwAgAEUEQD8AQRB0DwsCQCAAQf//A3ENACAAQQBIDQAgAEEQdkAAIgBBf0YEQEH80wBBMDYCAEF/DwsgAEEQdA8LAAsL3D8iAEGACAsJAQAAAAIAAAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64"); + 'node_modules/undici/lib/llhttp/llhttp_simd-wasm.js'(exports2, module2) { + 'use strict'; + var { Buffer: Buffer2 } = require('node:buffer'); + module2.exports = Buffer2.from( + 'AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==', + 'base64' + ); } }); // node_modules/undici/lib/web/fetch/constants.js var require_constants3 = __commonJS({ - "node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) { - "use strict"; - var corsSafeListedMethods = ( + 'node_modules/undici/lib/web/fetch/constants.js'(exports2, module2) { + 'use strict'; + var corsSafeListedMethods = /** @type {const} */ - ["GET", "HEAD", "POST"] - ); + ['GET', 'HEAD', 'POST']; var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = ( + var nullBodyStatus = /** @type {const} */ - [101, 204, 205, 304] - ); - var redirectStatus = ( + [101, 204, 205, 304]; + var redirectStatus = /** @type {const} */ - [301, 302, 303, 307, 308] - ); + [301, 302, 303, 307, 308]; var redirectStatusSet = new Set(redirectStatus); - var badPorts = ( + var badPorts = /** @type {const} */ [ - "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", - "4190", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6679", - "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', + '4190', + '5060', + '5061', + '6000', + '6566', + '6665', + '6666', + '6667', + '6668', + '6669', + '6679', + '6697', + '10080' + ]; var badPortsSet = new Set(badPorts); - var referrerPolicy = ( + var referrerPolicy = /** @type {const} */ [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ] - ); + '', + '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 = ( + var requestRedirect = /** @type {const} */ - ["follow", "manual", "error"] - ); - var safeMethods = ( + ['follow', 'manual', 'error']; + var safeMethods = /** @type {const} */ - ["GET", "HEAD", "OPTIONS", "TRACE"] - ); + ['GET', 'HEAD', 'OPTIONS', 'TRACE']; var safeMethodsSet = new Set(safeMethods); - var requestMode = ( + var requestMode = /** @type {const} */ - ["navigate", "same-origin", "no-cors", "cors"] - ); - var requestCredentials = ( + ['navigate', 'same-origin', 'no-cors', 'cors']; + var requestCredentials = /** @type {const} */ - ["omit", "same-origin", "include"] - ); - var requestCache = ( + ['omit', 'same-origin', 'include']; + var requestCache = /** @type {const} */ - [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ] - ); - var requestBodyHeader = ( + ['default', 'no-store', 'reload', 'no-cache', 'force-cache', 'only-if-cached']; + var requestBodyHeader = /** @type {const} */ [ - "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 = ( + 'content-length' + ]; + var requestDuplex = /** @type {const} */ - [ - "half" - ] - ); - var forbiddenMethods = ( + ['half']; + var forbiddenMethods = /** @type {const} */ - ["CONNECT", "TRACE", "TRACK"] - ); + ['CONNECT', 'TRACE', 'TRACK']; var forbiddenMethodsSet = new Set(forbiddenMethods); - var subresource = ( + var subresource = /** @type {const} */ [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ] - ); + 'audio', + 'audioworklet', + 'font', + 'image', + 'manifest', + 'paintworklet', + 'script', + 'style', + 'track', + 'video', + 'xslt', + '' + ]; var subresourceSet = new Set(subresource); module2.exports = { subresource, @@ -5359,9 +5592,9 @@ var require_constants3 = __commonJS({ // node_modules/undici/lib/web/fetch/global.js var require_global = __commonJS({ - "node_modules/undici/lib/web/fetch/global.js"(exports2, module2) { - "use strict"; - var globalOrigin = Symbol.for("undici.globalOrigin.1"); + 'node_modules/undici/lib/web/fetch/global.js'(exports2, module2) { + 'use strict'; + var globalOrigin = Symbol.for('undici.globalOrigin.1'); function getGlobalOrigin() { return globalThis[globalOrigin]; } @@ -5376,7 +5609,7 @@ var require_global = __commonJS({ return; } const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { + if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); } Object.defineProperty(globalThis, globalOrigin, { @@ -5395,28 +5628,24 @@ var require_global = __commonJS({ // node_modules/undici/lib/web/fetch/data-url.js var require_data_url = __commonJS({ - "node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); + 'node_modules/undici/lib/web/fetch/data-url.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); var encoder = new TextEncoder(); var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); + assert(dataURL.protocol === 'data:'); let input = URLSerializer(dataURL, true); input = input.slice(5); const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); + 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); @@ -5424,19 +5653,19 @@ var require_data_url = __commonJS({ if (/;(\u0020){0,}base64$/i.test(mimeType)) { const stringBody = isomorphicDecode(body); body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; + if (body === 'failure') { + return 'failure'; } mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); + 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"); + if (mimeTypeRecord === 'failure') { + mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII'); } return { mimeType: mimeTypeRecord, body }; } @@ -5447,13 +5676,13 @@ var require_data_url = __commonJS({ const href = url.href; const hashLength = url.hash.length; const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength); - if (!hashLength && href.endsWith("#")) { + if (!hashLength && href.endsWith('#')) { return serialized.slice(0, -1); } return serialized; } function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; + let result = ''; while (position.position < input.length && condition(input[position.position])) { result += input[position.position]; position.position++; @@ -5475,7 +5704,7 @@ var require_data_url = __commonJS({ return percentDecode(bytes); } function isHexCharByte(byte) { - return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102; + return (byte >= 48 && byte <= 57) || (byte >= 65 && byte <= 70) || (byte >= 97 && byte <= 102); } function hexByteToNumber(byte) { return ( @@ -5494,7 +5723,7 @@ var require_data_url = __commonJS({ } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) { output[j++] = 37; } else { - output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]); + output[j++] = (hexByteToNumber(input[i + 1]) << 4) | hexByteToNumber(input[i + 2]); i += 2; } } @@ -5503,26 +5732,18 @@ var require_data_url = __commonJS({ function parseMIMEType(input) { input = removeHTTPWhitespace(input, true, true); const position = { position: 0 }; - const type = collectASequenceOfCodePointsFast( - "/", - input, - position - ); + 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"; + return 'failure'; } position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - 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(); @@ -5538,18 +5759,14 @@ var require_data_url = __commonJS({ 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 => HTTP_WHITESPACE_REGEX.test(char), input, position ); + let parameterName = collectASequenceOfCodePoints(char => char !== ';' && char !== '=', input, position); parameterName = parameterName.toLowerCase(); if (position.position < input.length) { - if (input[position.position] === ";") { + if (input[position.position] === ';') { continue; } position.position++; @@ -5560,30 +5777,27 @@ var require_data_url = __commonJS({ let parameterValue = null; if (input[position.position] === '"') { parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); + collectASequenceOfCodePointsFast(';', input, position); } else { - parameterValue = collectASequenceOfCodePointsFast( - ";", - input, - position - ); + parameterValue = collectASequenceOfCodePointsFast(';', input, position); parameterValue = removeHTTPWhitespace(parameterValue, false, true); if (parameterValue.length === 0) { continue; } } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { + 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; } function forgivingBase64(data) { - data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, ""); + data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, ''); let dataLength = data.length; if (dataLength % 4 === 0) { if (data.charCodeAt(dataLength - 1) === 61) { @@ -5594,33 +5808,29 @@ var require_data_url = __commonJS({ } } if (dataLength % 4 === 1) { - return "failure"; + return 'failure'; } if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) { - return "failure"; + return 'failure'; } - const buffer = Buffer.from(data, "base64"); + const buffer = Buffer.from(data, 'base64'); return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); } function collectAnHTTPQuotedString(input, position, extractValue) { const positionStart = position.position; - let value = ""; + let value = ''; assert(input[position.position] === '"'); position.position++; while (true) { - value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", - input, - position - ); + value += collectASequenceOfCodePoints(char => char !== '"' && char !== '\\', input, position); if (position.position >= input.length) { break; } const quoteOrBackslash = input[position.position]; position.position++; - if (quoteOrBackslash === "\\") { + if (quoteOrBackslash === '\\') { if (position.position >= input.length) { - value += "\\"; + value += '\\'; break; } value += input[position.position]; @@ -5636,15 +5846,15 @@ var require_data_url = __commonJS({ return input.slice(positionStart, position.position); } function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); + assert(mimeType !== 'failure'); const { parameters, essence } = mimeType; let serialization = essence; for (let [name, value] of parameters.entries()) { - serialization += ";"; + serialization += ';'; serialization += name; - serialization += "="; + serialization += '='; if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); + value = value.replace(/(\\|")/g, '\\$1'); value = '"' + value; value += '"'; } @@ -5680,52 +5890,52 @@ var require_data_url = __commonJS({ if ((2 << 15) - 1 > length) { return String.fromCharCode.apply(null, input); } - let result = ""; + let result = ''; let i = 0; let addition = (2 << 15) - 1; while (i < length) { if (i + addition > length) { addition = length - i; } - result += String.fromCharCode.apply(null, input.subarray(i, i += addition)); + result += String.fromCharCode.apply(null, input.subarray(i, (i += addition))); } return result; } function minimizeSupportedMimeType(mimeType) { switch (mimeType.essence) { - case "application/ecmascript": - case "application/javascript": - case "application/x-ecmascript": - case "application/x-javascript": - case "text/ecmascript": - case "text/javascript": - case "text/javascript1.0": - case "text/javascript1.1": - case "text/javascript1.2": - case "text/javascript1.3": - case "text/javascript1.4": - case "text/javascript1.5": - case "text/jscript": - case "text/livescript": - case "text/x-ecmascript": - case "text/x-javascript": - return "text/javascript"; - case "application/json": - case "text/json": - return "application/json"; - case "image/svg+xml": - return "image/svg+xml"; - case "text/xml": - case "application/xml": - return "application/xml"; - } - if (mimeType.subtype.endsWith("+json")) { - return "application/json"; - } - if (mimeType.subtype.endsWith("+xml")) { - return "application/xml"; - } - return ""; + case 'application/ecmascript': + case 'application/javascript': + case 'application/x-ecmascript': + case 'application/x-javascript': + case 'text/ecmascript': + case 'text/javascript': + case 'text/javascript1.0': + case 'text/javascript1.1': + case 'text/javascript1.2': + case 'text/javascript1.3': + case 'text/javascript1.4': + case 'text/javascript1.5': + case 'text/jscript': + case 'text/livescript': + case 'text/x-ecmascript': + case 'text/x-javascript': + return 'text/javascript'; + case 'application/json': + case 'text/json': + return 'application/json'; + case 'image/svg+xml': + return 'image/svg+xml'; + case 'text/xml': + case 'application/xml': + return 'application/xml'; + } + if (mimeType.subtype.endsWith('+json')) { + return 'application/json'; + } + if (mimeType.subtype.endsWith('+xml')) { + return 'application/xml'; + } + return ''; } module2.exports = { dataURLProcessor, @@ -5747,97 +5957,96 @@ var require_data_url = __commonJS({ // node_modules/undici/lib/web/fetch/webidl.js var require_webidl = __commonJS({ - "node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) { - "use strict"; - var { types, inspect } = require("node:util"); - var { markAsUncloneable } = require("node:worker_threads"); + 'node_modules/undici/lib/web/fetch/webidl.js'(exports2, module2) { + 'use strict'; + var { types, inspect } = require('node:util'); + var { markAsUncloneable } = require('node:worker_threads'); var { toUSVString } = require_util(); var webidl = {}; webidl.converters = {}; webidl.util = {}; webidl.errors = {}; - webidl.errors.exception = function(message) { + webidl.errors.exception = function (message) { return new TypeError(`${message.header}: ${message.message}`); }; - webidl.errors.conversionFailed = function(context3) { - const plural = context3.types.length === 1 ? "" : " one of"; - const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`; + webidl.errors.conversionFailed = function (context3) { + const plural = context3.types.length === 1 ? '' : ' one of'; + const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(', ')}.`; return webidl.errors.exception({ header: context3.prefix, message }); }; - webidl.errors.invalidArgument = function(context3) { + webidl.errors.invalidArgument = function (context3) { return webidl.errors.exception({ header: context3.prefix, message: `"${context3.value}" is an invalid ${context3.type}.` }); }; - webidl.brandCheck = function(V, I, opts) { + webidl.brandCheck = function (V, I, opts) { if (opts?.strict !== false) { if (!(V instanceof I)) { - const err = new TypeError("Illegal invocation"); - err.code = "ERR_INVALID_THIS"; + const err = new TypeError('Illegal invocation'); + err.code = 'ERR_INVALID_THIS'; throw err; } } else { if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) { - const err = new TypeError("Illegal invocation"); - err.code = "ERR_INVALID_THIS"; + const err = new TypeError('Illegal invocation'); + err.code = 'ERR_INVALID_THIS'; throw err; } } }; - 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.`, header: ctx }); } }; - webidl.illegalConstructor = function() { + webidl.illegalConstructor = function () { throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" + header: 'TypeError', + message: 'Illegal constructor' }); }; - webidl.util.Type = function(V) { + 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.markAsUncloneable = markAsUncloneable || (() => { - }); - webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) { + webidl.util.markAsUncloneable = markAsUncloneable || (() => {}); + webidl.util.ConvertToInt = function (V, bitLength, signedness, opts) { let upperBound; let lowerBound; if (bitLength === 64) { upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { + if (signedness === 'unsigned') { lowerBound = 0; } else { lowerBound = Math.pow(-2, 53) + 1; } - } else if (signedness === "unsigned") { + } else if (signedness === 'unsigned') { lowerBound = 0; upperBound = Math.pow(2, bitLength) - 1; } else { @@ -5851,14 +6060,14 @@ var require_webidl = __commonJS({ if (opts?.enforceRange === true) { 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 ${webidl.util.Stringify(V)} to an integer.` }); } 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}.` }); } @@ -5873,48 +6082,53 @@ var require_webidl = __commonJS({ } return x; } - if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + 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) { + if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) { return x - Math.pow(2, bitLength); } return x; }; - webidl.util.IntegerPart = function(n) { + webidl.util.IntegerPart = function (n) { const r = Math.floor(Math.abs(n)); if (n < 0) { return -1 * r; } return r; }; - webidl.util.Stringify = function(V) { + webidl.util.Stringify = function (V) { const type = webidl.util.Type(V); switch (type) { - case "Symbol": + case 'Symbol': return `Symbol(${V.description})`; - case "Object": + case 'Object': return inspect(V); - case "String": + case 'String': return `"${V}"`; default: return `${V}`; } }; - webidl.sequenceConverter = function(converter) { + webidl.sequenceConverter = function (converter) { return (V, prefix, argument, Iterable) => { - if (webidl.util.Type(V) !== "Object") { + if (webidl.util.Type(V) !== 'Object') { throw webidl.errors.exception({ header: prefix, message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.` }); } - const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.(); + const method = typeof Iterable === 'function' ? Iterable() : V?.[Symbol.iterator]?.(); const seq = []; let index = 0; - if (method === void 0 || typeof method.next !== "function") { + if (method === void 0 || typeof method.next !== 'function') { throw webidl.errors.exception({ header: prefix, message: `${argument} is not iterable.` @@ -5930,9 +6144,9 @@ var require_webidl = __commonJS({ return seq; }; }; - webidl.recordConverter = function(keyConverter, valueConverter) { + webidl.recordConverter = function (keyConverter, valueConverter) { return (O, prefix, argument) => { - if (webidl.util.Type(O) !== "Object") { + if (webidl.util.Type(O) !== 'Object') { throw webidl.errors.exception({ header: prefix, message: `${argument} ("${webidl.util.Type(O)}") is not an Object.` @@ -5960,7 +6174,7 @@ var require_webidl = __commonJS({ return result; }; }; - webidl.interfaceConverter = function(i) { + webidl.interfaceConverter = function (i) { return (V, prefix, argument, opts) => { if (opts?.strict !== false && !(V instanceof i)) { throw webidl.errors.exception({ @@ -5971,13 +6185,13 @@ var require_webidl = __commonJS({ return V; }; }; - webidl.dictionaryConverter = function(converters) { + webidl.dictionaryConverter = function (converters) { return (dictionary, prefix, argument) => { const type = webidl.util.Type(dictionary); const dict = {}; - if (type === "Null" || type === "Undefined") { + if (type === 'Null' || type === 'Undefined') { return dict; - } else if (type !== "Object") { + } else if (type !== 'Object') { throw webidl.errors.exception({ header: prefix, message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` @@ -5994,7 +6208,7 @@ var require_webidl = __commonJS({ } } let value = dictionary[key]; - const hasDefault = Object.hasOwn(options, "defaultValue"); + const hasDefault = Object.hasOwn(options, 'defaultValue'); if (hasDefault && value !== null) { value ??= defaultValue(); } @@ -6003,7 +6217,7 @@ var require_webidl = __commonJS({ if (options.allowedValues && !options.allowedValues.includes(value)) { throw webidl.errors.exception({ header: prefix, - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(', ')}.` }); } dict[key] = value; @@ -6012,7 +6226,7 @@ var require_webidl = __commonJS({ return dict; }; }; - webidl.nullableConverter = function(converter) { + webidl.nullableConverter = function (converter) { return (V, prefix, argument) => { if (V === null) { return V; @@ -6020,11 +6234,11 @@ var require_webidl = __commonJS({ return converter(V, prefix, argument); }; }; - webidl.converters.DOMString = function(V, prefix, argument, opts) { + webidl.converters.DOMString = function (V, prefix, argument, opts) { if (V === null && opts?.legacyNullToEmptyString) { - return ""; + return ''; } - if (typeof V === "symbol") { + if (typeof V === 'symbol') { throw webidl.errors.exception({ header: prefix, message: `${argument} is a symbol, which cannot be converted to a DOMString.` @@ -6032,65 +6246,67 @@ var require_webidl = __commonJS({ } return String(V); }; - webidl.converters.ByteString = function(V, prefix, argument) { + webidl.converters.ByteString = function (V, prefix, argument) { const x = webidl.converters.DOMString(V, prefix, argument); for (let index = 0; index < x.length; index++) { if (x.charCodeAt(index) > 255) { throw new TypeError( - `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.` + `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt( + index + )} which is greater than 255.` ); } } return x; }; webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V) { + webidl.converters.boolean = function (V) { const x = Boolean(V); return x; }; - webidl.converters.any = function(V) { + webidl.converters.any = function (V) { return V; }; - webidl.converters["long long"] = function(V, prefix, argument) { - const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument); + webidl.converters['long long'] = function (V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, 'signed', void 0, prefix, argument); return x; }; - webidl.converters["unsigned long long"] = function(V, prefix, argument) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument); + webidl.converters['unsigned long long'] = function (V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, 'unsigned', void 0, prefix, argument); return x; }; - webidl.converters["unsigned long"] = function(V, prefix, argument) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument); + webidl.converters['unsigned long'] = function (V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 32, 'unsigned', void 0, prefix, argument); return x; }; - webidl.converters["unsigned short"] = function(V, prefix, argument, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument); + webidl.converters['unsigned short'] = function (V, prefix, argument, opts) { + const x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts, prefix, argument); return x; }; - webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) { - if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { + webidl.converters.ArrayBuffer = function (V, prefix, argument, opts) { + if (webidl.util.Type(V) !== 'Object' || !types.isAnyArrayBuffer(V)) { throw webidl.errors.conversionFailed({ prefix, argument: `${argument} ("${webidl.util.Stringify(V)}")`, - types: ["ArrayBuffer"] + types: ['ArrayBuffer'] }); } if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' }); } if (V.resizable || V.growable) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "Received a resizable ArrayBuffer." + header: 'ArrayBuffer', + message: 'Received a resizable ArrayBuffer.' }); } return V; }; - webidl.converters.TypedArray = function(V, T, prefix, name, opts) { - if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { + webidl.converters.TypedArray = function (V, T, prefix, name, opts) { + if (webidl.util.Type(V) !== 'Object' || !types.isTypedArray(V) || V.constructor.name !== T.name) { throw webidl.errors.conversionFailed({ prefix, argument: `${name} ("${webidl.util.Stringify(V)}")`, @@ -6099,20 +6315,20 @@ var require_webidl = __commonJS({ } 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.' }); } if (V.buffer.resizable || V.buffer.growable) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "Received a resizable ArrayBuffer." + header: 'ArrayBuffer', + message: 'Received a resizable ArrayBuffer.' }); } return V; }; - webidl.converters.DataView = function(V, prefix, name, opts) { - if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { + webidl.converters.DataView = function (V, prefix, name, opts) { + if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) { throw webidl.errors.exception({ header: prefix, message: `${name} is not a DataView.` @@ -6120,19 +6336,19 @@ var require_webidl = __commonJS({ } 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.' }); } if (V.buffer.resizable || V.buffer.growable) { throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "Received a resizable ArrayBuffer." + header: 'ArrayBuffer', + message: 'Received a resizable ArrayBuffer.' }); } return V; }; - webidl.converters.BufferSource = function(V, prefix, name, opts) { + webidl.converters.BufferSource = function (V, prefix, name, opts) { if (types.isAnyArrayBuffer(V)) { return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false }); } @@ -6145,16 +6361,14 @@ var require_webidl = __commonJS({ throw webidl.errors.conversionFailed({ prefix, argument: `${name} ("${webidl.util.Stringify(V)}")`, - types: ["BufferSource"] + types: ['BufferSource'] }); }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence>"] = webidl.sequenceConverter( - webidl.converters["sequence"] + webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.ByteString); + webidl.converters['sequence>'] = webidl.sequenceConverter( + webidl.converters['sequence'] ); - webidl.converters["record"] = webidl.recordConverter( + webidl.converters['record'] = webidl.recordConverter( webidl.converters.ByteString, webidl.converters.ByteString ); @@ -6166,26 +6380,25 @@ var require_webidl = __commonJS({ // node_modules/undici/lib/web/fetch/util.js var require_util2 = __commonJS({ - "node_modules/undici/lib/web/fetch/util.js"(exports2, module2) { - "use strict"; - var { Transform } = require("node:stream"); - var zlib = require("node:zlib"); + 'node_modules/undici/lib/web/fetch/util.js'(exports2, module2) { + 'use strict'; + var { Transform } = require('node:stream'); + var zlib = require('node:zlib'); var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants3(); var { getGlobalOrigin } = require_global(); var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url(); - var { performance: performance2 } = require("node:perf_hooks"); + var { performance: performance2 } = require('node:perf_hooks'); var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util(); - var assert = require("node:assert"); - var { isUint8Array } = require("node:util/types"); + var assert = require('node:assert'); + var { isUint8Array } = require('node:util/types'); var { webidl } = require_webidl(); var supportedHashes = []; var crypto; try { - crypto = require("node:crypto"); - const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; - supportedHashes = crypto.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); - } catch { - } + crypto = require('node:crypto'); + const possibleRelevantHashes = ['sha256', 'sha384', 'sha512']; + supportedHashes = crypto.getHashes().filter(hash => possibleRelevantHashes.includes(hash)); + } catch {} function responseURL(response) { const urlList = response.urlList; const length = urlList.length; @@ -6195,7 +6408,7 @@ var require_util2 = __commonJS({ if (!redirectStatusSet.has(response.status)) { return null; } - let location = response.headersList.get("location", true); + let location = response.headersList.get('location', true); if (location !== null && isValidHeaderValue(location)) { if (!isValidEncodedURL(location)) { location = normalizeBinaryStringToUtf8(location); @@ -6210,15 +6423,17 @@ var require_util2 = __commonJS({ function isValidEncodedURL(url) { for (let i = 0; i < url.length; ++i) { const code = url.charCodeAt(i); - if (code > 126 || // Non-US-ASCII + DEL - code < 32) { + if ( + code > 126 || // Non-US-ASCII + DEL + code < 32 + ) { return false; } } return true; } function normalizeBinaryStringToUtf8(value) { - return Buffer.from(value, "binary").toString("utf8"); + return Buffer.from(value, 'binary').toString('utf8'); } function requestCurrentURL(request2) { return request2.urlList[request2.urlList.length - 1]; @@ -6226,19 +6441,25 @@ var require_util2 = __commonJS({ function requestBadPort(request2) { const url = requestCurrentURL(request2); 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)) { + if ( + !( + c === 9 || // HTAB + (c >= 32 && c <= 126) || // SP / VCHAR + (c >= 128 && c <= 255) + ) + ) { return false; } } @@ -6246,12 +6467,20 @@ var require_util2 = __commonJS({ } var isValidHeaderName = isValidHTTPToken; function isValidHeaderValue(potentialValue) { - return (potentialValue[0] === " " || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false; + return ( + (potentialValue[0] === ' ' || + potentialValue[0] === ' ' || + potentialValue[potentialValue.length - 1] === ' ' || + potentialValue[potentialValue.length - 1] === ' ' || + potentialValue.includes('\n') || + potentialValue.includes('\r') || + potentialValue.includes('\0')) === false + ); } function setRequestReferrerPolicyOnRedirect(request2, actualResponse) { const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(","); - let policy = ""; + const policyHeader = (headersList.get('referrer-policy', true) ?? '').split(','); + let policy = ''; if (policyHeader.length > 0) { for (let i = policyHeader.length; i !== 0; i--) { const token2 = policyHeader[i - 1].trim(); @@ -6261,51 +6490,51 @@ var require_util2 = __commonJS({ } } } - if (policy !== "") { + if (policy !== '') { request2.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, true); + httpRequest.headersList.set('sec-fetch-mode', header, true); } function appendRequestOriginHeader(request2) { let serializedOrigin = request2.origin; - if (serializedOrigin === "client" || serializedOrigin === void 0) { + if (serializedOrigin === 'client' || serializedOrigin === void 0) { return; } - if (request2.responseTainting === "cors" || request2.mode === "websocket") { - request2.headersList.append("origin", serializedOrigin, true); - } else if (request2.method !== "GET" && request2.method !== "HEAD") { + if (request2.responseTainting === 'cors' || request2.mode === 'websocket') { + request2.headersList.append('origin', serializedOrigin, true); + } else if (request2.method !== 'GET' && request2.method !== 'HEAD') { switch (request2.referrerPolicy) { - case "no-referrer": + case 'no-referrer': serializedOrigin = null; break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": + case 'no-referrer-when-downgrade': + case 'strict-origin': + case 'strict-origin-when-cross-origin': if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) { serializedOrigin = null; } break; - case "same-origin": + case 'same-origin': if (!sameOrigin(request2, requestCurrentURL(request2))) { serializedOrigin = null; } break; default: } - request2.headersList.append("origin", serializedOrigin, true); + request2.headersList.append('origin', serializedOrigin, true); } } function coarsenTime(timestamp, crossOriginIsolatedCapability) { @@ -6327,7 +6556,10 @@ var require_util2 = __commonJS({ domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability), connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability), connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability), - secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability), + secureConnectionStartTime: coarsenTime( + connectionTimingInfo.secureConnectionStartTime, + crossOriginIsolatedCapability + ), ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol }; } @@ -6351,7 +6583,7 @@ var require_util2 = __commonJS({ } function makePolicyContainer() { return { - referrerPolicy: "strict-origin-when-cross-origin" + referrerPolicy: 'strict-origin-when-cross-origin' }; } function clonePolicyContainer(policyContainer) { @@ -6363,10 +6595,10 @@ var require_util2 = __commonJS({ const policy = request2.referrerPolicy; assert(policy); let referrerSource = null; - if (request2.referrer === "client") { + if (request2.referrer === 'client') { const globalOrigin = getGlobalOrigin(); - if (!globalOrigin || globalOrigin.origin === "null") { - return "no-referrer"; + if (!globalOrigin || globalOrigin.origin === 'null') { + return 'no-referrer'; } referrerSource = new URL(globalOrigin); } else if (request2.referrer instanceof URL) { @@ -6378,58 +6610,59 @@ var require_util2 = __commonJS({ referrerURL = referrerOrigin; } const areSameOrigin = sameOrigin(request2, referrerURL); - const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url); + const isNonPotentiallyTrustWorthy = + isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url); switch (policy) { - case "origin": + case 'origin': return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); - case "unsafe-url": + case 'unsafe-url': return referrerURL; - case "same-origin": - return areSameOrigin ? referrerOrigin : "no-referrer"; - case "origin-when-cross-origin": + case 'same-origin': + return areSameOrigin ? referrerOrigin : 'no-referrer'; + case 'origin-when-cross-origin': return areSameOrigin ? referrerURL : referrerOrigin; - case "strict-origin-when-cross-origin": { + case 'strict-origin-when-cross-origin': { const currentURL = requestCurrentURL(request2); if (sameOrigin(referrerURL, currentURL)) { return referrerURL; } if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { - return "no-referrer"; + return 'no-referrer'; } return referrerOrigin; } - case "strict-origin": + case 'strict-origin': // eslint-disable-line /** - * 1. If referrerURL is a potentially trustworthy URL and - * request’s current URL is not a potentially trustworthy URL, - * then return no referrer. - * 2. Return referrerOrigin - */ - case "no-referrer-when-downgrade": + * 1. If referrerURL is a potentially trustworthy URL and + * request’s current URL is not a potentially trustworthy URL, + * then return no referrer. + * 2. Return referrerOrigin + */ + case 'no-referrer-when-downgrade': // eslint-disable-line /** * 1. If referrerURL is a potentially trustworthy URL and * request’s current URL is not a potentially trustworthy URL, * then return no referrer. * 2. Return referrerOrigin - */ + */ default: - return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; + return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin; } } function stripURLForReferrer(url, originOnly) { assert(url instanceof URL); url = new URL(url); - if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { - return "no-referrer"; + 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; } @@ -6437,19 +6670,24 @@ var require_util2 = __commonJS({ if (!(url instanceof URL)) { return false; } - if (url.href === "about:blank" || url.href === "about:srcdoc") { + if (url.href === 'about:blank' || url.href === 'about:srcdoc') { return true; } - if (url.protocol === "data:") return true; - if (url.protocol === "file:") return true; + 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; + if (origin == null || origin === 'null') return false; const originAsURL = new URL(origin); - if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { + 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")) { + 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; @@ -6460,7 +6698,7 @@ var require_util2 = __commonJS({ return true; } const parsedMetadata = parseMetadata(metadataList); - if (parsedMetadata === "no metadata") { + if (parsedMetadata === 'no metadata') { return true; } if (parsedMetadata.length === 0) { @@ -6471,9 +6709,9 @@ var require_util2 = __commonJS({ for (const item of metadata) { const algorithm = item.algo; const expectedValue = item.hash; - let actualValue = crypto.createHash(algorithm).update(bytes).digest("base64"); - if (actualValue[actualValue.length - 1] === "=") { - if (actualValue[actualValue.length - 2] === "=") { + let actualValue = crypto.createHash(algorithm).update(bytes).digest('base64'); + if (actualValue[actualValue.length - 1] === '=') { + if (actualValue[actualValue.length - 2] === '=') { actualValue = actualValue.slice(0, -2); } else { actualValue = actualValue.slice(0, -1); @@ -6485,11 +6723,12 @@ var require_util2 = __commonJS({ } return false; } - var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; + var parseHashWithOptions = + /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; function parseMetadata(metadata) { const result = []; let empty = true; - for (const token2 of metadata.split(" ")) { + for (const token2 of metadata.split(' ')) { empty = false; const parsedToken = parseHashWithOptions.exec(token2); if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { @@ -6501,24 +6740,24 @@ var require_util2 = __commonJS({ } } if (empty === true) { - return "no metadata"; + return 'no metadata'; } return result; } function getStrongestMetadata(metadataList) { let algorithm = metadataList[0].algo; - if (algorithm[3] === "5") { + if (algorithm[3] === '5') { return algorithm; } for (let i = 1; i < metadataList.length; ++i) { const metadata = metadataList[i]; - if (metadata.algo[3] === "5") { - algorithm = "sha512"; + if (metadata.algo[3] === '5') { + algorithm = 'sha512'; break; - } else if (algorithm[3] === "3") { + } else if (algorithm[3] === '3') { continue; - } else if (metadata.algo[3] === "3") { - algorithm = "sha384"; + } else if (metadata.algo[3] === '3') { + algorithm = 'sha384'; } } return algorithm; @@ -6542,7 +6781,7 @@ var require_util2 = __commonJS({ } for (let i = 0; i < actualValue.length; ++i) { if (actualValue[i] !== expectedValue[i]) { - if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") { + if ((actualValue[i] === '+' && expectedValue[i] === '-') || (actualValue[i] === '/' && expectedValue[i] === '_')) { continue; } return false; @@ -6550,10 +6789,9 @@ var require_util2 = __commonJS({ } return true; } - function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) { - } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {} function sameOrigin(A, B) { - if (A.origin === B.origin && A.origin === "null") { + if (A.origin === B.origin && A.origin === 'null') { return true; } if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) { @@ -6571,10 +6809,10 @@ var require_util2 = __commonJS({ 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 normalizedMethodRecordsBase[method.toLowerCase()] ?? method; @@ -6582,9 +6820,9 @@ var require_util2 = __commonJS({ function serializeJavascriptValueToJSONString(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"); + assert(typeof result === 'string'); return result; } var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); @@ -6607,10 +6845,8 @@ var require_util2 = __commonJS({ this.#index = 0; } next() { - if (typeof this !== "object" || this === null || !(#target in this)) { - throw new TypeError( - `'next' called on an object that does not implement interface ${name} Iterator.` - ); + if (typeof this !== 'object' || this === null || !(#target in this)) { + throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`); } const index = this.#index; const values = this.#target[kInternalIterator]; @@ -6625,13 +6861,13 @@ var require_util2 = __commonJS({ this.#index = index + 1; let result; switch (this.#kind) { - case "key": + case 'key': result = key; break; - case "value": + case 'value': result = value; break; - case "key+value": + case 'key+value': result = [key, value]; break; } @@ -6652,7 +6888,7 @@ var require_util2 = __commonJS({ }, next: { writable: true, enumerable: true, configurable: true } }); - return function(target, kind) { + return function (target, kind) { return new FastIterableIterator(target, kind); }; } @@ -6665,7 +6901,7 @@ var require_util2 = __commonJS({ configurable: true, value: function keys() { webidl.brandCheck(this, object); - return makeIterator(this, "key"); + return makeIterator(this, 'key'); } }, values: { @@ -6674,7 +6910,7 @@ var require_util2 = __commonJS({ configurable: true, value: function values() { webidl.brandCheck(this, object); - return makeIterator(this, "value"); + return makeIterator(this, 'value'); } }, entries: { @@ -6683,7 +6919,7 @@ var require_util2 = __commonJS({ configurable: true, value: function entries() { webidl.brandCheck(this, object); - return makeIterator(this, "key+value"); + return makeIterator(this, 'key+value'); } }, forEach: { @@ -6693,12 +6929,10 @@ var require_util2 = __commonJS({ value: function forEach(callbackfn, thisArg = globalThis) { webidl.brandCheck(this, object); webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`); - if (typeof callbackfn !== "function") { - throw new TypeError( - `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.` - ); + if (typeof callbackfn !== 'function') { + throw new TypeError(`Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`); } - for (const { 0: key, 1: value } of makeIterator(this, "key+value")) { + for (const { 0: key, 1: value } of makeIterator(this, 'key+value')) { callbackfn.call(thisArg, value, key, this); } } @@ -6731,14 +6965,20 @@ var require_util2 = __commonJS({ } } function isReadableStreamLike(stream) { - return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; + return ( + stream instanceof ReadableStream || + (stream[Symbol.toStringTag] === 'ReadableStream' && typeof stream.tee === 'function') + ); } function readableStreamClose(controller) { try { controller.close(); controller.byobRequest?.respond(0); } catch (err) { - if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) { + if ( + !err.message.includes('Controller is already closed') && + !err.message.includes('ReadableStream is already closed') + ) { throw err; } } @@ -6757,51 +6997,52 @@ var require_util2 = __commonJS({ 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; } } function urlIsLocal(url) { - assert("protocol" in url); + assert('protocol' in url); const protocol = url.protocol; - return protocol === "about:" || protocol === "blob:" || protocol === "data:"; + return protocol === 'about:' || protocol === 'blob:' || protocol === 'data:'; } function urlHasHttpsScheme(url) { - return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:"; + return ( + (typeof url === 'string' && + url[5] === ':' && + url[0] === 'h' && + url[1] === 't' && + url[2] === 't' && + url[3] === 'p' && + url[4] === 's') || + url.protocol === 'https:' + ); } function urlIsHttpHttpsScheme(url) { - assert("protocol" in url); + assert('protocol' in url); const protocol = url.protocol; - return protocol === "http:" || protocol === "https:"; + return protocol === 'http:' || protocol === 'https:'; } function simpleRangeHeaderValue(value, allowWhitespace) { const data = value; - if (!data.startsWith("bytes")) { - return "failure"; + if (!data.startsWith('bytes')) { + return 'failure'; } const position = { position: 5 }; if (allowWhitespace) { - collectASequenceOfCodePoints( - (char) => char === " " || char === " ", - data, - position - ); + collectASequenceOfCodePoints(char => char === ' ' || char === ' ', data, position); } if (data.charCodeAt(position.position) !== 61) { - return "failure"; + return 'failure'; } position.position++; if (allowWhitespace) { - collectASequenceOfCodePoints( - (char) => char === " " || char === " ", - data, - position - ); + collectASequenceOfCodePoints(char => char === ' ' || char === ' ', data, position); } const rangeStart = collectASequenceOfCodePoints( - (char) => { + char => { const code = char.charCodeAt(0); return code >= 48 && code <= 57; }, @@ -6810,25 +7051,17 @@ var require_util2 = __commonJS({ ); const rangeStartValue = rangeStart.length ? Number(rangeStart) : null; if (allowWhitespace) { - collectASequenceOfCodePoints( - (char) => char === " " || char === " ", - data, - position - ); + collectASequenceOfCodePoints(char => char === ' ' || char === ' ', data, position); } if (data.charCodeAt(position.position) !== 45) { - return "failure"; + return 'failure'; } position.position++; if (allowWhitespace) { - collectASequenceOfCodePoints( - (char) => char === " " || char === " ", - data, - position - ); + collectASequenceOfCodePoints(char => char === ' ' || char === ' ', data, position); } const rangeEnd = collectASequenceOfCodePoints( - (char) => { + char => { const code = char.charCodeAt(0); return code >= 48 && code <= 57; }, @@ -6837,22 +7070,22 @@ var require_util2 = __commonJS({ ); const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null; if (position.position < data.length) { - return "failure"; + return 'failure'; } if (rangeEndValue === null && rangeStartValue === null) { - return "failure"; + return 'failure'; } if (rangeStartValue > rangeEndValue) { - return "failure"; + return 'failure'; } return { rangeStartValue, rangeEndValue }; } function buildContentRange(rangeStart, rangeEnd, fullLength) { - let contentRange = "bytes "; + let contentRange = 'bytes '; contentRange += isomorphicEncode(`${rangeStart}`); - contentRange += "-"; + contentRange += '-'; contentRange += isomorphicEncode(`${rangeEnd}`); - contentRange += "/"; + contentRange += '/'; contentRange += isomorphicEncode(`${fullLength}`); return contentRange; } @@ -6869,10 +7102,11 @@ var require_util2 = __commonJS({ callback(); return; } - this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions); - this._inflateStream.on("data", this.push.bind(this)); - this._inflateStream.on("end", () => this.push(null)); - this._inflateStream.on("error", (err) => this.destroy(err)); + this._inflateStream = + (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions); + this._inflateStream.on('data', this.push.bind(this)); + this._inflateStream.on('end', () => this.push(null)); + this._inflateStream.on('error', err => this.destroy(err)); } this._inflateStream.write(chunk, encoding, callback); } @@ -6891,28 +7125,28 @@ var require_util2 = __commonJS({ let charset = null; let essence = null; let mimeType = null; - const values = getDecodeSplit("content-type", headers); + const values = getDecodeSplit('content-type', headers); if (values === null) { - return "failure"; + return 'failure'; } for (const value of values) { const temporaryMimeType = parseMIMEType(value); - if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") { + if (temporaryMimeType === 'failure' || temporaryMimeType.essence === '*/*') { continue; } mimeType = temporaryMimeType; if (mimeType.essence !== essence) { charset = null; - if (mimeType.parameters.has("charset")) { - charset = mimeType.parameters.get("charset"); + if (mimeType.parameters.has('charset')) { + charset = mimeType.parameters.get('charset'); } essence = mimeType.essence; - } else if (!mimeType.parameters.has("charset") && charset !== null) { - mimeType.parameters.set("charset", charset); + } else if (!mimeType.parameters.has('charset') && charset !== null) { + mimeType.parameters.set('charset', charset); } } if (mimeType == null) { - return "failure"; + return 'failure'; } return mimeType; } @@ -6920,19 +7154,12 @@ var require_util2 = __commonJS({ const input = value; const position = { position: 0 }; const values = []; - let temporaryValue = ""; + let temporaryValue = ''; while (position.position < input.length) { - temporaryValue += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== ",", - input, - position - ); + temporaryValue += collectASequenceOfCodePoints(char => char !== '"' && char !== ',', input, position); if (position.position < input.length) { if (input.charCodeAt(position.position) === 34) { - temporaryValue += collectAnHTTPQuotedString( - input, - position - ); + temporaryValue += collectAnHTTPQuotedString(input, position); if (position.position < input.length) { continue; } @@ -6941,9 +7168,9 @@ var require_util2 = __commonJS({ position.position++; } } - temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32); + temporaryValue = removeChars(temporaryValue, true, true, char => char === 9 || char === 32); values.push(temporaryValue); - temporaryValue = ""; + temporaryValue = ''; } return values; } @@ -6957,7 +7184,7 @@ var require_util2 = __commonJS({ var textDecoder = new TextDecoder(); function utf8DecodeBytes(buffer) { if (buffer.length === 0) { - return ""; + return ''; } if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { buffer = buffer.subarray(3); @@ -7036,23 +7263,23 @@ var require_util2 = __commonJS({ // node_modules/undici/lib/web/fetch/symbols.js var require_symbols2 = __commonJS({ - "node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/symbols.js'(exports2, module2) { + 'use strict'; module2.exports = { - kUrl: Symbol("url"), - kHeaders: Symbol("headers"), - kSignal: Symbol("signal"), - kState: Symbol("state"), - kDispatcher: Symbol("dispatcher") + kUrl: Symbol('url'), + kHeaders: Symbol('headers'), + kSignal: Symbol('signal'), + kState: Symbol('state'), + kDispatcher: Symbol('dispatcher') }; } }); // node_modules/undici/lib/web/fetch/file.js var require_file = __commonJS({ - "node_modules/undici/lib/web/fetch/file.js"(exports2, module2) { - "use strict"; - var { Blob: Blob2, File } = require("node:buffer"); + 'node_modules/undici/lib/web/fetch/file.js'(exports2, module2) { + 'use strict'; + var { Blob: Blob2, File } = require('node:buffer'); var { kState } = require_symbols2(); var { webidl } = require_webidl(); var FileLike = class _FileLike { @@ -7100,12 +7327,17 @@ var require_file = __commonJS({ return this[kState].lastModified; } get [Symbol.toStringTag]() { - return "File"; + return 'File'; } }; webidl.converters.Blob = webidl.interfaceConverter(Blob2); function isFileLike(object) { - return object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + return ( + object instanceof File || + (object && + (typeof object.stream === 'function' || typeof object.arrayBuffer === 'function') && + object[Symbol.toStringTag] === 'File') + ); } module2.exports = { FileLike, isFileLike }; } @@ -7113,56 +7345,56 @@ var require_file = __commonJS({ // node_modules/undici/lib/web/fetch/formdata.js var require_formdata = __commonJS({ - "node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/formdata.js'(exports2, module2) { + 'use strict'; var { isBlobLike, iteratorMixin } = require_util2(); var { kState } = require_symbols2(); var { kEnumerableProperty } = require_util(); var { FileLike, isFileLike } = require_file(); var { webidl } = require_webidl(); - var { File: NativeFile } = require("node:buffer"); - var nodeUtil = require("node:util"); + var { File: NativeFile } = require('node:buffer'); + var nodeUtil = require('node:util'); var File = globalThis.File ?? NativeFile; var FormData = class _FormData { constructor(form) { webidl.util.markAsUncloneable(this); 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] = []; } append(name, value, filename = void 0) { webidl.brandCheck(this, _FormData); - const prefix = "FormData.append"; + const prefix = 'FormData.append'; webidl.argumentLengthCheck(arguments, 2, prefix); if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); + throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"); } - name = webidl.converters.USVString(name, prefix, "name"); - value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value"); - filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0; + name = webidl.converters.USVString(name, prefix, 'name'); + value = isBlobLike(value) + ? webidl.converters.Blob(value, prefix, 'value', { strict: false }) + : webidl.converters.USVString(value, prefix, 'value'); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, 'filename') : void 0; const entry = makeEntry(name, value, filename); this[kState].push(entry); } delete(name) { webidl.brandCheck(this, _FormData); - const prefix = "FormData.delete"; + const prefix = 'FormData.delete'; webidl.argumentLengthCheck(arguments, 1, prefix); - name = webidl.converters.USVString(name, prefix, "name"); - this[kState] = this[kState].filter((entry) => entry.name !== name); + name = webidl.converters.USVString(name, prefix, 'name'); + this[kState] = this[kState].filter(entry => entry.name !== name); } get(name) { webidl.brandCheck(this, _FormData); - const prefix = "FormData.get"; + const prefix = 'FormData.get'; webidl.argumentLengthCheck(arguments, 1, prefix); - name = webidl.converters.USVString(name, prefix, "name"); - const idx = this[kState].findIndex((entry) => entry.name === name); + name = webidl.converters.USVString(name, prefix, 'name'); + const idx = this[kState].findIndex(entry => entry.name === name); if (idx === -1) { return null; } @@ -7170,62 +7402,65 @@ var require_formdata = __commonJS({ } getAll(name) { webidl.brandCheck(this, _FormData); - const prefix = "FormData.getAll"; + const prefix = 'FormData.getAll'; webidl.argumentLengthCheck(arguments, 1, prefix); - name = webidl.converters.USVString(name, prefix, "name"); - return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); + name = webidl.converters.USVString(name, prefix, 'name'); + return this[kState].filter(entry => entry.name === name).map(entry => entry.value); } has(name) { webidl.brandCheck(this, _FormData); - const prefix = "FormData.has"; + const prefix = 'FormData.has'; webidl.argumentLengthCheck(arguments, 1, prefix); - name = webidl.converters.USVString(name, prefix, "name"); - return this[kState].findIndex((entry) => entry.name === name) !== -1; + name = webidl.converters.USVString(name, prefix, 'name'); + return this[kState].findIndex(entry => entry.name === name) !== -1; } set(name, value, filename = void 0) { webidl.brandCheck(this, _FormData); - const prefix = "FormData.set"; + const prefix = 'FormData.set'; webidl.argumentLengthCheck(arguments, 2, prefix); if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" - ); + throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"); } - name = webidl.converters.USVString(name, prefix, "name"); - value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name"); - filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0; + name = webidl.converters.USVString(name, prefix, 'name'); + value = isBlobLike(value) + ? webidl.converters.Blob(value, prefix, 'name', { strict: false }) + : webidl.converters.USVString(value, prefix, 'name'); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, 'name') : void 0; const entry = makeEntry(name, value, filename); - const idx = this[kState].findIndex((entry2) => entry2.name === name); + 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); } } [nodeUtil.inspect.custom](depth, options) { - const state = this[kState].reduce((a, b) => { - if (a[b.name]) { - if (Array.isArray(a[b.name])) { - a[b.name].push(b.value); + const state = this[kState].reduce( + (a, b) => { + if (a[b.name]) { + if (Array.isArray(a[b.name])) { + a[b.name].push(b.value); + } else { + a[b.name] = [a[b.name], b.value]; + } } else { - a[b.name] = [a[b.name], b.value]; + a[b.name] = b.value; } - } else { - a[b.name] = b.value; - } - return a; - }, { __proto__: null }); + return a; + }, + { __proto__: null } + ); options.depth ??= depth; options.colors ??= true; const output = nodeUtil.formatWithOptions(options, state); - return `FormData ${output.slice(output.indexOf("]") + 2)}`; + return `FormData ${output.slice(output.indexOf(']') + 2)}`; } }; - iteratorMixin("FormData", FormData, kState, "name", "value"); + iteratorMixin('FormData', FormData, kState, 'name', 'value'); Object.defineProperties(FormData.prototype, { append: kEnumerableProperty, delete: kEnumerableProperty, @@ -7234,22 +7469,26 @@ var require_formdata = __commonJS({ has: kEnumerableProperty, set: kEnumerableProperty, [Symbol.toStringTag]: { - value: "FormData", + value: 'FormData', configurable: true } }); function makeEntry(name, value, filename) { - if (typeof value === "string") { + if (typeof value === 'string') { } else { if (!isFileLike(value)) { - value = value instanceof Blob ? new File([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + value = + value instanceof Blob + ? 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 = value instanceof NativeFile ? new File([value], filename, options) : new FileLike(value, filename, options); + value = + value instanceof NativeFile ? new File([value], filename, options) : new FileLike(value, filename, options); } } return { name, value }; @@ -7260,20 +7499,20 @@ var require_formdata = __commonJS({ // node_modules/undici/lib/web/fetch/formdata-parser.js var require_formdata_parser = __commonJS({ - "node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/formdata-parser.js'(exports2, module2) { + 'use strict'; var { isUSVString, bufferToLowerCasedHeaderName } = require_util(); var { utf8DecodeBytes } = require_util2(); var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url(); var { isFileLike } = require_file(); var { makeEntry } = require_formdata(); - var assert = require("node:assert"); - var { File: NodeFile } = require("node:buffer"); + var assert = require('node:assert'); + var { File: NodeFile } = require('node:buffer'); var File = globalThis.File ?? NodeFile; var formDataNameBuffer = Buffer.from('form-data; name="'); - var filenameBuffer = Buffer.from("; filename"); - var dd = Buffer.from("--"); - var ddcrlf = Buffer.from("--\r\n"); + var filenameBuffer = Buffer.from('; filename'); + var dd = Buffer.from('--'); + var ddcrlf = Buffer.from('--\r\n'); function isAsciiString(chars) { for (let i = 0; i < chars.length; ++i) { if ((chars.charCodeAt(i) & ~127) !== 0) { @@ -7289,19 +7528,28 @@ var require_formdata_parser = __commonJS({ } for (let i = 0; i < length; ++i) { const cp = boundary.charCodeAt(i); - if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) { + if ( + !( + (cp >= 48 && cp <= 57) || + (cp >= 65 && cp <= 90) || + (cp >= 97 && cp <= 122) || + cp === 39 || + cp === 45 || + cp === 95 + ) + ) { return false; } } return true; } function multipartFormDataParser(input, mimeType) { - assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data"); - const boundaryString = mimeType.parameters.get("boundary"); + assert(mimeType !== 'failure' && mimeType.essence === 'multipart/form-data'); + const boundaryString = mimeType.parameters.get('boundary'); if (boundaryString === void 0) { - return "failure"; + return 'failure'; } - const boundary = Buffer.from(`--${boundaryString}`, "utf8"); + const boundary = Buffer.from(`--${boundaryString}`, 'utf8'); const entryList = []; const position = { position: 0 }; while (input[position.position] === 13 && input[position.position + 1] === 10) { @@ -7318,18 +7566,21 @@ var require_formdata_parser = __commonJS({ if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) { position.position += boundary.length; } else { - return "failure"; + return 'failure'; } - if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) { + if ( + (position.position === input.length - 2 && bufferStartsWith(input, dd, position)) || + (position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) + ) { return entryList; } if (input[position.position] !== 13 || input[position.position + 1] !== 10) { - return "failure"; + return 'failure'; } position.position += 2; const result = parseMultipartFormDataHeaders(input, position); - if (result === "failure") { - return "failure"; + if (result === 'failure') { + return 'failure'; } let { name, filename, contentType, encoding } = result; position.position += 2; @@ -7337,31 +7588,31 @@ var require_formdata_parser = __commonJS({ { const boundaryIndex = input.indexOf(boundary.subarray(2), position.position); if (boundaryIndex === -1) { - return "failure"; + return 'failure'; } body = input.subarray(position.position, boundaryIndex - 4); position.position += body.length; - if (encoding === "base64") { - body = Buffer.from(body.toString(), "base64"); + if (encoding === 'base64') { + body = Buffer.from(body.toString(), 'base64'); } } if (input[position.position] !== 13 || input[position.position + 1] !== 10) { - return "failure"; + return 'failure'; } else { position.position += 2; } let value; if (filename !== null) { - contentType ??= "text/plain"; + contentType ??= 'text/plain'; if (!isAsciiString(contentType)) { - contentType = ""; + contentType = ''; } value = new File([body], filename, { type: contentType }); } else { value = utf8DecodeBytes(Buffer.from(body)); } assert(isUSVString(name)); - assert(typeof value === "string" && isUSVString(value) || isFileLike(value)); + assert((typeof value === 'string' && isUSVString(value)) || isFileLike(value)); entryList.push(makeEntry(name, value, filename)); } } @@ -7373,38 +7624,30 @@ var require_formdata_parser = __commonJS({ while (true) { if (input[position.position] === 13 && input[position.position + 1] === 10) { if (name === null) { - return "failure"; + return 'failure'; } return { name, filename, contentType, encoding }; } - let headerName = collectASequenceOfBytes( - (char) => char !== 10 && char !== 13 && char !== 58, - input, - position - ); - headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32); + let headerName = collectASequenceOfBytes(char => char !== 10 && char !== 13 && char !== 58, input, position); + headerName = removeChars(headerName, true, true, char => char === 9 || char === 32); if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) { - return "failure"; + return 'failure'; } if (input[position.position] !== 58) { - return "failure"; + return 'failure'; } position.position++; - collectASequenceOfBytes( - (char) => char === 32 || char === 9, - input, - position - ); + collectASequenceOfBytes(char => char === 32 || char === 9, input, position); switch (bufferToLowerCasedHeaderName(headerName)) { - case "content-disposition": { + case 'content-disposition': { name = filename = null; if (!bufferStartsWith(input, formDataNameBuffer, position)) { - return "failure"; + return 'failure'; } position.position += 17; name = parseMultipartFormDataName(input, position); if (name === null) { - return "failure"; + return 'failure'; } if (bufferStartsWith(input, filenameBuffer, position)) { let check = position.position + filenameBuffer.length; @@ -7413,46 +7656,34 @@ var require_formdata_parser = __commonJS({ check += 1; } if (input[check] !== 61 || input[check + 1] !== 34) { - return "failure"; + return 'failure'; } position.position += 12; filename = parseMultipartFormDataName(input, position); if (filename === null) { - return "failure"; + return 'failure'; } } break; } - case "content-type": { - let headerValue = collectASequenceOfBytes( - (char) => char !== 10 && char !== 13, - input, - position - ); - headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + case 'content-type': { + let headerValue = collectASequenceOfBytes(char => char !== 10 && char !== 13, input, position); + headerValue = removeChars(headerValue, false, true, char => char === 9 || char === 32); contentType = isomorphicDecode(headerValue); break; } - case "content-transfer-encoding": { - let headerValue = collectASequenceOfBytes( - (char) => char !== 10 && char !== 13, - input, - position - ); - headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + case 'content-transfer-encoding': { + let headerValue = collectASequenceOfBytes(char => char !== 10 && char !== 13, input, position); + headerValue = removeChars(headerValue, false, true, char => char === 9 || char === 32); encoding = isomorphicDecode(headerValue); break; } default: { - collectASequenceOfBytes( - (char) => char !== 10 && char !== 13, - input, - position - ); + collectASequenceOfBytes(char => char !== 10 && char !== 13, input, position); } } if (input[position.position] !== 13 && input[position.position + 1] !== 10) { - return "failure"; + return 'failure'; } else { position.position += 2; } @@ -7460,17 +7691,13 @@ var require_formdata_parser = __commonJS({ } function parseMultipartFormDataName(input, position) { assert(input[position.position - 1] === 34); - let name = collectASequenceOfBytes( - (char) => char !== 10 && char !== 13 && char !== 34, - input, - position - ); + let name = collectASequenceOfBytes(char => char !== 10 && char !== 13 && char !== 34, input, position); if (input[position.position] !== 34) { return null; } else { position.position++; } - name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"'); + name = new TextDecoder().decode(name).replace(/%0A/gi, '\n').replace(/%0D/gi, '\r').replace(/%22/g, '"'); return name; } function collectASequenceOfBytes(condition, input, position) { @@ -7478,7 +7705,7 @@ var require_formdata_parser = __commonJS({ while (start < input.length && condition(input[start])) { ++start; } - return input.subarray(position.position, position.position = start); + return input.subarray(position.position, (position.position = start)); } function removeChars(buf, leading, trailing, predicate) { let lead = 0; @@ -7511,8 +7738,8 @@ var require_formdata_parser = __commonJS({ // node_modules/undici/lib/web/fetch/body.js var require_body = __commonJS({ - "node_modules/undici/lib/web/fetch/body.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/body.js'(exports2, module2) { + 'use strict'; var util = require_util(); var { ReadableStreamFrom, @@ -7527,29 +7754,28 @@ var require_body = __commonJS({ var { FormData } = require_formdata(); var { kState } = require_symbols2(); var { webidl } = require_webidl(); - var { Blob: Blob2 } = require("node:buffer"); - var assert = require("node:assert"); - var { isErrored, isDisturbed } = require("node:stream"); - var { isArrayBuffer } = require("node:util/types"); + var { Blob: Blob2 } = require('node:buffer'); + var assert = require('node:assert'); + var { isErrored, isDisturbed } = require('node:stream'); + var { isArrayBuffer } = require('node:util/types'); var { serializeAMimeType } = require_data_url(); var { multipartFormDataParser } = require_formdata_parser(); var random; try { - const crypto = require("node:crypto"); - random = (max) => crypto.randomInt(0, max); + const crypto = require('node:crypto'); + random = max => crypto.randomInt(0, max); } catch { - random = (max) => Math.floor(Math.random(max)); + random = max => Math.floor(Math.random(max)); } var textEncoder = new TextEncoder(); - function noop3() { - } - var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0; + function noop3() {} + var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf('v18') !== 0; var streamRegistry; if (hasFinalizationRegistry) { - streamRegistry = new FinalizationRegistry((weakRef) => { + streamRegistry = new FinalizationRegistry(weakRef => { const stream = weakRef.deref(); if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) { - stream.cancel("Response object has been garbage collected").catch(noop3); + stream.cancel('Response object has been garbage collected').catch(noop3); } }); } @@ -7562,15 +7788,14 @@ var require_body = __commonJS({ } else { stream = new ReadableStream({ async pull(controller) { - const buffer = typeof source === "string" ? textEncoder.encode(source) : source; + const buffer = typeof source === 'string' ? textEncoder.encode(source) : source; if (buffer.byteLength) { controller.enqueue(buffer); } queueMicrotask(() => readableStreamClose(controller)); }, - start() { - }, - type: "bytes" + start() {}, + type: 'bytes' }); } assert(isReadableStreamLike(stream)); @@ -7578,41 +7803,48 @@ var require_body = __commonJS({ let source = null; let length = null; let type = null; - if (typeof object === "string") { + if (typeof object === 'string') { source = object; - type = "text/plain;charset=UTF-8"; + type = 'text/plain;charset=UTF-8'; } else if (object instanceof URLSearchParams) { source = object.toString(); - type = "application/x-www-form-urlencoded;charset=UTF-8"; + type = 'application/x-www-form-urlencoded;charset=UTF-8'; } else if (isArrayBuffer(object)) { source = new Uint8Array(object.slice()); } else if (ArrayBuffer.isView(object)) { source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); } else if (util.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; + const boundary = `----formdata-undici-0${`${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 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; } 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") { + if (typeof value.size === 'number') { length += chunk2.byteLength + value.size + rn.byteLength; } else { hasUnknownSizeValue = true; @@ -7643,18 +7875,16 @@ Content-Type: ${value.type || "application/octet-stream"}\r if (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" - ); + throw new TypeError('Response body object should not be disturbed or locked'); } stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); } - if (typeof source === "string" || util.isBuffer(source)) { + if (typeof source === 'string' || util.isBuffer(source)) { length = Buffer.byteLength(source); } if (action != null) { @@ -7683,7 +7913,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r async cancel(reason) { await iterator2.return(); }, - type: "bytes" + type: 'bytes' }); } const body = { stream, source, length }; @@ -7691,8 +7921,8 @@ Content-Type: ${value.type || "application/octet-stream"}\r } function safelyExtractBody(object, keepalive = false) { 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); } @@ -7707,26 +7937,34 @@ Content-Type: ${value.type || "application/octet-stream"}\r } function throwIfAborted(state) { if (state.aborted) { - throw new DOMException("The operation was aborted.", "AbortError"); + throw new DOMException('The operation was aborted.', 'AbortError'); } } function bodyMixinMethods(instance) { const methods = { blob() { - return consumeBody(this, (bytes) => { - let mimeType = bodyMimeType(this); - if (mimeType === null) { - mimeType = ""; - } else if (mimeType) { - mimeType = serializeAMimeType(mimeType); - } - return new Blob2([bytes], { type: mimeType }); - }, instance); + return consumeBody( + this, + bytes => { + let mimeType = bodyMimeType(this); + if (mimeType === null) { + mimeType = ''; + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType); + } + return new Blob2([bytes], { type: mimeType }); + }, + instance + ); }, arrayBuffer() { - return consumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); + return consumeBody( + this, + bytes => { + return new Uint8Array(bytes).buffer; + }, + instance + ); }, text() { return consumeBody(this, utf8DecodeBytes, instance); @@ -7735,38 +7973,46 @@ Content-Type: ${value.type || "application/octet-stream"}\r return consumeBody(this, parseJSONFromBytes, instance); }, formData() { - return consumeBody(this, (value) => { - const mimeType = bodyMimeType(this); - if (mimeType !== null) { - switch (mimeType.essence) { - case "multipart/form-data": { - const parsed = multipartFormDataParser(value, mimeType); - if (parsed === "failure") { - throw new TypeError("Failed to parse body as FormData."); + return consumeBody( + this, + value => { + const mimeType = bodyMimeType(this); + if (mimeType !== null) { + switch (mimeType.essence) { + case 'multipart/form-data': { + const parsed = multipartFormDataParser(value, mimeType); + if (parsed === 'failure') { + throw new TypeError('Failed to parse body as FormData.'); + } + const fd = new FormData(); + fd[kState] = parsed; + return fd; } - const fd = new FormData(); - fd[kState] = parsed; - return fd; - } - case "application/x-www-form-urlencoded": { - const entries = new URLSearchParams(value.toString()); - const fd = new FormData(); - for (const [name, value2] of entries) { - fd.append(name, value2); + case 'application/x-www-form-urlencoded': { + const entries = new URLSearchParams(value.toString()); + const fd = new FormData(); + for (const [name, value2] of entries) { + fd.append(name, value2); + } + return fd; } - return fd; } } - } - throw new TypeError( - 'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".' - ); - }, instance); + throw new TypeError( + 'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".' + ); + }, + instance + ); }, bytes() { - return consumeBody(this, (bytes) => { - return new Uint8Array(bytes); - }, instance); + return consumeBody( + this, + bytes => { + return new Uint8Array(bytes); + }, + instance + ); } }; return methods; @@ -7777,12 +8023,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r async function consumeBody(object, convertBytesToJSValue, instance) { webidl.brandCheck(object, instance); if (bodyUnusable(object)) { - throw new TypeError("Body is unusable: Body has already been read"); + throw new TypeError('Body is unusable: Body has already been read'); } throwIfAborted(object[kState]); const promise = createDeferredPromise(); - const errorSteps = (error) => promise.reject(error); - const successSteps = (data) => { + const errorSteps = error => promise.reject(error); + const successSteps = data => { try { promise.resolve(convertBytesToJSValue(data)); } catch (e) { @@ -7806,7 +8052,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r function bodyMimeType(requestOrResponse) { const headers = requestOrResponse[kState].headersList; const mimeType = extractMimeType(headers); - if (mimeType === "failure") { + if (mimeType === 'failure') { return null; } return mimeType; @@ -7825,9 +8071,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r // node_modules/undici/lib/dispatcher/client-h1.js var require_client_h1 = __commonJS({ - "node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); + 'node_modules/undici/lib/dispatcher/client-h1.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); var util = require_util(); var { channels } = require_diagnostics(); var timers = require_timers(); @@ -7901,7 +8147,7 @@ var require_client_h1 = __commonJS({ const start = at - currentBufferPtr + currentBufferRef.byteOffset; return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; }, - wasm_on_message_begin: (p) => { + wasm_on_message_begin: p => { assert(currentParser.ptr === p); return currentParser.onMessageBegin() || 0; }, @@ -7924,7 +8170,7 @@ var require_client_h1 = __commonJS({ const start = at - currentBufferPtr + currentBufferRef.byteOffset; return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; }, - wasm_on_message_complete: (p) => { + wasm_on_message_complete: p => { assert(currentParser.ptr === p); return currentParser.onMessageComplete() || 0; } @@ -7955,7 +8201,7 @@ var require_client_h1 = __commonJS({ this.timeoutValue = null; this.timeoutType = null; this.statusCode = null; - this.statusText = ""; + this.statusText = ''; this.upgrade = false; this.headers = []; this.headersSize = 0; @@ -7964,13 +8210,13 @@ var require_client_h1 = __commonJS({ this.paused = false; this.resume = this.resume.bind(this); this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; + this.keepAlive = ''; + this.contentLength = ''; + this.connection = ''; this.maxResponseSize = client[kMaxResponseSize]; } setTimeout(delay, type) { - if (delay !== this.timeoutValue || type & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) { + if (delay !== this.timeoutValue || (type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)) { if (this.timeout) { timers.clearTimeout(this.timeout); this.timeout = null; @@ -8050,10 +8296,13 @@ var require_client_h1 = __commonJS({ socket.unshift(data.slice(offset)); } else if (ret !== constants.ERROR.OK) { const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; + 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() + ")"; + 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)); } @@ -8106,12 +8355,12 @@ var require_client_h1 = __commonJS({ const key = this.headers[len - 2]; if (key.length === 10) { const headerName = util.bufferToLowerCasedHeaderName(key); - if (headerName === "keep-alive") { + if (headerName === 'keep-alive') { this.keepAlive += buf.toString(); - } else if (headerName === "connection") { + } else if (headerName === 'connection') { this.connection += buf.toString(); } - } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") { + } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === 'content-length') { this.contentLength += buf.toString(); } this.trackHeader(buf.length); @@ -8131,9 +8380,9 @@ var require_client_h1 = __commonJS({ assert((headers.length & 1) === 0); const request2 = client[kQueue][client[kRunningIdx]]; assert(request2); - assert(request2.upgrade || request2.method === "CONNECT"); + assert(request2.upgrade || request2.method === 'CONNECT'); this.statusCode = null; - this.statusText = ""; + this.statusText = ''; this.shouldKeepAlive = null; this.headers = []; this.headersSize = 0; @@ -8146,7 +8395,7 @@ var require_client_h1 = __commonJS({ client[kSocket] = null; client[kHTTPContext] = null; client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); + client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade')); try { request2.onUpgrade(statusCode, headers, socket); } catch (err) { @@ -8166,17 +8415,18 @@ var require_client_h1 = __commonJS({ assert(!this.upgrade); assert(this.statusCode < 200); if (statusCode === 100) { - util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket))); return -1; } if (upgrade && !request2.upgrade) { - util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); + util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket))); return -1; } assert(this.timeoutType === TIMEOUT_HEADERS); this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. - request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + this.shouldKeepAlive = + shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. + (request2.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive'); if (this.statusCode >= 200) { const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout]; this.setTimeout(bodyTimeout, TIMEOUT_BODY); @@ -8185,7 +8435,7 @@ var require_client_h1 = __commonJS({ this.timeout.refresh(); } } - if (request2.method === "CONNECT") { + if (request2.method === 'CONNECT') { assert(client[kRunning] === 1); this.upgrade = true; return 2; @@ -8201,10 +8451,7 @@ var require_client_h1 = __commonJS({ if (this.shouldKeepAlive && client[kPipelining]) { const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; if (keepAliveTimeout != null) { - const timeout = Math.min( - keepAliveTimeout - client[kKeepAliveTimeoutThreshold], - client[kKeepAliveMaxTimeout] - ); + const timeout = Math.min(keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout]); if (timeout <= 0) { socket[kReset] = true; } else { @@ -8220,7 +8467,7 @@ var require_client_h1 = __commonJS({ if (request2.aborted) { return -1; } - if (request2.method === "HEAD") { + if (request2.method === 'HEAD') { return 1; } if (statusCode < 200) { @@ -8268,17 +8515,17 @@ var require_client_h1 = __commonJS({ const request2 = client[kQueue][client[kRunningIdx]]; assert(request2); this.statusCode = null; - this.statusText = ""; + this.statusText = ''; this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; + this.contentLength = ''; + this.keepAlive = ''; + this.connection = ''; this.headers = []; this.headersSize = 0; if (statusCode < 200) { return; } - if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { + if (request2.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) { util.destroy(socket, new ResponseContentLengthMismatchError()); return -1; } @@ -8286,13 +8533,13 @@ var require_client_h1 = __commonJS({ client[kQueue][client[kRunningIdx]++] = null; if (socket[kWriting]) { assert(client[kRunning] === 0); - util.destroy(socket, new InformationalError("reset")); + util.destroy(socket, new InformationalError('reset')); return constants.ERROR.PAUSED; } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); + util.destroy(socket, new InformationalError('reset')); return constants.ERROR.PAUSED; } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); + util.destroy(socket, new InformationalError('reset')); return constants.ERROR.PAUSED; } else if (client[kPipelining] == null || client[kPipelining] === 1) { setImmediate(() => client[kResume]()); @@ -8305,7 +8552,7 @@ var require_client_h1 = __commonJS({ const { socket, timeoutType, client, paused } = parser.deref(); if (timeoutType === TIMEOUT_HEADERS) { if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!paused, "cannot be paused while waiting for headers"); + assert(!paused, 'cannot be paused while waiting for headers'); util.destroy(socket, new HeadersTimeoutError()); } } else if (timeoutType === TIMEOUT_BODY) { @@ -8314,7 +8561,7 @@ var require_client_h1 = __commonJS({ } } else if (timeoutType === TIMEOUT_KEEP_ALIVE) { assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); + util.destroy(socket, new InformationalError('socket idle timeout')); } } async function connectH1(client, socket) { @@ -8328,31 +8575,31 @@ var require_client_h1 = __commonJS({ socket[kReset] = false; socket[kBlocking] = false; socket[kParser] = new Parser(client, socket, llhttpInstance); - addListener(socket, "error", function(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + addListener(socket, 'error', function (err) { + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID'); const parser = this[kParser]; - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { + if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) { parser.onMessageComplete(); return; } this[kError] = err; this[kClient][kOnError](err); }); - addListener(socket, "readable", function() { + addListener(socket, 'readable', function () { const parser = this[kParser]; if (parser) { parser.readMore(); } }); - addListener(socket, "end", function() { + addListener(socket, 'end', function () { const parser = this[kParser]; if (parser.statusCode && !parser.shouldKeepAlive) { 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))); }); - addListener(socket, "close", function() { + addListener(socket, 'close', function () { const client2 = this[kClient]; const parser = this[kParser]; if (parser) { @@ -8362,7 +8609,7 @@ var require_client_h1 = __commonJS({ this[kParser].destroy(); this[kParser] = null; } - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + const err = this[kError] || new SocketError('closed', util.getSocketInfo(this)); client2[kSocket] = null; client2[kHTTPContext] = null; if (client2.destroyed) { @@ -8372,22 +8619,22 @@ var require_client_h1 = __commonJS({ const request2 = requests[i]; util.errorRequest(client2, request2, err); } - } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") { + } else if (client2[kRunning] > 0 && err.code !== 'UND_ERR_INFO') { const request2 = client2[kQueue][client2[kRunningIdx]]; client2[kQueue][client2[kRunningIdx]++] = null; util.errorRequest(client2, request2, err); } client2[kPendingIdx] = client2[kRunningIdx]; assert(client2[kRunning] === 0); - client2.emit("disconnect", client2[kUrl], [client2], err); + client2.emit('disconnect', client2[kUrl], [client2], err); client2[kResume](); }); let closed = false; - socket.on("close", () => { + socket.on('close', () => { closed = true; }); return { - version: "h1", + version: 'h1', defaultPipelining: 1, write(...args) { return writeH1(client, ...args); @@ -8399,7 +8646,7 @@ var require_client_h1 = __commonJS({ if (closed) { queueMicrotask(callback); } else { - socket.destroy(err).on("close", callback); + socket.destroy(err).on('close', callback); } }, get destroyed() { @@ -8413,10 +8660,14 @@ var require_client_h1 = __commonJS({ if (client[kRunning] > 0 && !request2.idempotent) { return true; } - if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) { + if (client[kRunning] > 0 && (request2.upgrade || request2.method === 'CONNECT')) { return true; } - if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) { + if ( + client[kRunning] > 0 && + util.bodyLength(request2.body) !== 0 && + (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body)) + ) { return true; } } @@ -8450,26 +8701,32 @@ var require_client_h1 = __commonJS({ } } 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 writeH1(client, request2) { const { method, path, host, upgrade, blocking, reset } = request2; let { body, headers, contentLength } = request2; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH"; + const expectsPayload = + method === 'PUT' || + method === 'POST' || + method === 'PATCH' || + method === 'QUERY' || + method === 'PROPFIND' || + method === 'PROPPATCH'; if (util.isFormDataLike(body)) { if (!extractBody) { extractBody = require_body().extractBody; } const [bodyStream, contentType] = extractBody(body); if (request2.contentType == null) { - headers.push("content-type", contentType); + headers.push('content-type', contentType); } body = bodyStream.stream; contentLength = bodyStream.length; } else if (util.isBlobLike(body) && request2.contentType == null && body.type) { - headers.push("content-type", body.type); + headers.push('content-type', body.type); } - if (body && typeof body.read === "function") { + if (body && typeof body.read === 'function') { body.read(0); } const bodyLength = util.bodyLength(body); @@ -8480,7 +8737,12 @@ var require_client_h1 = __commonJS({ if (contentLength === 0 && !expectsPayload) { contentLength = null; } - if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) { + if ( + shouldSendContentLength(method) && + contentLength > 0 && + request2.contentLength !== null && + request2.contentLength !== contentLength + ) { if (client[kStrictContentLength]) { util.errorRequest(client, request2, new RequestContentLengthMismatchError()); return false; @@ -8488,13 +8750,13 @@ var require_client_h1 = __commonJS({ process.emitWarning(new RequestContentLengthMismatchError()); } const socket = client[kSocket]; - const abort = (err) => { + const abort = err => { if (request2.aborted || request2.completed) { return; } util.errorRequest(client, request2, err || new RequestAbortedError()); util.destroy(body); - util.destroy(socket, new InformationalError("aborted")); + util.destroy(socket, new InformationalError('aborted')); }; try { request2.onConnect(abort); @@ -8504,10 +8766,10 @@ var require_client_h1 = __commonJS({ if (request2.aborted) { return false; } - if (method === "HEAD") { + if (method === 'HEAD') { socket[kReset] = true; } - if (upgrade || method === "CONNECT") { + if (upgrade || method === 'CONNECT') { socket[kReset] = true; } if (reset != null) { @@ -8521,7 +8783,7 @@ var require_client_h1 = __commonJS({ } let header = `${method} ${path} HTTP/1.1\r `; - if (typeof host === "string") { + if (typeof host === 'string') { header += `host: ${host}\r `; } else { @@ -8532,9 +8794,9 @@ var require_client_h1 = __commonJS({ 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 (Array.isArray(headers)) { for (let n = 0; n < headers.length; n += 2) { @@ -8559,7 +8821,7 @@ upgrade: ${upgrade}\r } else if (util.isBuffer(body)) { writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload); } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { + if (typeof body.stream === 'function') { writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload); } else { writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload); @@ -8574,10 +8836,10 @@ upgrade: ${upgrade}\r return true; } function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined'); let finished = false; const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { + const onData = function (chunk) { if (finished) { return; } @@ -8589,7 +8851,7 @@ upgrade: ${upgrade}\r util.destroy(this, err); } }; - const onDrain = function() { + const onDrain = function () { if (finished) { return; } @@ -8597,23 +8859,23 @@ upgrade: ${upgrade}\r body.resume(); } }; - const onClose = function() { + const onClose = function () { queueMicrotask(() => { - body.removeListener("error", onFinished); + body.removeListener('error', onFinished); }); if (!finished) { const err = new RequestAbortedError(); queueMicrotask(() => onFinished(err)); } }; - const onFinished = function(err) { + 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("close", onClose); + assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1)); + socket.off('drain', onDrain).off('error', onFinished); + body.removeListener('data', onData).removeListener('end', onFinished).removeListener('close', onClose); if (!err) { try { writer.end(); @@ -8622,17 +8884,17 @@ upgrade: ${upgrade}\r } } writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { + if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) { util.destroy(body, err); } else { util.destroy(body); } }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose); + body.on('data', onData).on('end', onFinished).on('error', onFinished).on('close', onClose); if (body.resume) { body.resume(); } - socket.on("drain", onDrain).on("error", onFinished); + socket.on('drain', onDrain).on('error', onFinished); if (body.errorEmitted ?? body.errored) { setImmediate(() => onFinished(body.errored)); } else if (body.endEmitted ?? body.readableEnded) { @@ -8646,20 +8908,29 @@ upgrade: ${upgrade}\r try { 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' + ); } } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); + assert(contentLength === body.byteLength, 'buffer body must have content length'); socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); +`, + 'latin1' + ); socket.write(body); socket.uncork(); request2.onBodySent(body); @@ -8674,16 +8945,19 @@ upgrade: ${upgrade}\r } } async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) { - assert(contentLength === body.size, "blob body must have content length"); + assert(contentLength === body.size, 'blob body must have content length'); try { if (contentLength != null && contentLength !== body.size) { throw new RequestContentLengthMismatchError(); } const buffer = Buffer.from(await body.arrayBuffer()); socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r + socket.write( + `${header}content-length: ${contentLength}\r \r -`, "latin1"); +`, + 'latin1' + ); socket.write(buffer); socket.uncork(); request2.onBodySent(buffer); @@ -8697,7 +8971,7 @@ upgrade: ${upgrade}\r } } async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined'); let callback = null; function onDrain() { if (callback) { @@ -8706,15 +8980,16 @@ upgrade: ${upgrade}\r cb(); } } - const waitForDrain = () => new Promise((resolve, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve; - } - }); - socket.on("close", onDrain).on("drain", onDrain); + const waitForDrain = () => + new Promise((resolve, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + socket.on('close', onDrain).on('drain', onDrain); const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); try { for await (const chunk of body) { @@ -8729,7 +9004,7 @@ upgrade: ${upgrade}\r } catch (err) { writer.destroy(err); } finally { - socket.off("close", onDrain).off("drain", onDrain); + socket.off('close', onDrain).off('drain', onDrain); } } var AsyncWriter = class { @@ -8768,18 +9043,27 @@ upgrade: ${upgrade}\r 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); @@ -8806,15 +9090,21 @@ ${len.toString(16)}\r } 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]) { @@ -8834,7 +9124,7 @@ ${len.toString(16)}\r const { socket, client, abort } = this; socket[kWriting] = false; if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); + assert(client[kRunning] <= 1, 'pipeline should only contain this request'); abort(err); } } @@ -8845,17 +9135,12 @@ ${len.toString(16)}\r // node_modules/undici/lib/dispatcher/client-h2.js var require_client_h2 = __commonJS({ - "node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); - var { pipeline } = require("node:stream"); + 'node_modules/undici/lib/dispatcher/client-h2.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); + var { pipeline } = require('node:stream'); var util = require_util(); - var { - RequestContentLengthMismatchError, - RequestAbortedError, - SocketError, - InformationalError - } = require_errors(); + var { RequestContentLengthMismatchError, RequestAbortedError, SocketError, InformationalError } = require_errors(); var { kUrl, kReset, @@ -8875,12 +9160,12 @@ var require_client_h2 = __commonJS({ kSize, kHTTPContext } = require_symbols(); - var kOpenStreams = Symbol("open streams"); + var kOpenStreams = Symbol('open streams'); var extractBody; var h2ExperimentalWarned = false; var http2; try { - http2 = require("node:http2"); + http2 = require('node:http2'); } catch { http2 = { constants: {} }; } @@ -8912,8 +9197,8 @@ var require_client_h2 = __commonJS({ client[kSocket] = socket; if (!h2ExperimentalWarned) { h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" + process.emitWarning('H2 support is experimental, expect them to change at any time.', { + code: 'UNDICI-H2' }); } const session = http2.connect(client[kUrl], { @@ -8923,14 +9208,14 @@ var require_client_h2 = __commonJS({ session[kOpenStreams] = 0; session[kClient] = client; session[kSocket] = socket; - util.addListener(session, "error", onHttp2SessionError); - util.addListener(session, "frameError", onHttp2FrameError); - util.addListener(session, "end", onHttp2SessionEnd); - util.addListener(session, "goaway", onHTTP2GoAway); - util.addListener(session, "close", function() { + util.addListener(session, 'error', onHttp2SessionError); + util.addListener(session, 'frameError', onHttp2FrameError); + util.addListener(session, 'end', onHttp2SessionEnd); + util.addListener(session, 'goaway', onHTTP2GoAway); + util.addListener(session, 'close', function () { const { [kClient]: client2 } = this; const { [kSocket]: socket2 } = client2; - const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2)); + const err = this[kSocket][kError] || this[kError] || new SocketError('closed', util.getSocketInfo(socket2)); client2[kHTTP2Session] = null; if (client2.destroyed) { assert(client2[kPending] === 0); @@ -8944,31 +9229,31 @@ var require_client_h2 = __commonJS({ session.unref(); client[kHTTP2Session] = session; socket[kHTTP2Session] = session; - util.addListener(socket, "error", function(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + util.addListener(socket, 'error', function (err) { + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID'); this[kError] = err; this[kClient][kOnError](err); }); - util.addListener(socket, "end", function() { - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + util.addListener(socket, 'end', function () { + util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this))); }); - util.addListener(socket, "close", function() { - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + util.addListener(socket, 'close', function () { + const err = this[kError] || new SocketError('closed', util.getSocketInfo(this)); client[kSocket] = null; if (this[kHTTP2Session] != null) { this[kHTTP2Session].destroy(err); } client[kPendingIdx] = client[kRunningIdx]; assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); + client.emit('disconnect', client[kUrl], [client], err); client[kResume](); }); let closed = false; - socket.on("close", () => { + socket.on('close', () => { closed = true; }); return { - version: "h2", + version: 'h2', defaultPipelining: Infinity, write(...args) { return writeH2(client, ...args); @@ -8980,7 +9265,7 @@ var require_client_h2 = __commonJS({ if (closed) { queueMicrotask(callback); } else { - socket.destroy(err).on("close", callback); + socket.destroy(err).on('close', callback); } }, get destroyed() { @@ -9004,7 +9289,7 @@ var require_client_h2 = __commonJS({ } } function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID'); this[kSocket][kError] = err; this[kClient][kOnError](err); } @@ -9016,12 +9301,13 @@ var require_client_h2 = __commonJS({ } } function onHttp2SessionEnd() { - const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket])); + const err = new SocketError('other side closed', util.getSocketInfo(this[kSocket])); this.destroy(err); util.destroy(this[kSocket], err); } function onHTTP2GoAway(code) { - const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this)); + const err = + this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this)); const client = this[kClient]; client[kSocket] = null; client[kHTTPContext] = null; @@ -9037,18 +9323,18 @@ var require_client_h2 = __commonJS({ client[kPendingIdx] = client[kRunningIdx]; } assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); + client.emit('disconnect', client[kUrl], [client], err); client[kResume](); } 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 writeH2(client, request2) { const session = client[kHTTP2Session]; const { method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; let { body } = request2; if (upgrade) { - util.errorRequest(client, request2, new Error("Upgrade not supported for H2")); + util.errorRequest(client, request2, new Error('Upgrade not supported for H2')); return false; } const headers = {}; @@ -9069,9 +9355,9 @@ var require_client_h2 = __commonJS({ } let stream; const { hostname, port } = client[kUrl]; - headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`; + headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ''}`; headers[HTTP2_HEADER_METHOD] = method; - const abort = (err) => { + const abort = err => { if (request2.aborted || request2.completed) { return; } @@ -9092,7 +9378,7 @@ var require_client_h2 = __commonJS({ if (request2.aborted) { return false; } - if (method === "CONNECT") { + if (method === 'CONNECT') { session.ref(); stream = session.request(headers, { endStream: false, signal }); if (stream.id && !stream.pending) { @@ -9100,29 +9386,29 @@ var require_client_h2 = __commonJS({ ++session[kOpenStreams]; client[kQueue][client[kRunningIdx]++] = null; } else { - stream.once("ready", () => { + stream.once('ready', () => { request2.onUpgrade(null, null, stream); ++session[kOpenStreams]; client[kQueue][client[kRunningIdx]++] = null; }); } - stream.once("close", () => { + stream.once('close', () => { session[kOpenStreams] -= 1; if (session[kOpenStreams] === 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") { + 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 (util.isFormDataLike(body)) { extractBody ??= require_body().extractBody; const [bodyStream, contentType] = extractBody(body); - headers["content-type"] = contentType; + headers['content-type'] = contentType; body = bodyStream.stream; contentLength = bodyStream.length; } @@ -9132,7 +9418,12 @@ var require_client_h2 = __commonJS({ if (contentLength === 0 || !expectsPayload) { contentLength = null; } - if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { + if ( + shouldSendContentLength(method) && + contentLength > 0 && + request2.contentLength != null && + request2.contentLength !== contentLength + ) { if (client[kStrictContentLength]) { util.errorRequest(client, request2, new RequestContentLengthMismatchError()); return false; @@ -9140,15 +9431,15 @@ var require_client_h2 = __commonJS({ process.emitWarning(new RequestContentLengthMismatchError()); } if (contentLength != null) { - assert(body, "no body must not have content length"); + assert(body, 'no body must not have content length'); headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; } session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD" || body === null; + const shouldEndStream = method === 'GET' || method === 'HEAD' || body === null; if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; + headers[HTTP2_HEADER_EXPECT] = '100-continue'; stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); + stream.once('continue', writeBodyH2); } else { stream = session.request(headers, { endStream: shouldEndStream, @@ -9157,7 +9448,7 @@ var require_client_h2 = __commonJS({ writeBodyH2(); } ++session[kOpenStreams]; - stream.once("response", (headers2) => { + stream.once('response', headers2 => { const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; request2.onResponseStarted(); if (request2.aborted) { @@ -9166,109 +9457,55 @@ var require_client_h2 = __commonJS({ util.destroy(stream, err); return; } - if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) { + if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), '') === false) { stream.pause(); } - stream.on("data", (chunk) => { + stream.on('data', chunk => { if (request2.onData(chunk) === false) { stream.pause(); } }); }); - stream.once("end", () => { + stream.once('end', () => { if (stream.state?.state == null || stream.state.state < 6) { request2.onComplete([]); } if (session[kOpenStreams] === 0) { session.unref(); } - abort(new InformationalError("HTTP/2: stream half-closed (remote)")); + abort(new InformationalError('HTTP/2: stream half-closed (remote)')); client[kQueue][client[kRunningIdx]++] = null; client[kPendingIdx] = client[kRunningIdx]; client[kResume](); }); - stream.once("close", () => { + stream.once('close', () => { session[kOpenStreams] -= 1; if (session[kOpenStreams] === 0) { session.unref(); } }); - stream.once("error", function(err) { + stream.once('error', function (err) { abort(err); }); - stream.once("frameError", (type, code) => { + stream.once('frameError', (type, code) => { abort(new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`)); }); return true; function writeBodyH2() { if (!body || contentLength === 0) { - writeBuffer( - abort, - stream, - null, - client, - request2, - client[kSocket], - contentLength, - expectsPayload - ); + writeBuffer(abort, stream, null, client, request2, client[kSocket], contentLength, expectsPayload); } else if (util.isBuffer(body)) { - writeBuffer( - abort, - stream, - body, - client, - request2, - client[kSocket], - contentLength, - expectsPayload - ); + writeBuffer(abort, stream, body, client, request2, client[kSocket], contentLength, expectsPayload); } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable( - abort, - stream, - body.stream(), - client, - request2, - client[kSocket], - contentLength, - expectsPayload - ); + if (typeof body.stream === 'function') { + writeIterable(abort, stream, body.stream(), client, request2, client[kSocket], contentLength, expectsPayload); } else { - writeBlob( - abort, - stream, - body, - client, - request2, - client[kSocket], - contentLength, - expectsPayload - ); + writeBlob(abort, stream, body, client, request2, client[kSocket], contentLength, expectsPayload); } } else if (util.isStream(body)) { - writeStream( - abort, - client[kSocket], - expectsPayload, - stream, - body, - client, - request2, - contentLength - ); + writeStream(abort, client[kSocket], expectsPayload, stream, body, client, request2, contentLength); } else if (util.isIterable(body)) { - writeIterable( - abort, - stream, - body, - client, - request2, - client[kSocket], - contentLength, - expectsPayload - ); + writeIterable(abort, stream, body, client, request2, client[kSocket], contentLength, expectsPayload); } else { assert(false); } @@ -9277,7 +9514,7 @@ var require_client_h2 = __commonJS({ function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { try { if (body != null && util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); + assert(contentLength === body.byteLength, 'buffer body must have content length'); h2stream.cork(); h2stream.write(body); h2stream.uncork(); @@ -9294,31 +9531,27 @@ var require_client_h2 = __commonJS({ } } function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util.destroy(pipe, err); - abort(err); - } else { - util.removeAllListeners(pipe); - request2.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - client[kResume](); + assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined'); + const pipe = pipeline(body, h2stream, err => { + if (err) { + util.destroy(pipe, err); + abort(err); + } else { + util.removeAllListeners(pipe); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; } + client[kResume](); } - ); - util.addListener(pipe, "data", onPipeData); + }); + util.addListener(pipe, 'data', onPipeData); function onPipeData(chunk) { request2.onBodySent(chunk); } } async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { - assert(contentLength === body.size, "blob body must have content length"); + assert(contentLength === body.size, 'blob body must have content length'); try { if (contentLength != null && contentLength !== body.size) { throw new RequestContentLengthMismatchError(); @@ -9339,7 +9572,7 @@ var require_client_h2 = __commonJS({ } } async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined'); let callback = null; function onDrain() { if (callback) { @@ -9348,15 +9581,16 @@ var require_client_h2 = __commonJS({ cb(); } } - const waitForDrain = () => new Promise((resolve, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve; - } - }); - 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; + } + }); + h2stream.on('close', onDrain).on('drain', onDrain); try { for await (const chunk of body) { if (socket[kError]) { @@ -9377,7 +9611,7 @@ var require_client_h2 = __commonJS({ } catch (err) { abort(err); } finally { - h2stream.off("close", onDrain).off("drain", onDrain); + h2stream.off('close', onDrain).off('drain', onDrain); } } module2.exports = connectH2; @@ -9386,22 +9620,22 @@ var require_client_h2 = __commonJS({ // node_modules/undici/lib/handler/redirect-handler.js var require_redirect_handler = __commonJS({ - "node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/handler/redirect-handler.js'(exports2, module2) { + 'use strict'; var util = require_util(); var { kBodyUsed } = require_symbols(); - var assert = require("node:assert"); + var assert = require('node:assert'); var { InvalidArgumentError } = require_errors(); - var EE = require("node:events"); + var EE = require('node:events'); var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = Symbol("body"); + var kBody = Symbol('body'); var BodyAsyncIterable = class { constructor(body) { this[kBody] = body; this[kBodyUsed] = false; } async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); + assert(!this[kBodyUsed], 'disturbed'); this[kBodyUsed] = true; yield* this[kBody]; } @@ -9409,7 +9643,7 @@ var require_redirect_handler = __commonJS({ var RedirectHandler = class { constructor(dispatch, maxRedirections, opts, handler2) { if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); + throw new InvalidArgumentError('maxRedirections must be a positive number'); } util.validateHandler(handler2, opts.method, opts.upgrade); this.dispatch = dispatch; @@ -9422,19 +9656,24 @@ var require_redirect_handler = __commonJS({ this.redirectionLimitReached = false; if (util.isStream(this.opts.body)) { if (util.bodyLength(this.opts.body) === 0) { - this.opts.body.on("data", function() { + this.opts.body.on('data', function () { assert(false); }); } - if (typeof this.opts.body.readableDidRead !== "boolean") { + if (typeof this.opts.body.readableDidRead !== 'boolean') { this.opts.body[kBodyUsed] = false; - EE.prototype.on.call(this.opts.body, "data", function() { + EE.prototype.on.call(this.opts.body, 'data', function () { this[kBodyUsed] = true; }); } - } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { + } 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)) { + } 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); } } @@ -9449,13 +9688,16 @@ var require_redirect_handler = __commonJS({ 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.throwOnMaxRedirect && this.history.length >= this.maxRedirections) { if (this.request) { - this.request.abort(new Error("max redirects")); + this.request.abort(new Error('max redirects')); } this.redirectionLimitReached = true; - this.abort(new Error("max redirects")); + this.abort(new Error('max redirects')); return; } if (this.opts.origin) { @@ -9464,15 +9706,17 @@ var require_redirect_handler = __commonJS({ if (!this.location) { 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 { 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"; + if (statusCode === 303 && this.opts.method !== 'HEAD') { + this.opts.method = 'GET'; this.opts.body = null; } } @@ -9502,21 +9746,21 @@ var require_redirect_handler = __commonJS({ return null; } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") { + if (headers[i].length === 8 && util.headerNameToString(headers[i]) === 'location') { return headers[i + 1]; } } } function shouldRemoveHeader(header, removeContent, unknownOrigin) { if (header.length === 4) { - return util.headerNameToString(header) === "host"; + return util.headerNameToString(header) === 'host'; } - if (removeContent && util.headerNameToString(header).startsWith("content-")) { + if (removeContent && util.headerNameToString(header).startsWith('content-')) { return true; } if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { const name = util.headerNameToString(header); - return name === "authorization" || name === "cookie" || name === "proxy-authorization"; + return name === 'authorization' || name === 'cookie' || name === 'proxy-authorization'; } return false; } @@ -9528,14 +9772,14 @@ var require_redirect_handler = __commonJS({ 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]); } } } 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; } @@ -9545,11 +9789,11 @@ var require_redirect_handler = __commonJS({ // node_modules/undici/lib/interceptor/redirect-interceptor.js var require_redirect_interceptor = __commonJS({ - "node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/interceptor/redirect-interceptor.js'(exports2, module2) { + 'use strict'; var RedirectHandler = require_redirect_handler(); function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { - return (dispatch) => { + return dispatch => { return function Intercept(opts, handler2) { const { maxRedirections = defaultMaxRedirections } = opts; if (!maxRedirections) { @@ -9567,20 +9811,16 @@ var require_redirect_interceptor = __commonJS({ // node_modules/undici/lib/dispatcher/client.js var require_client = __commonJS({ - "node_modules/undici/lib/dispatcher/client.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); - var net = require("node:net"); - var http = require("node:http"); + 'node_modules/undici/lib/dispatcher/client.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); + var net = require('node:net'); + var http = require('node:http'); var util = require_util(); var { channels } = require_diagnostics(); var Request = require_request(); var DispatcherBase = require_dispatcher_base(); - var { - InvalidArgumentError, - InformationalError, - ClientDestroyedError - } = require_errors(); + var { InvalidArgumentError, InformationalError, ClientDestroyedError } = require_errors(); var buildConnector = require_connect(); var { kUrl, @@ -9627,9 +9867,8 @@ var require_client = __commonJS({ var connectH1 = require_client_h1(); var connectH2 = require_client_h2(); var deprecatedInterceptorWarned = false; - var kClosedResolve = Symbol("kClosedResolve"); - var noop3 = () => { - }; + var kClosedResolve = Symbol('kClosedResolve'); + var noop3 = () => {}; function getPipelining(client) { return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1; } @@ -9639,108 +9878,114 @@ var require_client = __commonJS({ * @param {string|URL} url * @param {import('../../types/client.js').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 - maxConcurrentStreams, - allowH2 - } = {}) { + 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 + maxConcurrentStreams, + allowH2 + } = {} + ) { 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"); + throw new InvalidArgumentError('invalid maxHeaderSize'); } - if (socketPath != null && typeof socketPath !== "string") { - throw new InvalidArgumentError("invalid socketPath"); + if (socketPath != null && typeof socketPath !== 'string') { + throw new InvalidArgumentError('invalid socketPath'); } if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { - throw new InvalidArgumentError("invalid connectTimeout"); + throw new InvalidArgumentError('invalid connectTimeout'); } if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveTimeout"); + throw new InvalidArgumentError('invalid keepAliveTimeout'); } if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); + throw new InvalidArgumentError('invalid keepAliveMaxTimeout'); } if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { - throw new InvalidArgumentError("invalid 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('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"); + 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"); + 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"); + 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"); + 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 positive integer, greater than 0"); + if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1)) { + throw new InvalidArgumentError('maxConcurrentStreams must be a positive integer, greater than 0'); } - if (typeof connect2 !== "function") { + if (typeof connect2 !== 'function') { connect2 = buildConnector({ ...tls, maxCachedSessions, allowH2, socketPath, timeout: connectTimeout, - ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0), ...connect2 }); } @@ -9748,8 +9993,8 @@ var require_client = __commonJS({ this[kInterceptors] = interceptors.Client; if (!deprecatedInterceptorWarned) { deprecatedInterceptorWarned = true; - process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", { - code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED" + process.emitWarning('Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.', { + code: 'UNDICI-CLIENT-INTERCEPTOR-DEPRECATED' }); } } else { @@ -9767,7 +10012,7 @@ var require_client = __commonJS({ 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[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}\r `; this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; @@ -9781,8 +10026,8 @@ var require_client = __commonJS({ this[kQueue] = []; this[kRunningIdx] = 0; this[kPendingIdx] = 0; - this[kResume] = (sync) => resume(this, sync); - this[kOnError] = (err) => onError(this, err); + this[kResume] = sync => resume(this, sync); + this[kOnError] = err => onError(this, err); } get pipelining() { return this[kPipelining]; @@ -9804,14 +10049,12 @@ var require_client = __commonJS({ return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed; } get [kBusy]() { - return Boolean( - this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0 - ); + return Boolean(this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0); } /* istanbul ignore: only used for test */ [kConnect](cb) { connect(this); - this.once("connect", cb); + this.once('connect', cb); } [kDispatch](opts, handler2) { const origin = opts.origin || this[kUrl].origin; @@ -9830,7 +10073,7 @@ var require_client = __commonJS({ return this[kNeedDrain] < 2; } async [kClose]() { - return new Promise((resolve) => { + return new Promise(resolve => { if (this[kSize]) { this[kClosedResolve] = resolve; } else { @@ -9839,7 +10082,7 @@ var require_client = __commonJS({ }); } async [kDestroy](err) { - return new Promise((resolve) => { + return new Promise(resolve => { const requests = this[kQueue].splice(this[kPendingIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; @@ -9864,7 +10107,7 @@ var require_client = __commonJS({ }; var createRedirectInterceptor = require_redirect_interceptor(); function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { + 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++) { @@ -9878,8 +10121,8 @@ var require_client = __commonJS({ assert(!client[kConnecting]); assert(!client[kHTTPContext]); let { host, hostname, protocol, port } = client[kUrl]; - if (hostname[0] === "[") { - const idx = hostname.indexOf("]"); + if (hostname[0] === '[') { + const idx = hostname.indexOf(']'); assert(idx !== -1); const ip = hostname.substring(1, idx); assert(net.isIP(ip)); @@ -9902,30 +10145,34 @@ var require_client = __commonJS({ } 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", noop3), new ClientDestroyedError()); + util.destroy(socket.on('error', noop3), new ClientDestroyedError()); return; } assert(socket); try { - client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket); + client[kHTTPContext] = + socket.alpnProtocol === 'h2' ? await connectH2(client, socket) : await connectH1(client, socket); } catch (err) { - socket.destroy().on("error", noop3); + socket.destroy().on('error', noop3); throw err; } client[kConnecting] = false; @@ -9948,7 +10195,7 @@ var require_client = __commonJS({ socket }); } - client.emit("connect", client[kUrl], [client]); + client.emit('connect', client[kUrl], [client]); } catch (err) { if (client.destroyed) { return; @@ -9969,7 +10216,7 @@ var require_client = __commonJS({ error: err }); } - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') { assert(client[kRunning] === 0); while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { const request2 = client[kQueue][client[kPendingIdx]++]; @@ -9978,13 +10225,13 @@ var require_client = __commonJS({ } else { onError(client, err); } - client.emit("connectionError", client[kUrl], [client], err); + client.emit('connectionError', client[kUrl], [client], err); } client[kResume](); } function emitDrain(client) { client[kNeedDrain] = 0; - client.emit("drain", client[kUrl], [client]); + client.emit('drain', client[kUrl], [client]); } function resume(client, sync) { if (client[kResuming] === 2) { @@ -10031,12 +10278,12 @@ var require_client = __commonJS({ return; } const request2 = client[kQueue][client[kPendingIdx]]; - if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) { + if (client[kUrl].protocol === 'https:' && client[kServerName] !== request2.servername) { if (client[kRunning] > 0) { return; } client[kServerName] = request2.servername; - client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => { + client[kHTTPContext]?.destroy(new InformationalError('servername changed'), () => { client[kHTTPContext] = null; resume(client); }); @@ -10067,8 +10314,8 @@ var require_client = __commonJS({ // node_modules/undici/lib/dispatcher/fixed-queue.js var require_fixed_queue = __commonJS({ - "node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/fixed-queue.js'(exports2, module2) { + 'use strict'; var kSize = 2048; var kMask = kSize - 1; var FixedCircularBuffer = class { @@ -10082,18 +10329,17 @@ var require_fixed_queue = __commonJS({ 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.top = (this.top + 1) & kMask; } shift() { const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; + if (nextItem === void 0) return null; this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; + this.bottom = (this.bottom + 1) & kMask; return nextItem; } }; @@ -10124,9 +10370,9 @@ var require_fixed_queue = __commonJS({ // node_modules/undici/lib/dispatcher/pool-stats.js var require_pool_stats = __commonJS({ - "node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) { + 'node_modules/undici/lib/dispatcher/pool-stats.js'(exports2, module2) { var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); - var kPool = Symbol("pool"); + var kPool = Symbol('pool'); var PoolStats = class { constructor(pool) { this[kPool] = pool; @@ -10156,24 +10402,25 @@ var require_pool_stats = __commonJS({ // node_modules/undici/lib/dispatcher/pool-base.js var require_pool_base = __commonJS({ - "node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/pool-base.js'(exports2, 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 { 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 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(); @@ -10195,20 +10442,20 @@ var require_pool_base = __commonJS({ this[kNeedDrain] = needDrain; if (!this[kNeedDrain] && pool[kNeedDrain]) { pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); + 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); + pool.emit('connectionError', origin, [pool, ...targets], err); }; this[kStats] = new PoolStats(this); } @@ -10216,10 +10463,10 @@ var require_pool_base = __commonJS({ 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]; @@ -10247,9 +10494,9 @@ var require_pool_base = __commonJS({ } async [kClose]() { if (this[kQueue].isEmpty()) { - await Promise.all(this[kClients].map((c) => c.close())); + await Promise.all(this[kClients].map(c => c.close())); } else { - await new Promise((resolve) => { + await new Promise(resolve => { this[kClosedResolve] = resolve; }); } @@ -10262,7 +10509,7 @@ var require_pool_base = __commonJS({ } item.handler.onError(err); } - await Promise.all(this[kClients].map((c) => c.destroy(err))); + await Promise.all(this[kClients].map(c => c.destroy(err))); } [kDispatch](opts, handler2) { const dispatcher = this[kGetDispatcher](); @@ -10277,7 +10524,11 @@ var require_pool_base = __commonJS({ return !this[kNeedDrain]; } [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); + client + .on('drain', this[kOnDrain]) + .on('connect', this[kOnConnect]) + .on('disconnect', this[kOnDisconnect]) + .on('connectionError', this[kOnConnectionError]); this[kClients].push(client); if (this[kNeedDrain]) { queueMicrotask(() => { @@ -10295,7 +10546,9 @@ var require_pool_base = __commonJS({ 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 = { @@ -10311,70 +10564,66 @@ var require_pool_base = __commonJS({ // node_modules/undici/lib/dispatcher/pool.js var require_pool = __commonJS({ - "node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base(); + 'node_modules/undici/lib/dispatcher/pool.js'(exports2, module2) { + 'use strict'; + var { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher } = require_pool_base(); var Client = require_client(); - var { - InvalidArgumentError - } = require_errors(); + 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"); + var kOptions = Symbol('options'); + var kConnections = Symbol('connections'); + var kFactory = Symbol('factory'); function defaultFactory(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 - } = {}) { + 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"); + throw new InvalidArgumentError('invalid connections'); } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); + 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 (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, - ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0), ...connect }); } - this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; + this[kInterceptors] = + 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.on("connectionError", (origin2, targets, error) => { + this.on('connectionError', (origin2, targets, error) => { for (const target of targets) { const idx = this[kClients].indexOf(target); if (idx !== -1) { @@ -10402,31 +10651,21 @@ var require_pool = __commonJS({ // node_modules/undici/lib/dispatcher/balanced-pool.js var require_balanced_pool = __commonJS({ - "node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) { - "use strict"; - var { - BalancedPoolMissingUpstreamError, - InvalidArgumentError - } = require_errors(); - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - } = require_pool_base(); + 'node_modules/undici/lib/dispatcher/balanced-pool.js'(exports2, module2) { + 'use strict'; + var { BalancedPoolMissingUpstreamError, InvalidArgumentError } = require_errors(); + var { PoolBase, kClients, kNeedDrain, 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"); + 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 (a === 0) return b; while (b !== 0) { @@ -10450,10 +10689,13 @@ var require_balanced_pool = __commonJS({ if (!Array.isArray(upstreams)) { upstreams = [upstreams]; } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.'); } - this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + this[kInterceptors] = + opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) + ? opts.interceptors.BalancedPool + : []; this[kFactory] = factory; for (const upstream of upstreams) { this.addUpstream(upstream); @@ -10462,21 +10704,25 @@ var require_balanced_pool = __commonJS({ } addUpstream(upstream) { const upstreamOrigin = parseOrigin(upstream).origin; - if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { + 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.on('connect', () => { pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); }); - pool.on("connectionError", () => { + pool.on('connectionError', () => { pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); this._updateBalancedPoolStats(); }); - pool.on("disconnect", (...args) => { + pool.on('disconnect', (...args) => { const err = args[2]; - if (err && err.code === "UND_ERR_SOCKET") { + if (err && err.code === 'UND_ERR_SOCKET') { pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); this._updateBalancedPoolStats(); } @@ -10496,29 +10742,35 @@ var require_balanced_pool = __commonJS({ } removeUpstream(upstream) { const upstreamOrigin = parseOrigin(upstream).origin; - const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); + const pool = this[kClients].find( + pool2 => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true + ); if (pool) { this[kRemoveClient](pool); } 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(); } - 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; } - 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; } let counter = 0; - let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); + 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]]; @@ -10546,8 +10798,8 @@ var require_balanced_pool = __commonJS({ // node_modules/undici/lib/dispatcher/agent.js var require_agent = __commonJS({ - "node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/agent.js'(exports2, module2) { + 'use strict'; var { InvalidArgumentError } = require_errors(); var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); var DispatcherBase = require_dispatcher_base(); @@ -10555,48 +10807,51 @@ var require_agent = __commonJS({ var Client = require_client(); var util = require_util(); var createRedirectInterceptor = require_redirect_interceptor(); - 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 kOptions = Symbol("options"); + 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 kOptions = Symbol('options'); function defaultFactory(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 (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 (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"); + throw new InvalidArgumentError('maxRedirections must be a positive number'); } - if (connect && typeof connect !== "function") { + if (connect && typeof connect !== 'function') { connect = { ...connect }; } - this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; + this[kInterceptors] = + 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[kOnDrain] = (origin, targets) => { - this.emit("drain", origin, [this, ...targets]); + this.emit('drain', origin, [this, ...targets]); }; this[kOnConnect] = (origin, targets) => { - this.emit("connect", origin, [this, ...targets]); + this.emit('connect', origin, [this, ...targets]); }; this[kOnDisconnect] = (origin, targets, err) => { - this.emit("disconnect", origin, [this, ...targets], err); + this.emit('disconnect', origin, [this, ...targets], err); }; this[kOnConnectionError] = (origin, targets, err) => { - this.emit("connectionError", origin, [this, ...targets], err); + this.emit('connectionError', origin, [this, ...targets], err); }; } get [kRunning]() { @@ -10608,14 +10863,18 @@ var require_agent = __commonJS({ } [kDispatch](opts, handler2) { let key; - if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { + 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.'); } let dispatcher = this[kClients].get(key); 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]); + 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, dispatcher); } return dispatcher.dispatch(opts, handler2); @@ -10643,31 +10902,30 @@ var require_agent = __commonJS({ // node_modules/undici/lib/dispatcher/proxy-agent.js var require_proxy_agent = __commonJS({ - "node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/proxy-agent.js'(exports2, module2) { + 'use strict'; var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); - var { URL: URL2 } = require("node:url"); + var { URL: URL2 } = require('node:url'); var Agent = require_agent(); var Pool = require_pool(); var DispatcherBase = require_dispatcher_base(); var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors(); var buildConnector = require_connect(); var Client = require_client(); - 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"); - var kTunnelProxy = Symbol("tunnel proxy"); + 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'); + var kTunnelProxy = Symbol('tunnel proxy'); function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; + return protocol === 'https:' ? 443 : 80; } function defaultFactory(origin, opts) { return new Pool(origin, opts); } - var noop3 = () => { - }; + var noop3 = () => {}; function defaultAgentFactory(origin, opts) { if (opts.connections === 1) { return new Client(origin, opts); @@ -10679,7 +10937,7 @@ var require_proxy_agent = __commonJS({ constructor(proxyUrl, { headers = {}, connect, factory }) { super(); if (!proxyUrl) { - throw new InvalidArgumentError("Proxy URL is mandatory"); + throw new InvalidArgumentError('Proxy URL is mandatory'); } this[kProxyHeaders] = headers; if (factory) { @@ -10690,22 +10948,18 @@ var require_proxy_agent = __commonJS({ } [kDispatch](opts, handler2) { const onHeaders = handler2.onHeaders; - handler2.onHeaders = function(statusCode, data, resume) { + handler2.onHeaders = function (statusCode, data, resume) { if (statusCode === 407) { - if (typeof handler2.onError === "function") { - handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)")); + if (typeof handler2.onError === 'function') { + handler2.onError(new InvalidArgumentError('Proxy Authentication Required (407)')); } return; } if (onHeaders) onHeaders.call(this, statusCode, data, resume); }; - const { - origin, - path = "/", - headers = {} - } = opts; + const { origin, path = '/', headers = {} } = opts; opts.path = origin + path; - if (!("host" in headers) && !("Host" in headers)) { + if (!('host' in headers) && !('Host' in headers)) { const { host } = new URL2(origin); headers.host = host; } @@ -10722,37 +10976,40 @@ var require_proxy_agent = __commonJS({ var ProxyAgent = class extends DispatcherBase { constructor(opts) { super(); - if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) { - throw new InvalidArgumentError("Proxy uri is mandatory"); + if (!opts || (typeof opts === 'object' && !(opts instanceof URL2) && !opts.uri)) { + throw new InvalidArgumentError('Proxy uri is mandatory'); } const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); + if (typeof clientFactory !== 'function') { + throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.'); } const { proxyTunnel = true } = opts; const url = this.#getUrl(opts); const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url; this[kProxy] = { uri: href, protocol }; - this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; + this[kInterceptors] = + opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; this[kRequestTls] = opts.requestTls; this[kProxyTls] = opts.proxyTls; this[kProxyHeaders] = opts.headers || {}; this[kTunnelProxy] = proxyTunnel; 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; } else if (username && password) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; + this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from( + `${decodeURIComponent(username)}:${decodeURIComponent(password)}` + ).toString('base64')}`; } const connect = buildConnector({ ...opts.proxyTls }); this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); const agentFactory = opts.factory || defaultAgentFactory; const factory = (origin2, options) => { const { protocol: protocol2 } = new URL2(origin2); - if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") { + if (!this[kTunnelProxy] && protocol2 === 'http:' && this[kProxy].protocol === 'http:') { return new Http1ProxyWrapper(this[kProxy].uri, { headers: this[kProxyHeaders], connect, @@ -10783,10 +11040,10 @@ var require_proxy_agent = __commonJS({ servername: this[kProxyTls]?.servername || proxyHostname }); if (statusCode !== 200) { - socket.on("error", noop3).destroy(); + socket.on('error', noop3).destroy(); callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); } - if (opts2.protocol !== "https:") { + if (opts2.protocol !== 'https:') { callback(null, socket); return; } @@ -10798,7 +11055,7 @@ var require_proxy_agent = __commonJS({ } this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); } catch (err) { - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') { callback(new SecureProxyConnectionError(err)); } else { callback(err); @@ -10810,7 +11067,7 @@ var require_proxy_agent = __commonJS({ dispatch(opts, handler2) { const headers = buildHeaders(opts.headers); throwIfProxyAuthIsSent(headers); - if (headers && !("host" in headers) && !("Host" in headers)) { + if (headers && !('host' in headers) && !('Host' in headers)) { const { host } = new URL2(opts.origin); headers.host = host; } @@ -10827,7 +11084,7 @@ var require_proxy_agent = __commonJS({ * @returns {URL} */ #getUrl(opts) { - if (typeof opts === "string") { + if (typeof opts === 'string') { return new URL2(opts); } else if (opts instanceof URL2) { return opts; @@ -10855,9 +11112,9 @@ var require_proxy_agent = __commonJS({ 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; @@ -10866,15 +11123,16 @@ var require_proxy_agent = __commonJS({ // node_modules/undici/lib/dispatcher/env-http-proxy-agent.js var require_env_http_proxy_agent = __commonJS({ - "node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/env-http-proxy-agent.js'(exports2, module2) { + 'use strict'; var DispatcherBase = require_dispatcher_base(); - var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols(); + var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = + require_symbols(); var ProxyAgent = require_proxy_agent(); var Agent = require_agent(); var DEFAULT_PORTS = { - "http:": 80, - "https:": 443 + 'http:': 80, + 'https:': 443 }; var experimentalWarned = false; var EnvHttpProxyAgent = class extends DispatcherBase { @@ -10886,8 +11144,8 @@ var require_env_http_proxy_agent = __commonJS({ this.#opts = opts; if (!experimentalWarned) { experimentalWarned = true; - process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", { - code: "UNDICI-EHPA" + process.emitWarning('EnvHttpProxyAgent is experimental, expect them to change at any time.', { + code: 'UNDICI-EHPA' }); } const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts; @@ -10931,12 +11189,12 @@ var require_env_http_proxy_agent = __commonJS({ } #getProxyAgentForUrl(url) { let { protocol, host: hostname, port } = url; - hostname = hostname.replace(/:\d*$/, "").toLowerCase(); + hostname = hostname.replace(/:\d*$/, '').toLowerCase(); port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0; if (!this.#shouldProxy(hostname, port)) { return this[kNoProxyAgent]; } - if (protocol === "https:") { + if (protocol === 'https:') { return this[kHttpsProxyAgent]; } return this[kHttpProxyAgent]; @@ -10948,7 +11206,7 @@ var require_env_http_proxy_agent = __commonJS({ if (this.#noProxyEntries.length === 0) { return true; } - if (this.#noProxyValue === "*") { + if (this.#noProxyValue === '*') { return false; } for (let i = 0; i < this.#noProxyEntries.length; i++) { @@ -10961,7 +11219,7 @@ var require_env_http_proxy_agent = __commonJS({ return false; } } else { - if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) { + if (hostname.endsWith(entry.hostname.replace(/^\*/, ''))) { return false; } } @@ -10993,7 +11251,7 @@ var require_env_http_proxy_agent = __commonJS({ return this.#noProxyValue !== this.#noProxyEnv; } get #noProxyEnv() { - return process.env.no_proxy ?? process.env.NO_PROXY ?? ""; + return process.env.no_proxy ?? process.env.NO_PROXY ?? ''; } }; module2.exports = EnvHttpProxyAgent; @@ -11002,17 +11260,12 @@ var require_env_http_proxy_agent = __commonJS({ // node_modules/undici/lib/handler/retry-handler.js var require_retry_handler = __commonJS({ - "node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); + 'node_modules/undici/lib/handler/retry-handler.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); var { kRetryHandlerDefaultRetry } = require_symbols(); var { RequestRetryError } = require_errors(); - var { - isDisturbed, - parseHeaders, - parseRangeHeader, - wrapRequestBody - } = require_util(); + var { isDisturbed, parseHeaders, parseRangeHeader, wrapRequestBody } = require_util(); function calculateRetryAfterHeader(retryAfter) { const current = Date.now(); return new Date(retryAfter).getTime() - current; @@ -11048,20 +11301,20 @@ var require_retry_handler = __commonJS({ timeoutFactor: timeoutFactor ?? 2, maxRetries: maxRetries ?? 5, // What errors we should retry - methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], + methods: methods ?? ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'], // Indicates which errors to retry statusCodes: statusCodes ?? [500, 502, 503, 504, 429], // List of errors to retry errorCodes: errorCodes ?? [ - "ECONNRESET", - "ECONNREFUSED", - "ENOTFOUND", - "ENETDOWN", - "ENETUNREACH", - "EHOSTDOWN", - "EHOSTUNREACH", - "EPIPE", - "UND_ERR_SOCKET" + 'ECONNRESET', + 'ECONNREFUSED', + 'ENOTFOUND', + 'ENETDOWN', + 'ENETUNREACH', + 'EHOSTDOWN', + 'EHOSTUNREACH', + 'EPIPE', + 'UND_ERR_SOCKET' ] }; this.retryCount = 0; @@ -11070,7 +11323,7 @@ var require_retry_handler = __commonJS({ this.end = null; this.etag = null; this.resume = null; - this.handler.onConnect((reason) => { + this.handler.onConnect(reason => { this.aborted = true; if (this.abort) { this.abort(reason); @@ -11102,17 +11355,9 @@ var require_retry_handler = __commonJS({ static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { const { statusCode, code, headers } = err; const { method, retryOptions } = opts; - const { - maxRetries, - minTimeout, - maxTimeout, - timeoutFactor, - statusCodes, - errorCodes, - methods - } = retryOptions; + const { maxRetries, minTimeout, maxTimeout, timeoutFactor, statusCodes, errorCodes, methods } = retryOptions; const { counter } = state; - if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) { + if (code && code !== 'UND_ERR_REQ_RETRY' && !errorCodes.includes(code)) { cb(err); return; } @@ -11128,12 +11373,17 @@ var require_retry_handler = __commonJS({ cb(err); return; } - let retryAfterHeader = headers?.["retry-after"]; + let retryAfterHeader = headers?.['retry-after']; if (retryAfterHeader) { retryAfterHeader = Number(retryAfterHeader); - retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; - } - const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout); + retryAfterHeader = Number.isNaN(retryAfterHeader) + ? calculateRetryAfterHeader(retryAfterHeader) + : retryAfterHeader * 1e3; + } + const retryTimeout = + retryAfterHeader > 0 + ? Math.min(retryAfterHeader, maxTimeout) + : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout); setTimeout(() => cb(null), retryTimeout); } onHeaders(statusCode, rawHeaders, resume, statusMessage) { @@ -11141,15 +11391,10 @@ var require_retry_handler = __commonJS({ this.retryCount += 1; if (statusCode >= 300) { if (this.retryOpts.statusCodes.includes(statusCode) === false) { - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); + return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); } else { this.abort( - new RequestRetryError("Request failed", statusCode, { + new RequestRetryError('Request failed', statusCode, { headers, data: { count: this.retryCount @@ -11163,17 +11408,21 @@ var require_retry_handler = __commonJS({ this.resume = null; if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) { this.abort( - new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, { - headers, - data: { count: this.retryCount } - }) + new RequestRetryError( + 'server does not support the range header and the payload was partially consumed', + statusCode, + { + headers, + data: { count: this.retryCount } + } + ) ); return false; } - const contentRange = parseRangeHeader(headers["content-range"]); + const contentRange = parseRangeHeader(headers['content-range']); if (!contentRange) { this.abort( - new RequestRetryError("Content-Range mismatch", statusCode, { + new RequestRetryError('Content-Range mismatch', statusCode, { headers, data: { count: this.retryCount } }) @@ -11182,7 +11431,7 @@ var require_retry_handler = __commonJS({ } if (this.etag != null && this.etag !== headers.etag) { this.abort( - new RequestRetryError("ETag mismatch", statusCode, { + new RequestRetryError('ETag mismatch', statusCode, { headers, data: { count: this.retryCount } }) @@ -11190,53 +11439,37 @@ var require_retry_handler = __commonJS({ return false; } const { start, size, end = size - 1 } = contentRange; - assert(this.start === start, "content-range mismatch"); - assert(this.end == null || this.end === end, "content-range mismatch"); + assert(this.start === start, 'content-range mismatch'); + assert(this.end == null || this.end === end, 'content-range mismatch'); this.resume = resume; return true; } if (this.end == null) { if (statusCode === 206) { - const range = parseRangeHeader(headers["content-range"]); + const range = parseRangeHeader(headers['content-range']); if (range == null) { - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); + return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); } const { start, size, end = size - 1 } = range; - assert( - start != null && Number.isFinite(start), - "content-range mismatch" - ); - assert(end != null && Number.isFinite(end), "invalid content-length"); + assert(start != null && Number.isFinite(start), 'content-range mismatch'); + assert(end != null && Number.isFinite(end), 'invalid content-length'); this.start = start; this.end = end; } if (this.end == null) { - const contentLength = headers["content-length"]; + const contentLength = headers['content-length']; this.end = contentLength != null ? Number(contentLength) - 1 : null; } assert(Number.isFinite(this.start)); - assert( - this.end == null || Number.isFinite(this.end), - "invalid content-length" - ); + assert(this.end == null || Number.isFinite(this.end), 'invalid content-length'); this.resume = resume; this.etag = headers.etag != null ? headers.etag : null; - if (this.etag != null && this.etag.startsWith("W/")) { + if (this.etag != null && this.etag.startsWith('W/')) { this.etag = null; } - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); + return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); } - const err = new RequestRetryError("Request failed", statusCode, { + const err = new RequestRetryError('Request failed', statusCode, { headers, data: { count: this.retryCount } }); @@ -11273,9 +11506,9 @@ var require_retry_handler = __commonJS({ return this.handler.onError(err2); } if (this.start !== 0) { - const headers = { range: `bytes=${this.start}-${this.end ?? ""}` }; + const headers = { range: `bytes=${this.start}-${this.end ?? ''}` }; if (this.etag != null) { - headers["if-match"] = this.etag; + headers['if-match'] = this.etag; } this.opts = { ...this.opts, @@ -11300,8 +11533,8 @@ var require_retry_handler = __commonJS({ // node_modules/undici/lib/dispatcher/retry-agent.js var require_retry_agent = __commonJS({ - "node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/dispatcher/retry-agent.js'(exports2, module2) { + 'use strict'; var Dispatcher = require_dispatcher(); var RetryHandler = require_retry_handler(); var RetryAgent = class extends Dispatcher { @@ -11313,13 +11546,16 @@ var require_retry_agent = __commonJS({ this.#options = options; } dispatch(opts, handler2) { - const retry = new RetryHandler({ - ...opts, - retryOptions: this.#options - }, { - dispatch: this.#agent.dispatch.bind(this.#agent), - handler: handler2 - }); + const retry = new RetryHandler( + { + ...opts, + retryOptions: this.#options + }, + { + dispatch: this.#agent.dispatch.bind(this.#agent), + handler: handler2 + } + ); return this.#agent.dispatch(opts, retry); } close() { @@ -11335,26 +11571,25 @@ var require_retry_agent = __commonJS({ // node_modules/undici/lib/api/readable.js var require_readable = __commonJS({ - "node_modules/undici/lib/api/readable.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); - var { Readable } = require("node:stream"); + 'node_modules/undici/lib/api/readable.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); + var { Readable } = require('node:stream'); var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors(); var util = require_util(); var { ReadableStreamFrom } = require_util(); - var kConsume = Symbol("kConsume"); - var kReading = Symbol("kReading"); - var kBody = Symbol("kBody"); - var kAbort = Symbol("kAbort"); - var kContentType = Symbol("kContentType"); - var kContentLength = Symbol("kContentLength"); - var noop3 = () => { - }; + var kConsume = Symbol('kConsume'); + var kReading = Symbol('kReading'); + var kBody = Symbol('kBody'); + var kAbort = Symbol('kAbort'); + var kContentType = Symbol('kContentType'); + var kContentLength = Symbol('kContentLength'); + var noop3 = () => {}; var BodyReadable = class extends Readable { constructor({ resume, abort, - contentType = "", + contentType = '', contentLength, highWaterMark = 64 * 1024 // Same as nodejs fs streams. @@ -11391,7 +11626,7 @@ var require_readable = __commonJS({ } } on(ev, ...args) { - if (ev === "data" || ev === "readable") { + if (ev === 'data' || ev === 'readable') { this[kReading] = true; } return super.on(ev, ...args); @@ -11401,8 +11636,8 @@ var require_readable = __commonJS({ } off(ev, ...args) { const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + if (ev === 'data' || ev === 'readable') { + this[kReading] = this.listenerCount('data') > 0 || this.listenerCount('readable') > 0; } return ret; } @@ -11418,23 +11653,23 @@ var require_readable = __commonJS({ } // 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-bytes async bytes() { - return consume(this, "bytes"); + return consume(this, 'bytes'); } // 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() { @@ -11458,8 +11693,8 @@ var require_readable = __commonJS({ async dump(opts) { let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024; const signal = opts?.signal; - if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) { - throw new InvalidArgumentError("signal must be an AbortSignal"); + if (signal != null && (typeof signal !== 'object' || !('aborted' in signal))) { + throw new InvalidArgumentError('signal must be an AbortSignal'); } signal?.throwIfAborted(); if (this._readableState.closeEmitted) { @@ -11472,25 +11707,28 @@ var require_readable = __commonJS({ const onAbort = () => { this.destroy(signal.reason ?? new AbortError()); }; - signal?.addEventListener("abort", onAbort); - this.on("close", function() { - signal?.removeEventListener("abort", onAbort); + signal?.addEventListener('abort', onAbort); + this.on('close', function () { + signal?.removeEventListener('abort', onAbort); if (signal?.aborted) { reject(signal.reason ?? new AbortError()); } else { resolve(null); } - }).on("error", noop3).on("data", function(chunk) { - limit -= chunk.length; - if (limit <= 0) { - this.destroy(); - } - }).resume(); + }) + .on('error', noop3) + .on('data', function (chunk) { + limit -= chunk.length; + if (limit <= 0) { + this.destroy(); + } + }) + .resume(); }); } }; 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); @@ -11501,13 +11739,15 @@ var require_readable = __commonJS({ if (isUnusable(stream)) { const rState = stream._readableState; if (rState.destroyed && rState.closeEmitted === false) { - stream.on("error", (err) => { - reject(err); - }).on("close", () => { - reject(new TypeError("unusable")); - }); + stream + .on('error', err => { + reject(err); + }) + .on('close', () => { + reject(new TypeError('unusable')); + }); } else { - reject(rState.errored ?? new TypeError("unusable")); + reject(rState.errored ?? new TypeError('unusable')); } } else { queueMicrotask(() => { @@ -11519,13 +11759,15 @@ var require_readable = __commonJS({ 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()); - } - }); + stream + .on('error', function (err) { + consumeFinish(this[kConsume], err); + }) + .on('close', function () { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()); + } + }); consumeStart(stream[kConsume]); }); } @@ -11550,17 +11792,16 @@ var require_readable = __commonJS({ if (state.endEmitted) { consumeEnd(this[kConsume]); } else { - consume2.stream.on("end", function() { + consume2.stream.on('end', function () { consumeEnd(this[kConsume]); }); } consume2.stream.resume(); - while (consume2.stream.read() != null) { - } + while (consume2.stream.read() != null) {} } function chunksDecode(chunks, length) { if (chunks.length === 0 || length === 0) { - return ""; + return ''; } const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length); const bufferLength = buffer.length; @@ -11586,15 +11827,15 @@ var require_readable = __commonJS({ function consumeEnd(consume2) { const { type, body, resolve, stream, length } = consume2; try { - if (type === "text") { + if (type === 'text') { resolve(chunksDecode(body, length)); - } else if (type === "json") { + } else if (type === 'json') { resolve(JSON.parse(chunksDecode(body, length))); - } else if (type === "arrayBuffer") { + } else if (type === 'arrayBuffer') { resolve(chunksConcat(body, length).buffer); - } else if (type === "blob") { + } else if (type === 'blob') { resolve(new Blob(body, { type: stream[kContentType] })); - } else if (type === "bytes") { + } else if (type === 'bytes') { resolve(chunksConcat(body, length)); } consumeFinish(consume2); @@ -11628,11 +11869,9 @@ var require_readable = __commonJS({ // node_modules/undici/lib/api/util.js var require_util3 = __commonJS({ - "node_modules/undici/lib/api/util.js"(exports2, module2) { - var assert = require("node:assert"); - var { - ResponseStatusCodeError - } = require_errors(); + 'node_modules/undici/lib/api/util.js'(exports2, module2) { + var assert = require('node:assert'); + var { ResponseStatusCodeError } = require_errors(); var { chunksDecode } = require_readable(); var CHUNK_LIMIT = 128 * 1024; async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { @@ -11653,7 +11892,7 @@ var require_util3 = __commonJS({ chunks = []; length = 0; } - const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`; + const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`; if (statusCode === 204 || !contentType || !length) { queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers))); return; @@ -11673,11 +11912,36 @@ var require_util3 = __commonJS({ } queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload))); } - var isContentTypeApplicationJson = (contentType) => { - return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n"; + var isContentTypeApplicationJson = contentType => { + return ( + contentType.length > 15 && + contentType[11] === '/' && + contentType[0] === 'a' && + contentType[1] === 'p' && + contentType[2] === 'p' && + contentType[3] === 'l' && + contentType[4] === 'i' && + contentType[5] === 'c' && + contentType[6] === 'a' && + contentType[7] === 't' && + contentType[8] === 'i' && + contentType[9] === 'o' && + contentType[10] === 'n' && + contentType[12] === 'j' && + contentType[13] === 's' && + contentType[14] === 'o' && + contentType[15] === 'n' + ); }; - var isContentTypeText = (contentType) => { - return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t"; + var isContentTypeText = contentType => { + return ( + contentType.length > 4 && + contentType[4] === '/' && + contentType[0] === 't' && + contentType[1] === 'e' && + contentType[2] === 'x' && + contentType[3] === 't' + ); }; module2.exports = { getResolveErrorBodyCallback, @@ -11689,40 +11953,40 @@ var require_util3 = __commonJS({ // node_modules/undici/lib/api/api-request.js var require_api_request = __commonJS({ - "node_modules/undici/lib/api/api-request.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); + 'node_modules/undici/lib/api/api-request.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); var { Readable } = require_readable(); var { InvalidArgumentError, RequestAbortedError } = require_errors(); var util = require_util(); var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("node:async_hooks"); + var { AsyncResource } = require('node:async_hooks'); 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; 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); + util.destroy(body.on('error', util.nop), err); } throw err; } @@ -11742,7 +12006,7 @@ var require_api_request = __commonJS({ this.reason = null; this.removeAbortListener = null; if (util.isStream(body)) { - body.on("error", (err) => { + body.on('error', err => { this.onError(err); }); } @@ -11753,12 +12017,12 @@ var require_api_request = __commonJS({ this.removeAbortListener = util.addAbortListener(this.signal, () => { this.reason = this.signal.reason ?? new RequestAbortedError(); if (this.res) { - util.destroy(this.res.on("error", util.nop), this.reason); + util.destroy(this.res.on('error', util.nop), this.reason); } else if (this.abort) { this.abort(this.reason); } if (this.removeAbortListener) { - this.res?.off("close", this.removeAbortListener); + this.res?.off('close', this.removeAbortListener); this.removeAbortListener(); this.removeAbortListener = null; } @@ -11777,35 +12041,38 @@ var require_api_request = __commonJS({ } onHeaders(statusCode, rawHeaders, resume, statusMessage) { const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); if (statusCode < 200) { if (this.onInfo) { this.onInfo({ statusCode, headers }); } return; } - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - const contentLength = parsedHeaders["content-length"]; + const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers; + const contentType = parsedHeaders['content-type']; + const contentLength = parsedHeaders['content-length']; const res = new Readable({ resume, abort, contentType, - contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null, + contentLength: this.method !== 'HEAD' && contentLength ? Number(contentLength) : null, highWaterMark }); if (this.removeAbortListener) { - res.on("close", this.removeAbortListener); + res.on('close', this.removeAbortListener); } this.callback = null; this.res = res; if (callback !== null) { if (this.throwOnError && statusCode >= 400) { - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body: res, contentType, statusCode, statusMessage, headers } - ); + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback, + body: res, + contentType, + statusCode, + statusMessage, + headers + }); } else { this.runInAsyncScope(callback, null, null, { statusCode, @@ -11844,7 +12111,7 @@ var require_api_request = __commonJS({ util.destroy(body, err); } if (this.removeAbortListener) { - res?.off("close", this.removeAbortListener); + res?.off('close', this.removeAbortListener); this.removeAbortListener(); this.removeAbortListener = null; } @@ -11861,7 +12128,7 @@ var require_api_request = __commonJS({ try { this.dispatch(opts, new RequestHandler(opts, callback)); } catch (err) { - if (typeof callback !== "function") { + if (typeof callback !== 'function') { throw err; } const opaque = opts?.opaque; @@ -11875,11 +12142,11 @@ var require_api_request = __commonJS({ // node_modules/undici/lib/api/abort-signal.js var require_abort_signal = __commonJS({ - "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { + 'node_modules/undici/lib/api/abort-signal.js'(exports2, module2) { var { addAbortListener } = require_util(); var { RequestAbortedError } = require_errors(); - var kListener = Symbol("kListener"); - var kSignal = Symbol("kSignal"); + var kListener = Symbol('kListener'); + var kSignal = Symbol('kSignal'); function abort(self) { if (self.abort) { self.abort(self[kSignal]?.reason); @@ -11909,10 +12176,10 @@ var require_abort_signal = __commonJS({ if (!self[kSignal]) { 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; @@ -11926,41 +12193,41 @@ var require_abort_signal = __commonJS({ // node_modules/undici/lib/api/api-stream.js var require_api_stream = __commonJS({ - "node_modules/undici/lib/api/api-stream.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); - var { finished, PassThrough } = require("node:stream"); + 'node_modules/undici/lib/api/api-stream.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); + var { finished, PassThrough } = require('node:stream'); var { InvalidArgumentError, InvalidReturnValueError } = require_errors(); var util = require_util(); var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("node:async_hooks"); + var { AsyncResource } = require('node: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; 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); + util.destroy(body.on('error', util.nop), err); } throw err; } @@ -11976,7 +12243,7 @@ var require_api_stream = __commonJS({ this.onInfo = onInfo || null; this.throwOnError = throwOnError || false; if (util.isStream(body)) { - body.on("error", (err) => { + body.on('error', err => { this.onError(err); }); } @@ -11993,7 +12260,7 @@ var require_api_stream = __commonJS({ } onHeaders(statusCode, rawHeaders, resume, statusMessage) { const { factory, opaque, context: context3, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); if (statusCode < 200) { if (this.onInfo) { this.onInfo({ statusCode, headers }); @@ -12003,15 +12270,18 @@ var require_api_stream = __commonJS({ this.factory = null; let res; if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; + 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 } - ); + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback, + body: res, + contentType, + statusCode, + statusMessage, + headers + }); } else { if (factory === null) { return; @@ -12022,10 +12292,10 @@ var require_api_stream = __commonJS({ opaque, context: context3 }); - 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) => { + finished(res, { readable: false }, err => { const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; this.res = null; if (err || !res2.readable) { @@ -12038,7 +12308,7 @@ var require_api_stream = __commonJS({ } }); } - res.on("drain", resume); + res.on('drain', resume); this.res = res; const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain; return needDrain !== true; @@ -12086,7 +12356,7 @@ var require_api_stream = __commonJS({ try { this.dispatch(opts, new StreamHandler(opts, factory, callback)); } catch (err) { - if (typeof callback !== "function") { + if (typeof callback !== 'function') { throw err; } const opaque = opts?.opaque; @@ -12099,23 +12369,15 @@ var require_api_stream = __commonJS({ // node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline = __commonJS({ - "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { - "use strict"; - var { - Readable, - Duplex, - PassThrough - } = require("node:stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); + 'node_modules/undici/lib/api/api-pipeline.js'(exports2, module2) { + 'use strict'; + var { Readable, Duplex, PassThrough } = require('node:stream'); + var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = require_errors(); var util = require_util(); - var { AsyncResource } = require("node:async_hooks"); + var { AsyncResource } = require('node:async_hooks'); var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("node:assert"); - var kResume = Symbol("resume"); + var assert = require('node:assert'); + var kResume = Symbol('resume'); var PipelineRequest = class extends Readable { constructor() { super({ autoDestroy: true }); @@ -12150,30 +12412,30 @@ var require_api_pipeline = __commonJS({ }; var PipelineHandler = class extends AsyncResource { constructor(opts, handler2) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - if (typeof handler2 !== "function") { - throw new InvalidArgumentError("invalid handler"); + if (typeof handler2 !== '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 (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_PIPELINE"); + super('UNDICI_PIPELINE'); this.opaque = opaque || null; this.responseHeaders = responseHeaders || null; this.handler = handler2; this.abort = null; this.context = null; this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util.nop); + this.req = new PipelineRequest().on('error', util.nop); this.ret = new Duplex({ readableObjectMode: opts.objectMode, autoDestroy: true, @@ -12205,7 +12467,7 @@ var require_api_pipeline = __commonJS({ removeSignal(this); callback(err); } - }).on("prefinish", () => { + }).on('prefinish', () => { const { req } = this; req.push(null); }); @@ -12218,7 +12480,7 @@ var require_api_pipeline = __commonJS({ abort(this.reason); return; } - assert(!res, "pipeline cannot be retried"); + assert(!res, 'pipeline cannot be retried'); assert(!ret.destroyed); this.abort = abort; this.context = context3; @@ -12227,7 +12489,8 @@ var require_api_pipeline = __commonJS({ const { opaque, handler: handler2, context: context3 } = this; if (statusCode < 200) { if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = + this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); this.onInfo({ statusCode, headers }); } return; @@ -12236,7 +12499,7 @@ var require_api_pipeline = __commonJS({ let body; try { this.handler = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); body = this.runInAsyncScope(handler2, null, { statusCode, headers, @@ -12245,29 +12508,33 @@ var require_api_pipeline = __commonJS({ context: context3 }); } catch (err) { - this.res.on("error", util.nop); + 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()); - } - }); + 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) { @@ -12299,26 +12566,26 @@ var require_api_pipeline = __commonJS({ // node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade = __commonJS({ - "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/api/api-upgrade.js'(exports2, module2) { + 'use strict'; var { InvalidArgumentError, SocketError } = require_errors(); - var { AsyncResource } = require("node:async_hooks"); + var { AsyncResource } = require('node:async_hooks'); var util = require_util(); var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("node:assert"); + var assert = require('node:assert'); var UpgradeHandler = 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'); } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + 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 (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); } - super("UNDICI_UPGRADE"); + super('UNDICI_UPGRADE'); this.responseHeaders = responseHeaders || null; this.opaque = opaque || null; this.callback = callback; @@ -12336,14 +12603,14 @@ var require_api_upgrade = __commonJS({ this.context = null; } onHeaders() { - throw new SocketError("bad upgrade", null); + throw new SocketError('bad upgrade', null); } onUpgrade(statusCode, rawHeaders, socket) { assert(statusCode === 101); const { callback, opaque, context: context3 } = this; removeSignal(this); this.callback = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); this.runInAsyncScope(callback, null, null, { headers, socket, @@ -12372,13 +12639,16 @@ var require_api_upgrade = __commonJS({ } try { const upgradeHandler = new UpgradeHandler(opts, callback); - this.dispatch({ - ...opts, - method: opts.method || "GET", - upgrade: opts.protocol || "Websocket" - }, upgradeHandler); + this.dispatch( + { + ...opts, + method: opts.method || 'GET', + upgrade: opts.protocol || 'Websocket' + }, + upgradeHandler + ); } catch (err) { - if (typeof callback !== "function") { + if (typeof callback !== 'function') { throw err; } const opaque = opts?.opaque; @@ -12391,26 +12661,26 @@ var require_api_upgrade = __commonJS({ // node_modules/undici/lib/api/api-connect.js var require_api_connect = __commonJS({ - "node_modules/undici/lib/api/api-connect.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); - var { AsyncResource } = require("node:async_hooks"); + 'node_modules/undici/lib/api/api-connect.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); + var { AsyncResource } = require('node:async_hooks'); var { InvalidArgumentError, 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 (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + 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 (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); } - super("UNDICI_CONNECT"); + super('UNDICI_CONNECT'); this.opaque = opaque || null; this.responseHeaders = responseHeaders || null; this.callback = callback; @@ -12427,7 +12697,7 @@ var require_api_connect = __commonJS({ this.context = context3; } onHeaders() { - throw new SocketError("bad connect", null); + throw new SocketError('bad connect', null); } onUpgrade(statusCode, rawHeaders, socket) { const { callback, opaque, context: context3 } = this; @@ -12435,7 +12705,7 @@ var require_api_connect = __commonJS({ 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, @@ -12466,9 +12736,9 @@ var require_api_connect = __commonJS({ } try { const connectHandler = new ConnectHandler(opts, callback); - this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); + this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler); } catch (err) { - if (typeof callback !== "function") { + if (typeof callback !== 'function') { throw err; } const opaque = opts?.opaque; @@ -12481,8 +12751,8 @@ var require_api_connect = __commonJS({ // node_modules/undici/lib/api/index.js var require_api = __commonJS({ - "node_modules/undici/lib/api/index.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/api/index.js'(exports2, module2) { + 'use strict'; module2.exports.request = require_api_request(); module2.exports.stream = require_api_stream(); module2.exports.pipeline = require_api_pipeline(); @@ -12493,17 +12763,17 @@ var require_api = __commonJS({ // node_modules/undici/lib/mock/mock-errors.js var require_mock_errors = __commonJS({ - "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/mock/mock-errors.js'(exports2, module2) { + 'use strict'; var { UndiciError } = require_errors(); - var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); + var kMockNotMatchedError = Symbol.for('undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED'); 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"; + this.name = 'MockNotMatchedError'; + this.message = message || 'The request does not match any registered mock dispatches'; + this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED'; } static [Symbol.hasInstance](instance) { return instance && instance[kMockNotMatchedError] === true; @@ -12518,59 +12788,51 @@ var require_mock_errors = __commonJS({ // node_modules/undici/lib/mock/mock-symbols.js var require_mock_symbols = __commonJS({ - "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/mock/mock-symbols.js'(exports2, 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/undici/lib/mock/mock-utils.js var require_mock_utils = __commonJS({ - "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/mock/mock-utils.js'(exports2, module2) { + 'use strict'; var { MockNotMatchedError } = require_mock_errors(); - var { - kDispatches, - kMockAgent, - kOriginalDispatch, - kOrigin, - kGetNetConnect - } = require_mock_symbols(); + var { kDispatches, kMockAgent, kOriginalDispatch, kOrigin, kGetNetConnect } = require_mock_symbols(); var { buildURL } = require_util(); - var { STATUS_CODES } = require("node:http"); + var { STATUS_CODES } = require('node:http'); var { - types: { - isPromise - } - } = require("node:util"); + types: { isPromise } + } = require('node:util'); function matchValue(match, value) { - if (typeof match === "string") { + if (typeof match === 'string') { return match === value; } if (match instanceof RegExp) { return match.test(value); } - if (typeof match === "function") { + if (typeof match === 'function') { return match(value) === true; } return false; @@ -12590,7 +12852,7 @@ var require_mock_utils = __commonJS({ } } return void 0; - } else if (typeof headers.get === "function") { + } else if (typeof headers.get === 'function') { return headers.get(key); } else { return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; @@ -12605,16 +12867,16 @@ var require_mock_utils = __commonJS({ 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); } return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); } - if (typeof mockDispatch2.headers === "undefined") { + if (typeof mockDispatch2.headers === 'undefined') { return true; } - if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { + if (typeof headers !== 'object' || typeof mockDispatch2.headers !== 'object') { return false; } for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { @@ -12626,21 +12888,21 @@ var require_mock_utils = __commonJS({ return true; } function safeUrl(path) { - if (typeof path !== "string") { + if (typeof path !== 'string') { return path; } - const pathSegments = path.split("?"); + const pathSegments = path.split('?'); if (pathSegments.length !== 2) { return path; } const qp = new URLSearchParams(pathSegments.pop()); qp.sort(); - return [...pathSegments, qp.toString()].join("?"); + 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 bodyMatch = typeof mockDispatch2.body !== 'undefined' ? matchValue(mockDispatch2.body, body) : true; const headersMatch = matchHeaders(mockDispatch2, headers); return pathMatch && methodMatch && bodyMatch && headersMatch; } @@ -12651,7 +12913,7 @@ var require_mock_utils = __commonJS({ return data; } else if (data instanceof ArrayBuffer) { return data; - } else if (typeof data === "object") { + } else if (typeof data === 'object') { return JSON.stringify(data); } else { return data.toString(); @@ -12659,8 +12921,10 @@ var require_mock_utils = __commonJS({ } 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 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}'`); } @@ -12668,26 +12932,28 @@ var require_mock_utils = __commonJS({ if (matchedMockDispatches.length === 0) { throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`); } - 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}' on path '${resolvedPath}'`); } - matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); + matchedMockDispatches = matchedMockDispatches.filter(mockDispatch2 => matchHeaders(mockDispatch2, key.headers)); if (matchedMockDispatches.length === 0) { - const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers; + const headers = typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers; throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`); } 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 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) => { + const index = mockDispatches.findIndex(dispatch => { if (!dispatch.consumed) { return false; } @@ -12725,14 +12991,14 @@ var require_mock_utils = __commonJS({ return result; } function getStatusText(statusCode) { - return STATUS_CODES[statusCode] || "unknown"; + return STATUS_CODES[statusCode] || 'unknown'; } async function getResponse(body) { const buffers = []; for await (const data of body) { buffers.push(data); } - return Buffer.concat(buffers).toString("utf8"); + return Buffer.concat(buffers).toString('utf8'); } function mockDispatch(opts, handler2) { const key = buildKey(opts); @@ -12741,7 +13007,11 @@ var require_mock_utils = __commonJS({ if (mockDispatch2.data.callback) { mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; } - const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch2; + const { + data: { statusCode, data, headers, trailers, error }, + delay, + persist + } = mockDispatch2; const { timesInvoked, times } = mockDispatch2; mockDispatch2.consumed = !persist && timesInvoked >= times; mockDispatch2.pending = timesInvoked < times; @@ -12750,7 +13020,7 @@ var require_mock_utils = __commonJS({ handler2.onError(error); return true; } - if (typeof delay === "number" && delay > 0) { + if (typeof delay === 'number' && delay > 0) { setTimeout(() => { handleReply(this[kDispatches]); }, delay); @@ -12759,22 +13029,21 @@ var require_mock_utils = __commonJS({ } 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 body = typeof _data === 'function' ? _data({ ...opts, headers: optsHeaders }) : _data; if (isPromise(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); + body.then(newData => handleReply(mockDispatches, newData)); return; } const responseData = getResponseData2(body); const responseHeaders = generateKeyValues(headers); const responseTrailers = generateKeyValues(trailers); - handler2.onConnect?.((err) => handler2.onError(err), null); + handler2.onConnect?.(err => handler2.onError(err), null); handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode)); handler2.onData?.(Buffer.from(responseData)); handler2.onComplete?.(responseTrailers); deleteMockDispatch(mockDispatches, key); } - function resume() { - } + function resume() {} return true; } function buildMockDispatch() { @@ -12789,12 +13058,16 @@ var require_mock_utils = __commonJS({ if (error instanceof MockNotMatchedError) { 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, handler2); } 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; @@ -12809,7 +13082,7 @@ var require_mock_utils = __commonJS({ const url = new URL(origin); if (netConnect === true) { return true; - } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) { + } else if (Array.isArray(netConnect) && netConnect.some(matcher => matchValue(matcher, url.host))) { return true; } return false; @@ -12842,17 +13115,11 @@ var require_mock_utils = __commonJS({ // node_modules/undici/lib/mock/mock-interceptor.js var require_mock_interceptor = __commonJS({ - "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/mock/mock-interceptor.js'(exports2, module2) { + 'use strict'; var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils(); - var { - kDispatches, - kDispatchKey, - kDefaultHeaders, - kDefaultTrailers, - kContentLength, - kMockDispatch - } = require_mock_symbols(); + var { kDispatches, kDispatchKey, kDefaultHeaders, kDefaultTrailers, kContentLength, kMockDispatch } = + require_mock_symbols(); var { InvalidArgumentError } = require_errors(); var { buildURL } = require_util(); var MockScope = class { @@ -12863,8 +13130,8 @@ var require_mock_interceptor = __commonJS({ * 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; @@ -12880,8 +13147,8 @@ var require_mock_interceptor = __commonJS({ * 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; @@ -12889,24 +13156,24 @@ var require_mock_interceptor = __commonJS({ }; 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); } else { - const parsedURL = new URL(opts.path, "data://"); + const parsedURL = new URL(opts.path, 'data://'); opts.path = parsedURL.pathname + parsedURL.search; } } - if (typeof opts.method === "string") { + if (typeof opts.method === 'string') { opts.method = opts.method.toUpperCase(); } this[kDispatchKey] = buildKey(opts); @@ -12917,30 +13184,30 @@ var require_mock_interceptor = __commonJS({ } createMockScopeDispatchData({ statusCode, data, responseOptions }) { const responseData = getResponseData2(data); - const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; + 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(replyParameters) { - if (typeof replyParameters.statusCode === "undefined") { - throw new InvalidArgumentError("statusCode must be defined"); + if (typeof replyParameters.statusCode === 'undefined') { + throw new InvalidArgumentError('statusCode must be defined'); } - if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) { - throw new InvalidArgumentError("responseOptions must be an object"); + if (typeof replyParameters.responseOptions !== 'object' || replyParameters.responseOptions === null) { + throw new InvalidArgumentError('responseOptions must be an object'); } } /** * Mock an undici request with a defined reply. */ reply(replyOptionsCallbackOrStatusCode) { - if (typeof replyOptionsCallbackOrStatusCode === "function") { - const wrappedDefaultsCallback = (opts) => { + if (typeof replyOptionsCallbackOrStatusCode === 'function') { + const wrappedDefaultsCallback = opts => { const resolvedData = replyOptionsCallbackOrStatusCode(opts); - if (typeof resolvedData !== "object" || resolvedData === null) { - throw new InvalidArgumentError("reply options callback must return an object"); + if (typeof resolvedData !== 'object' || resolvedData === null) { + throw new InvalidArgumentError('reply options callback must return an object'); } - const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData }; + const replyParameters2 = { data: '', responseOptions: {}, ...resolvedData }; this.validateReplyParameters(replyParameters2); return { ...this.createMockScopeDispatchData(replyParameters2) @@ -12951,7 +13218,7 @@ var require_mock_interceptor = __commonJS({ } const replyParameters = { statusCode: replyOptionsCallbackOrStatusCode, - data: arguments[1] === void 0 ? "" : arguments[1], + data: arguments[1] === void 0 ? '' : arguments[1], responseOptions: arguments[2] === void 0 ? {} : arguments[2] }; this.validateReplyParameters(replyParameters); @@ -12963,8 +13230,8 @@ var require_mock_interceptor = __commonJS({ * 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); @@ -12973,8 +13240,8 @@ var require_mock_interceptor = __commonJS({ * 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; @@ -12983,8 +13250,8 @@ var require_mock_interceptor = __commonJS({ * 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; @@ -13004,28 +13271,20 @@ var require_mock_interceptor = __commonJS({ // node_modules/undici/lib/mock/mock-client.js var require_mock_client = __commonJS({ - "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { - "use strict"; - var { promisify } = require("node:util"); + 'node_modules/undici/lib/mock/mock-client.js'(exports2, module2) { + 'use strict'; + var { promisify } = require('node:util'); var Client = require_client(); var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); + var { kDispatches, kMockAgent, kClose, kOriginalClose, kOrigin, kOriginalDispatch, kConnected } = 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"); + 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; @@ -13057,28 +13316,20 @@ var require_mock_client = __commonJS({ // node_modules/undici/lib/mock/mock-pool.js var require_mock_pool = __commonJS({ - "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { - "use strict"; - var { promisify } = require("node:util"); + 'node_modules/undici/lib/mock/mock-pool.js'(exports2, module2) { + 'use strict'; + var { promisify } = require('node:util'); var Pool = require_pool(); var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); + var { kDispatches, kMockAgent, kClose, kOriginalClose, kOrigin, kOriginalDispatch, kConnected } = 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"); + 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; @@ -13110,19 +13361,19 @@ var require_mock_pool = __commonJS({ // node_modules/undici/lib/mock/pluralizer.js var require_pluralizer = __commonJS({ - "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/mock/pluralizer.js'(exports2, 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) { @@ -13141,12 +13392,12 @@ var require_pluralizer = __commonJS({ // node_modules/undici/lib/mock/pending-interceptors-formatter.js var require_pending_interceptors_formatter = __commonJS({ - "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { - "use strict"; - var { Transform } = require("node:stream"); - var { Console } = require("node:console"); - var PERSISTENT = process.versions.icu ? "\u2705" : "Y "; - var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N "; + 'node_modules/undici/lib/mock/pending-interceptors-formatter.js'(exports2, module2) { + 'use strict'; + var { Transform } = require('node:stream'); + var { Console } = require('node:console'); + var PERSISTENT = process.versions.icu ? '\u2705' : 'Y '; + var NOT_PERSISTENT = process.versions.icu ? '\u274C' : 'N '; module2.exports = class PendingInterceptorsFormatter { constructor({ disableColors } = {}) { this.transform = new Transform({ @@ -13167,7 +13418,7 @@ var require_pending_interceptors_formatter = __commonJS({ Method: method, Origin: origin, Path: path, - "Status code": statusCode, + 'Status code': statusCode, Persistent: persist ? PERSISTENT : NOT_PERSISTENT, Invocations: timesInvoked, Remaining: persist ? Infinity : times - timesInvoked @@ -13182,8 +13433,8 @@ var require_pending_interceptors_formatter = __commonJS({ // node_modules/undici/lib/mock/mock-agent.js var require_mock_agent = __commonJS({ - "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/mock/mock-agent.js'(exports2, module2) { + 'use strict'; var { kClients } = require_symbols(); var Agent = require_agent(); var { @@ -13209,8 +13460,8 @@ var require_mock_agent = __commonJS({ super(opts); this[kNetConnect] = true; this[kIsMockActive] = true; - if (opts?.agent && typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); + if (opts?.agent && typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument opts.agent must implement Agent'); } const agent = opts?.agent ? opts.agent : new Agent(opts); this[kAgent] = agent; @@ -13240,16 +13491,16 @@ var require_mock_agent = __commonJS({ 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); } else { this[kNetConnect] = [matcher]; } - } else if (typeof matcher === "undefined") { + } 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() { @@ -13265,20 +13516,22 @@ var require_mock_agent = __commonJS({ } [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); + return this[kOptions] && this[kOptions].connections === 1 + ? new MockClient(origin, mockOptions) + : new MockPool(origin, mockOptions); } [kMockAgentGet](origin) { const client = this[kClients].get(origin); if (client) { return client; } - if (typeof origin !== "string") { - const dispatcher = this[kFactory]("http://localhost:9999"); + if (typeof origin !== 'string') { + const dispatcher = this[kFactory]('http://localhost:9999'); this[kMockAgentSet](origin, dispatcher); return dispatcher; } for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) { - if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { + if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) { const dispatcher = this[kFactory](origin); this[kMockAgentSet](origin, dispatcher); dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; @@ -13291,19 +13544,23 @@ var require_mock_agent = __commonJS({ } pendingInterceptors() { const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + return Array.from(mockAgentClients.entries()) + .flatMap(([origin, scope]) => scope[kDispatches].map(dispatch => ({ ...dispatch, origin }))) + .filter(({ pending }) => pending); } 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(` + 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; @@ -13312,17 +13569,17 @@ ${pendingInterceptorsFormatter.format(pending)} // node_modules/undici/lib/global.js var require_global2 = __commonJS({ - "node_modules/undici/lib/global.js"(exports2, module2) { - "use strict"; - var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); + 'node_modules/undici/lib/global.js'(exports2, 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()); } 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, @@ -13343,13 +13600,13 @@ var require_global2 = __commonJS({ // node_modules/undici/lib/handler/decorator-handler.js var require_decorator_handler = __commonJS({ - "node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/handler/decorator-handler.js'(exports2, module2) { + 'use strict'; module2.exports = class DecoratorHandler { #handler; constructor(handler2) { - if (typeof handler2 !== "object" || handler2 === null) { - throw new TypeError("handler must be an object"); + if (typeof handler2 !== 'object' || handler2 === null) { + throw new TypeError('handler must be an object'); } this.#handler = handler2; } @@ -13383,23 +13640,18 @@ var require_decorator_handler = __commonJS({ // node_modules/undici/lib/interceptor/redirect.js var require_redirect = __commonJS({ - "node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/interceptor/redirect.js'(exports2, module2) { + 'use strict'; var RedirectHandler = require_redirect_handler(); - module2.exports = (opts) => { + module2.exports = opts => { const globalMaxRedirections = opts?.maxRedirections; - return (dispatch) => { + return dispatch => { return function redirectInterceptor(opts2, handler2) { const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2; if (!maxRedirections) { return dispatch(opts2, handler2); } - const redirectHandler = new RedirectHandler( - dispatch, - maxRedirections, - opts2, - handler2 - ); + const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts2, handler2); return dispatch(baseOpts, redirectHandler); }; }; @@ -13409,11 +13661,11 @@ var require_redirect = __commonJS({ // node_modules/undici/lib/interceptor/retry.js var require_retry = __commonJS({ - "node_modules/undici/lib/interceptor/retry.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/interceptor/retry.js'(exports2, module2) { + 'use strict'; var RetryHandler = require_retry_handler(); - module2.exports = (globalOpts) => { - return (dispatch) => { + module2.exports = globalOpts => { + return dispatch => { return function retryInterceptor(opts, handler2) { return dispatch( opts, @@ -13433,8 +13685,8 @@ var require_retry = __commonJS({ // node_modules/undici/lib/interceptor/dump.js var require_dump = __commonJS({ - "node_modules/undici/lib/interceptor/dump.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/interceptor/dump.js'(exports2, module2) { + 'use strict'; var util = require_util(); var { InvalidArgumentError, RequestAbortedError } = require_errors(); var DecoratorHandler = require_decorator_handler(); @@ -13449,7 +13701,7 @@ var require_dump = __commonJS({ constructor({ maxSize }, handler2) { super(handler2); if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) { - throw new InvalidArgumentError("maxSize must be a number greater than 0"); + throw new InvalidArgumentError('maxSize must be a number greater than 0'); } this.#maxSize = maxSize ?? this.#maxSize; this.#handler = handler2; @@ -13465,21 +13717,14 @@ var require_dump = __commonJS({ // TODO: will require adjustment after new hooks are out onHeaders(statusCode, rawHeaders, resume, statusMessage) { const headers = util.parseHeaders(rawHeaders); - const contentLength = headers["content-length"]; + const contentLength = headers['content-length']; if (contentLength != null && contentLength > this.#maxSize) { - throw new RequestAbortedError( - `Response size (${contentLength}) larger than maxSize (${this.#maxSize})` - ); + throw new RequestAbortedError(`Response size (${contentLength}) larger than maxSize (${this.#maxSize})`); } if (this.#aborted) { return true; } - return this.#handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); + return this.#handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); } onError(err) { if (this.#dumped) { @@ -13511,16 +13756,15 @@ var require_dump = __commonJS({ this.#handler.onComplete(trailers); } }; - function createDumpInterceptor({ maxSize: defaultMaxSize } = { - maxSize: 1024 * 1024 - }) { - return (dispatch) => { + function createDumpInterceptor( + { maxSize: defaultMaxSize } = { + maxSize: 1024 * 1024 + } + ) { + return dispatch => { return function Intercept(opts, handler2) { const { dumpMaxSize = defaultMaxSize } = opts; - const dumpHandler = new DumpHandler( - { maxSize: dumpMaxSize }, - handler2 - ); + const dumpHandler = new DumpHandler({ maxSize: dumpMaxSize }, handler2); return dispatch(opts, dumpHandler); }; }; @@ -13531,10 +13775,10 @@ var require_dump = __commonJS({ // node_modules/undici/lib/interceptor/dns.js var require_dns = __commonJS({ - "node_modules/undici/lib/interceptor/dns.js"(exports2, module2) { - "use strict"; - var { isIP } = require("node:net"); - var { lookup } = require("node:dns"); + 'node_modules/undici/lib/interceptor/dns.js'(exports2, module2) { + 'use strict'; + var { isIP } = require('node:net'); + var { lookup } = require('node:dns'); var DecoratorHandler = require_decorator_handler(); var { InvalidArgumentError, InformationalError } = require_errors(); var maxInt = Math.pow(2, 31) - 1; @@ -13575,52 +13819,38 @@ var require_dns = __commonJS({ if (ips == null) { this.lookup(origin, newOpts, (err, addresses) => { if (err || addresses == null || addresses.length === 0) { - cb(err ?? new InformationalError("No DNS entries found")); + cb(err ?? new InformationalError('No DNS entries found')); return; } this.setRecords(origin, addresses); const records = this.#records.get(origin.hostname); - const ip = this.pick( - origin, - records, - newOpts.affinity - ); + const ip = this.pick(origin, records, newOpts.affinity); let port; - if (typeof ip.port === "number") { + if (typeof ip.port === 'number') { port = `:${ip.port}`; - } else if (origin.port !== "") { + } else if (origin.port !== '') { port = `:${origin.port}`; } else { - port = ""; + port = ''; } - cb( - null, - `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` - ); + cb(null, `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`); }); } else { - const ip = this.pick( - origin, - ips, - newOpts.affinity - ); + const ip = this.pick(origin, ips, newOpts.affinity); if (ip == null) { this.#records.delete(origin.hostname); this.runLookup(origin, opts, cb); return; } let port; - if (typeof ip.port === "number") { + if (typeof ip.port === 'number') { port = `:${ip.port}`; - } else if (origin.port !== "") { + } else if (origin.port !== '') { port = `:${origin.port}`; } else { - port = ""; + port = ''; } - cb( - null, - `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` - ); + cb(null, `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`); } } #defaultLookup(origin, opts, cb) { @@ -13629,7 +13859,7 @@ var require_dns = __commonJS({ { all: true, family: this.dualStack === false ? this.affinity : 0, - order: "ipv4first" + order: 'ipv4first' }, (err, addresses) => { if (err) { @@ -13689,7 +13919,7 @@ var require_dns = __commonJS({ const records = { records: { 4: null, 6: null } }; for (const record of addresses) { record.timestamp = timestamp; - if (typeof record.ttl === "number") { + if (typeof record.ttl === 'number') { record.ttl = Math.min(record.ttl, this.#maxTTL); } else { record.ttl = this.#maxTTL; @@ -13720,8 +13950,8 @@ var require_dns = __commonJS({ } onError(err) { switch (err.code) { - case "ETIMEDOUT": - case "ECONNREFUSED": { + case 'ETIMEDOUT': + case 'ECONNREFUSED': { if (this.#state.dualStack) { this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => { if (err2) { @@ -13738,7 +13968,7 @@ var require_dns = __commonJS({ this.#handler.onError(err); return; } - case "ENOTFOUND": + case 'ENOTFOUND': this.#state.deleteRecord(this.#origin); // eslint-disable-next-line no-fallthrough default: @@ -13747,26 +13977,27 @@ var require_dns = __commonJS({ } } }; - module2.exports = (interceptorOpts) => { - if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) { - throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number"); + module2.exports = interceptorOpts => { + if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== 'number' || interceptorOpts?.maxTTL < 0)) { + throw new InvalidArgumentError('Invalid maxTTL. Must be a positive number'); } - if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) { - throw new InvalidArgumentError( - "Invalid maxItems. Must be a positive number and greater than zero" - ); + if ( + interceptorOpts?.maxItems != null && + (typeof interceptorOpts?.maxItems !== 'number' || interceptorOpts?.maxItems < 1) + ) { + throw new InvalidArgumentError('Invalid maxItems. Must be a positive number and greater than zero'); } if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) { - throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6"); + throw new InvalidArgumentError('Invalid affinity. Must be either 4 or 6'); } - if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") { - throw new InvalidArgumentError("Invalid dualStack. Must be a boolean"); + if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== 'boolean') { + throw new InvalidArgumentError('Invalid dualStack. Must be a boolean'); } - if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") { - throw new InvalidArgumentError("Invalid lookup. Must be a function"); + if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== 'function') { + throw new InvalidArgumentError('Invalid lookup. Must be a function'); } - if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") { - throw new InvalidArgumentError("Invalid pick. Must be a function"); + if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== 'function') { + throw new InvalidArgumentError('Invalid pick. Must be a function'); } const dualStack = interceptorOpts?.dualStack ?? true; let affinity; @@ -13785,9 +14016,10 @@ var require_dns = __commonJS({ maxItems: interceptorOpts?.maxItems ?? Infinity }; const instance = new DNSInstance(opts); - return (dispatch) => { + return dispatch => { return function dnsInterceptor(origDispatchOpts, handler2) { - const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin); + const origin = + origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin); if (isIP(origin.hostname) !== 0) { return dispatch(origDispatchOpts, handler2); } @@ -13806,10 +14038,7 @@ var require_dns = __commonJS({ ...origDispatchOpts.headers } }; - dispatch( - dispatchOpts, - instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts) - ); + dispatch(dispatchOpts, instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)); }); return true; }; @@ -13820,20 +14049,16 @@ var require_dns = __commonJS({ // node_modules/undici/lib/web/fetch/headers.js var require_headers = __commonJS({ - "node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/headers.js'(exports2, module2) { + 'use strict'; var { kConstruct } = require_symbols(); var { kEnumerableProperty } = require_util(); - var { - iteratorMixin, - isValidHeaderName, - isValidHeaderValue - } = require_util2(); + var { iteratorMixin, isValidHeaderName, isValidHeaderValue } = require_util2(); var { webidl } = require_webidl(); - var assert = require("node:assert"); - var util = require("node:util"); - var kHeadersMap = Symbol("headers map"); - var kHeadersSortedMap = Symbol("headers map sorted"); + var assert = require('node:assert'); + var util = require('node:util'); + var kHeadersMap = Symbol('headers map'); + var kHeadersSortedMap = Symbol('headers map sorted'); function isHTTPWhiteSpaceCharCode(code) { return code === 10 || code === 13 || code === 9 || code === 32; } @@ -13850,22 +14075,22 @@ var require_headers = __commonJS({ const header = object[i]; 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}.` }); } appendHeader(headers, header[0], header[1]); } - } else if (typeof object === "object" && object !== null) { + } else if (typeof object === 'object' && object !== null) { const keys = Object.keys(object); for (let i = 0; i < keys.length; ++i) { appendHeader(headers, keys[i], object[keys[i]]); } } else { throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] + prefix: 'Headers constructor', + argument: 'Argument 1', + types: ['sequence>', 'record'] }); } } @@ -13873,19 +14098,19 @@ var require_headers = __commonJS({ 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 (getHeadersGuard(headers) === "immutable") { - throw new TypeError("immutable"); + if (getHeadersGuard(headers) === 'immutable') { + throw new TypeError('immutable'); } return getHeadersList(headers).append(name, value, false); } @@ -13929,7 +14154,7 @@ var require_headers = __commonJS({ const lowercaseName = isLowerCase ? name : 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}` @@ -13937,7 +14162,7 @@ var require_headers = __commonJS({ } else { this[kHeadersMap].set(lowercaseName, { name, value }); } - if (lowercaseName === "set-cookie") { + if (lowercaseName === 'set-cookie') { (this.cookies ??= []).push(value); } } @@ -13950,7 +14175,7 @@ var require_headers = __commonJS({ set(name, value, isLowerCase) { this[kHeadersSortedMap] = null; const lowercaseName = isLowerCase ? name : name.toLowerCase(); - if (lowercaseName === "set-cookie") { + if (lowercaseName === 'set-cookie') { this.cookies = [value]; } this[kHeadersMap].set(lowercaseName, { name, value }); @@ -13963,7 +14188,7 @@ var require_headers = __commonJS({ delete(name, isLowerCase) { this[kHeadersSortedMap] = null; if (!isLowerCase) name = name.toLowerCase(); - if (name === "set-cookie") { + if (name === 'set-cookie') { this.cookies = null; } this[kHeadersMap].delete(name); @@ -13978,7 +14203,10 @@ var require_headers = __commonJS({ return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null; } *[Symbol.iterator]() { - for (const { 0: name, 1: { value } } of this[kHeadersMap]) { + for (const { + 0: name, + 1: { value } + } of this[kHeadersMap]) { yield [name, value]; } } @@ -13997,8 +14225,11 @@ var require_headers = __commonJS({ get entriesList() { const headers = []; if (this[kHeadersMap].size !== 0) { - for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) { - if (lowerName === "set-cookie") { + for (const { + 0: lowerName, + 1: { name, value } + } of this[kHeadersMap]) { + if (lowerName === 'set-cookie') { for (const cookie of this.cookies) { headers.push([name, cookie]); } @@ -14028,7 +14259,7 @@ var require_headers = __commonJS({ left = 0; right = i; while (left < right) { - pivot = left + (right - left >> 1); + pivot = left + ((right - left) >> 1); if (array[pivot][0] <= x[0]) { left = pivot + 1; } else { @@ -14044,12 +14275,15 @@ var require_headers = __commonJS({ } } if (!iterator2.next().done) { - throw new TypeError("Unreachable"); + throw new TypeError('Unreachable'); } return array; } else { let i = 0; - for (const { 0: name, 1: { value } } of this[kHeadersMap]) { + for (const { + 0: name, + 1: { value } + } of this[kHeadersMap]) { array[i++] = [name, value]; assert(value !== null); } @@ -14066,36 +14300,36 @@ var require_headers = __commonJS({ return; } this.#headersList = new HeadersList(); - this.#guard = "none"; + this.#guard = 'none'; if (init !== void 0) { - init = webidl.converters.HeadersInit(init, "Headers contructor", "init"); + init = webidl.converters.HeadersInit(init, 'Headers contructor', 'init'); fill(this, init); } } // https://fetch.spec.whatwg.org/#dom-headers-append append(name, value) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, "Headers.append"); - const prefix = "Headers.append"; - name = webidl.converters.ByteString(name, prefix, "name"); - value = webidl.converters.ByteString(value, prefix, "value"); + webidl.argumentLengthCheck(arguments, 2, 'Headers.append'); + const prefix = 'Headers.append'; + name = webidl.converters.ByteString(name, prefix, 'name'); + value = webidl.converters.ByteString(value, prefix, 'value'); return appendHeader(this, name, value); } // https://fetch.spec.whatwg.org/#dom-headers-delete delete(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, "Headers.delete"); - const prefix = "Headers.delete"; - name = webidl.converters.ByteString(name, prefix, "name"); + webidl.argumentLengthCheck(arguments, 1, 'Headers.delete'); + const prefix = 'Headers.delete'; + name = webidl.converters.ByteString(name, prefix, 'name'); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.delete", + prefix: 'Headers.delete', value: name, - type: "header name" + type: 'header name' }); } - if (this.#guard === "immutable") { - throw new TypeError("immutable"); + if (this.#guard === 'immutable') { + throw new TypeError('immutable'); } if (!this.#headersList.contains(name, false)) { return; @@ -14105,14 +14339,14 @@ var require_headers = __commonJS({ // https://fetch.spec.whatwg.org/#dom-headers-get get(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, "Headers.get"); - const prefix = "Headers.get"; - name = webidl.converters.ByteString(name, prefix, "name"); + webidl.argumentLengthCheck(arguments, 1, 'Headers.get'); + const prefix = 'Headers.get'; + name = webidl.converters.ByteString(name, prefix, 'name'); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ prefix, value: name, - type: "header name" + type: 'header name' }); } return this.#headersList.get(name, false); @@ -14120,14 +14354,14 @@ var require_headers = __commonJS({ // https://fetch.spec.whatwg.org/#dom-headers-has has(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, "Headers.has"); - const prefix = "Headers.has"; - name = webidl.converters.ByteString(name, prefix, "name"); + webidl.argumentLengthCheck(arguments, 1, 'Headers.has'); + const prefix = 'Headers.has'; + name = webidl.converters.ByteString(name, prefix, 'name'); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ prefix, value: name, - type: "header name" + type: 'header name' }); } return this.#headersList.contains(name, false); @@ -14135,26 +14369,26 @@ var require_headers = __commonJS({ // https://fetch.spec.whatwg.org/#dom-headers-set set(name, value) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, "Headers.set"); - const prefix = "Headers.set"; - name = webidl.converters.ByteString(name, prefix, "name"); - value = webidl.converters.ByteString(value, prefix, "value"); + webidl.argumentLengthCheck(arguments, 2, 'Headers.set'); + const prefix = 'Headers.set'; + name = webidl.converters.ByteString(name, prefix, 'name'); + value = webidl.converters.ByteString(value, prefix, 'value'); value = headerValueNormalize(value); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ prefix, value: name, - type: "header name" + type: 'header name' }); } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ prefix, value, - type: "header value" + type: 'header value' }); } - if (this.#guard === "immutable") { - throw new TypeError("immutable"); + if (this.#guard === 'immutable') { + throw new TypeError('immutable'); } this.#headersList.set(name, value, false); } @@ -14176,11 +14410,11 @@ var require_headers = __commonJS({ const names = this.#headersList.toSortedArray(); const cookies = this.#headersList.cookies; if (cookies === null || cookies.length === 1) { - return this.#headersList[kHeadersSortedMap] = names; + return (this.#headersList[kHeadersSortedMap] = names); } for (let i = 0; i < names.length; ++i) { const { 0: name, 1: value } = names[i]; - if (name === "set-cookie") { + if (name === 'set-cookie') { for (let j = 0; j < cookies.length; ++j) { headers.push([name, cookies[j]]); } @@ -14188,7 +14422,7 @@ var require_headers = __commonJS({ headers.push([name, value]); } } - return this.#headersList[kHeadersSortedMap] = headers; + return (this.#headersList[kHeadersSortedMap] = headers); } [util.inspect.custom](depth, options) { options.depth ??= depth; @@ -14208,11 +14442,11 @@ var require_headers = __commonJS({ } }; var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers; - Reflect.deleteProperty(Headers, "getHeadersGuard"); - Reflect.deleteProperty(Headers, "setHeadersGuard"); - Reflect.deleteProperty(Headers, "getHeadersList"); - Reflect.deleteProperty(Headers, "setHeadersList"); - iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1); + Reflect.deleteProperty(Headers, 'getHeadersGuard'); + Reflect.deleteProperty(Headers, 'setHeadersGuard'); + Reflect.deleteProperty(Headers, 'getHeadersList'); + Reflect.deleteProperty(Headers, 'setHeadersList'); + iteratorMixin('Headers', Headers, kHeadersSortedMap, 0, 1); Object.defineProperties(Headers.prototype, { append: kEnumerableProperty, delete: kEnumerableProperty, @@ -14221,31 +14455,30 @@ var require_headers = __commonJS({ set: kEnumerableProperty, getSetCookie: kEnumerableProperty, [Symbol.toStringTag]: { - value: "Headers", + value: 'Headers', configurable: true }, [util.inspect.custom]: { enumerable: false } }); - webidl.converters.HeadersInit = function(V, prefix, argument) { - if (webidl.util.Type(V) === "Object") { + webidl.converters.HeadersInit = function (V, prefix, argument) { + if (webidl.util.Type(V) === 'Object') { const iterator2 = Reflect.get(V, Symbol.iterator); if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) { try { return getHeadersList(V).entriesList; - } catch { - } + } catch {} } - if (typeof iterator2 === "function") { - return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V)); + if (typeof iterator2 === 'function') { + return webidl.converters['sequence>'](V, prefix, argument, iterator2.bind(V)); } - return webidl.converters["record"](V, prefix, argument); + return webidl.converters['record'](V, prefix, argument); } throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] + prefix: 'Headers constructor', + argument: 'Argument 1', + types: ['sequence>', 'record'] }); }; module2.exports = { @@ -14264,12 +14497,12 @@ var require_headers = __commonJS({ // node_modules/undici/lib/web/fetch/response.js var require_response = __commonJS({ - "node_modules/undici/lib/web/fetch/response.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/response.js'(exports2, module2) { + 'use strict'; var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers(); var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body(); var util = require_util(); - var nodeUtil = require("node:util"); + var nodeUtil = require('node:util'); var { kEnumerableProperty } = util; var { isValidReasonPhrase, @@ -14281,43 +14514,38 @@ var require_response = __commonJS({ isomorphicEncode, environmentSettingsObject: relevantRealm } = require_util2(); - var { - redirectStatusSet, - nullBodyStatus - } = require_constants3(); + var { redirectStatusSet, nullBodyStatus } = require_constants3(); var { kState, kHeaders } = require_symbols2(); var { webidl } = require_webidl(); var { FormData } = require_formdata(); var { URLSerializer } = require_data_url(); var { kConstruct } = require_symbols(); - var assert = require("node:assert"); - var { types } = require("node:util"); - var textEncoder = new TextEncoder("utf-8"); + var assert = require('node:assert'); + var { types } = require('node:util'); + var textEncoder = new TextEncoder('utf-8'); var Response = class _Response { // Creates network error Response. static error() { - const responseObject = fromInnerResponse(makeNetworkError(), "immutable"); + const responseObject = fromInnerResponse(makeNetworkError(), 'immutable'); return responseObject; } // https://fetch.spec.whatwg.org/#dom-response-json static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, "Response.json"); + webidl.argumentLengthCheck(arguments, 1, 'Response.json'); if (init !== null) { init = webidl.converters.ResponseInit(init); } - const bytes = textEncoder.encode( - serializeJavascriptValueToJSONString(data) - ); + const bytes = textEncoder.encode(serializeJavascriptValueToJSONString(data)); const body = extractBody(bytes); - const responseObject = fromInnerResponse(makeResponse({}), "response"); - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); + const responseObject = fromInnerResponse(makeResponse({}), 'response'); + 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) { - webidl.argumentLengthCheck(arguments, 1, "Response.redirect"); + webidl.argumentLengthCheck(arguments, 1, 'Response.redirect'); url = webidl.converters.USVString(url); - status = webidl.converters["unsigned short"](status); + status = webidl.converters['unsigned short'](status); let parsedURL; try { parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl); @@ -14327,10 +14555,10 @@ var require_response = __commonJS({ if (!redirectStatusSet.has(status)) { throw new RangeError(`Invalid status code ${status}`); } - const responseObject = fromInnerResponse(makeResponse({}), "immutable"); + const responseObject = fromInnerResponse(makeResponse({}), 'immutable'); responseObject[kState].status = status; const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value, true); + responseObject[kState].headersList.append('location', value, true); return responseObject; } // https://fetch.spec.whatwg.org/#dom-response @@ -14345,7 +14573,7 @@ var require_response = __commonJS({ init = webidl.converters.ResponseInit(init); this[kState] = makeResponse({}); this[kHeaders] = new Headers(kConstruct); - setHeadersGuard(this[kHeaders], "response"); + setHeadersGuard(this[kHeaders], 'response'); setHeadersList(this[kHeaders], this[kState].headersList); let bodyWithType = null; if (body != null) { @@ -14365,7 +14593,7 @@ var require_response = __commonJS({ const urlList = this[kState].urlList; const url = urlList[urlList.length - 1] ?? null; if (url === null) { - return ""; + return ''; } return URLSerializer(url, true); } @@ -14407,8 +14635,8 @@ var require_response = __commonJS({ webidl.brandCheck(this, _Response); if (bodyUnusable(this)) { throw webidl.errors.exception({ - header: "Response.clone", - message: "Body has already been consumed." + header: 'Response.clone', + message: 'Body has already been consumed.' }); } const clonedResponse = cloneResponse(this[kState]); @@ -14449,7 +14677,7 @@ var require_response = __commonJS({ body: kEnumerableProperty, bodyUsed: kEnumerableProperty, [Symbol.toStringTag]: { - value: "Response", + value: 'Response', configurable: true } }); @@ -14460,10 +14688,7 @@ var require_response = __commonJS({ }); function cloneResponse(response) { if (response.internalResponse) { - return filterResponse( - cloneResponse(response.internalResponse), - response.type - ); + return filterResponse(cloneResponse(response.internalResponse), response.type); } const newResponse = makeResponse({ ...response, body: null }); if (response.body != null) { @@ -14477,11 +14702,11 @@ 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(), urlList: init?.urlList ? [...init.urlList] : [] @@ -14490,16 +14715,16 @@ var require_response = __commonJS({ function makeNetworkError(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 isNetworkError(response) { return ( // A network error is a response whose type is "error", - response.type === "error" && // status is 0 + response.type === 'error' && // status is 0 response.status === 0 ); } @@ -14520,29 +14745,29 @@ var require_response = __commonJS({ }); } 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 }); @@ -14552,36 +14777,38 @@ var require_response = __commonJS({ } function makeAppropriateNetworkError(fetchParams, err = null) { assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err })); + return isAborted(fetchParams) + ? makeNetworkError(Object.assign(new DOMException('The operation was aborted.', 'AbortError'), { cause: err })) + : makeNetworkError(Object.assign(new DOMException('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.'); } - 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) { + if ('status' in init && init.status != null) { response[kState].status = init.status; } - if ("statusText" in init && init.statusText != null) { + if ('statusText' in init && init.statusText != null) { response[kState].statusText = init.statusText; } - if ("headers" in init && init.headers != null) { + 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", + 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", true)) { - response[kState].headersList.append("content-type", body.type, true); + if (body.type != null && !response[kState].headersList.contains('content-type', true)) { + response[kState].headersList.append('content-type', body.type, true); } } } @@ -14596,17 +14823,11 @@ var require_response = __commonJS({ } return response; } - webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream - ); - webidl.converters.FormData = webidl.interfaceConverter( - FormData - ); - webidl.converters.URLSearchParams = webidl.interfaceConverter( - URLSearchParams - ); - webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) { - if (typeof V === "string") { + webidl.converters.ReadableStream = webidl.interfaceConverter(ReadableStream); + webidl.converters.FormData = webidl.interfaceConverter(FormData); + webidl.converters.URLSearchParams = webidl.interfaceConverter(URLSearchParams); + webidl.converters.XMLHttpRequestBodyInit = function (V, prefix, name) { + if (typeof V === 'string') { return webidl.converters.USVString(V, prefix, name); } if (isBlobLike(V)) { @@ -14623,7 +14844,7 @@ var require_response = __commonJS({ } return webidl.converters.DOMString(V, prefix, name); }; - webidl.converters.BodyInit = function(V, prefix, argument) { + webidl.converters.BodyInit = function (V, prefix, argument) { if (V instanceof ReadableStream) { return webidl.converters.ReadableStream(V, prefix, argument); } @@ -14634,17 +14855,17 @@ var require_response = __commonJS({ }; 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 } ]); @@ -14663,8 +14884,8 @@ var require_response = __commonJS({ // node_modules/undici/lib/web/fetch/dispatcher-weakref.js var require_dispatcher_weakref = __commonJS({ - "node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/dispatcher-weakref.js'(exports2, module2) { + 'use strict'; var { kConnected, kSize } = require_symbols(); var CompatWeakRef = class { constructor(value) { @@ -14680,19 +14901,18 @@ var require_dispatcher_weakref = __commonJS({ } register(dispatcher, key) { if (dispatcher.on) { - dispatcher.on("disconnect", () => { + dispatcher.on('disconnect', () => { if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { this.finalizer(key); } }); } } - unregister(key) { - } + unregister(key) {} }; - module2.exports = function() { - if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) { - process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"); + module2.exports = function () { + if (process.env.NODE_V8_COVERAGE && process.version.startsWith('v18')) { + process._rawDebug('Using compatibility WeakRef and FinalizationRegistry'); return { WeakRef: CompatWeakRef, FinalizationRegistry: CompatFinalizer @@ -14705,18 +14925,22 @@ var require_dispatcher_weakref = __commonJS({ // node_modules/undici/lib/web/fetch/request.js var require_request2 = __commonJS({ - "node_modules/undici/lib/web/fetch/request.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fetch/request.js'(exports2, module2) { + 'use strict'; var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body(); - var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers(); + var { + Headers, + fill: fillHeaders, + HeadersList, + setHeadersGuard, + getHeadersGuard, + setHeadersList, + getHeadersList + } = require_headers(); var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); var util = require_util(); - var nodeUtil = require("node:util"); - var { - isValidHTTPToken, - sameOrigin, - environmentSettingsObject - } = require_util2(); + var nodeUtil = require('node:util'); + var { isValidHTTPToken, sameOrigin, environmentSettingsObject } = require_util2(); var { forbiddenMethodsSet, corsSafeListedMethodsSet, @@ -14732,11 +14956,11 @@ var require_request2 = __commonJS({ var { webidl } = require_webidl(); var { URLSerializer } = require_data_url(); var { kConstruct } = require_symbols(); - var assert = require("node:assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events"); - var kAbortController = Symbol("abortController"); + var assert = require('node:assert'); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('node:events'); + var kAbortController = Symbol('abortController'); var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { - signal.removeEventListener("abort", abort); + signal.removeEventListener('abort', abort); }); var dependentControllerMap = /* @__PURE__ */ new WeakMap(); function buildAbort(acRef) { @@ -14745,7 +14969,7 @@ var require_request2 = __commonJS({ const ac = acRef.deref(); if (ac !== void 0) { requestFinalizer.unregister(abort); - this.removeEventListener("abort", abort); + this.removeEventListener('abort', abort); ac.abort(this.reason); const controllerList = dependentControllerMap.get(ac.signal); if (controllerList !== void 0) { @@ -14771,29 +14995,27 @@ var require_request2 = __commonJS({ if (input === kConstruct) { return; } - const prefix = "Request constructor"; + const prefix = 'Request constructor'; webidl.argumentLengthCheck(arguments, 1, prefix); - input = webidl.converters.RequestInfo(input, prefix, "input"); - init = webidl.converters.RequestInit(init, prefix, "init"); + input = webidl.converters.RequestInfo(input, prefix, 'input'); + init = webidl.converters.RequestInit(init, prefix, 'init'); let request2 = null; let fallbackMode = null; const baseUrl2 = environmentSettingsObject.settingsObject.baseUrl; let signal = null; - if (typeof input === "string") { + if (typeof input === 'string') { this[kDispatcher] = init.dispatcher; let parsedURL; try { parsedURL = new URL(input, baseUrl2); } 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 - ); + throw new TypeError('Request cannot be constructed from a URL that includes credentials: ' + input); } request2 = makeRequest({ urlList: [parsedURL] }); - fallbackMode = "cors"; + fallbackMode = 'cors'; } else { this[kDispatcher] = init.dispatcher || input[kDispatcher]; assert(input instanceof _Request); @@ -14801,15 +15023,15 @@ var require_request2 = __commonJS({ signal = input[kSignal]; } const origin = environmentSettingsObject.settingsObject.origin; - let window = "client"; - if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) { + let window = 'client'; + if (request2.window?.constructor?.name === 'EnvironmentSettingsObject' && sameOrigin(request2.window, origin)) { window = request2.window; } if (init.window != null) { throw new TypeError(`'window' option '${window}' must be null`); } - if ("window" in init) { - window = "no-window"; + if ('window' in init) { + window = 'no-window'; } request2 = makeRequest({ // URL request’s URL. @@ -14856,21 +15078,21 @@ var require_request2 = __commonJS({ }); const initHasKey = Object.keys(init).length !== 0; if (initHasKey) { - if (request2.mode === "navigate") { - request2.mode = "same-origin"; + if (request2.mode === 'navigate') { + request2.mode = 'same-origin'; } request2.reloadNavigation = false; request2.historyNavigation = false; - request2.origin = "client"; - request2.referrer = "client"; - request2.referrerPolicy = ""; + request2.origin = 'client'; + request2.referrer = 'client'; + request2.referrerPolicy = ''; request2.url = request2.urlList[request2.urlList.length - 1]; request2.urlList = [request2.url]; } if (init.referrer !== void 0) { const referrer = init.referrer; - if (referrer === "") { - request2.referrer = "no-referrer"; + if (referrer === '') { + request2.referrer = 'no-referrer'; } else { let parsedReferrer; try { @@ -14878,8 +15100,11 @@ var require_request2 = __commonJS({ } catch (err) { throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) { - request2.referrer = "client"; + if ( + (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') || + (origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) + ) { + request2.referrer = 'client'; } else { request2.referrer = parsedReferrer; } @@ -14894,10 +15119,10 @@ var require_request2 = __commonJS({ } else { 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) { @@ -14909,10 +15134,8 @@ var require_request2 = __commonJS({ if (init.cache !== void 0) { request2.cache = init.cache; } - if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") { - throw new TypeError( - "'only-if-cached' can be set only with 'same-origin' mode" - ); + if (request2.cache === 'only-if-cached' && request2.mode !== 'same-origin') { + throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode"); } if (init.redirect !== void 0) { request2.redirect = init.redirect; @@ -14939,10 +15162,13 @@ var require_request2 = __commonJS({ method = normalizedMethodRecordsBase[upperCase] ?? method; request2.method = method; } - if (!patchMethodWarning && request2.method === "patch") { - process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.", { - code: "UNDICI-FETCH-patch" - }); + if (!patchMethodWarning && request2.method === 'patch') { + process.emitWarning( + 'Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.', + { + code: 'UNDICI-FETCH-patch' + } + ); patchMethodWarning = true; } } @@ -14953,10 +15179,8 @@ var require_request2 = __commonJS({ const ac = new AbortController(); this[kSignal] = ac.signal; if (signal != null) { - 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 || 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); @@ -14965,27 +15189,24 @@ var require_request2 = __commonJS({ const acRef = new WeakRef(ac); const abort = buildAbort(acRef); try { - if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { + if (typeof getMaxListeners === 'function' && getMaxListeners(signal) === defaultMaxListeners) { setMaxListeners(1500, signal); - } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { + } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) { setMaxListeners(1500, signal); } - } catch { - } + } catch {} util.addAbortListener(signal, abort); requestFinalizer.register(ac, { signal, abort }, abort); } } this[kHeaders] = new Headers(kConstruct); setHeadersList(this[kHeaders], request2.headersList); - setHeadersGuard(this[kHeaders], "request"); - if (mode === "no-cors") { + setHeadersGuard(this[kHeaders], 'request'); + if (mode === 'no-cors') { if (!corsSafeListedMethodsSet.has(request2.method)) { - throw new TypeError( - `'${request2.method} is unsupported in no-cors mode.` - ); + throw new TypeError(`'${request2.method} is unsupported in no-cors mode.`); } - setHeadersGuard(this[kHeaders], "request-no-cors"); + setHeadersGuard(this[kHeaders], 'request-no-cors'); } if (initHasKey) { const headersList = getHeadersList(this[kHeaders]); @@ -15001,38 +15222,31 @@ var require_request2 = __commonJS({ } } const inputBody = input instanceof _Request ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body."); + if ((init.body != null || inputBody != null) && (request2.method === 'GET' || request2.method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body.'); } let initBody = null; if (init.body != null) { - const [extractedBody, contentType] = extractBody( - init.body, - request2.keepalive - ); + const [extractedBody, contentType] = extractBody(init.body, request2.keepalive); initBody = extractedBody; - if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) { - this[kHeaders].append("content-type", contentType); + if (contentType && !getHeadersList(this[kHeaders]).contains('content-type', true)) { + this[kHeaders].append('content-type', contentType); } } 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 (request2.mode !== "same-origin" && request2.mode !== "cors") { - throw new TypeError( - 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' - ); + if (request2.mode !== 'same-origin' && request2.mode !== 'cors') { + throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"'); } request2.useCORSPreflightFlag = true; } let finalBody = inputOrInitBody; if (initBody == null && inputBody != null) { if (bodyUnusable(input)) { - throw new TypeError( - "Cannot construct a Request with a Request object that has already been used." - ); + throw new TypeError('Cannot construct a Request with a Request object that has already been used.'); } const identityTransform = new TransformStream(); inputBody.stream.pipeThrough(identityTransform); @@ -15074,11 +15288,11 @@ var require_request2 = __commonJS({ // request being made. get referrer() { webidl.brandCheck(this, _Request); - if (this[kState].referrer === "no-referrer") { - return ""; + 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(); } @@ -15159,13 +15373,13 @@ var require_request2 = __commonJS({ } get duplex() { webidl.brandCheck(this, _Request); - return "half"; + return 'half'; } // Returns a clone of request. clone() { webidl.brandCheck(this, _Request); if (bodyUnusable(this)) { - throw new TypeError("unusable"); + throw new TypeError('unusable'); } const clonedRequest = cloneRequest(this[kState]); const ac = new AbortController(); @@ -15179,10 +15393,7 @@ var require_request2 = __commonJS({ } const acRef = new WeakRef(ac); list.add(acRef); - util.addAbortListener( - ac.signal, - buildAbort(acRef) - ); + util.addAbortListener(ac.signal, buildAbort(acRef)); } return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders])); } @@ -15214,38 +15425,38 @@ var require_request2 = __commonJS({ mixinBody(Request); function makeRequest(init) { return { - method: init.method ?? "GET", + method: init.method ?? 'GET', localURLsOnly: init.localURLsOnly ?? false, unsafeRequest: init.unsafeRequest ?? false, body: init.body ?? null, client: init.client ?? null, reservedClient: init.reservedClient ?? null, - replacesClientId: init.replacesClientId ?? "", - window: init.window ?? "client", + replacesClientId: init.replacesClientId ?? '', + window: init.window ?? 'client', keepalive: init.keepalive ?? false, - serviceWorkers: init.serviceWorkers ?? "all", - initiator: init.initiator ?? "", - destination: init.destination ?? "", + serviceWorkers: init.serviceWorkers ?? 'all', + initiator: init.initiator ?? '', + destination: init.destination ?? '', priority: init.priority ?? null, - origin: init.origin ?? "client", - policyContainer: init.policyContainer ?? "client", - referrer: init.referrer ?? "client", - referrerPolicy: init.referrerPolicy ?? "", - mode: init.mode ?? "no-cors", + origin: init.origin ?? 'client', + policyContainer: init.policyContainer ?? 'client', + referrer: init.referrer ?? 'client', + referrerPolicy: init.referrerPolicy ?? '', + mode: init.mode ?? 'no-cors', useCORSPreflightFlag: init.useCORSPreflightFlag ?? false, - credentials: init.credentials ?? "same-origin", + credentials: init.credentials ?? 'same-origin', useCredentials: init.useCredentials ?? false, - cache: init.cache ?? "default", - redirect: init.redirect ?? "follow", - integrity: init.integrity ?? "", - cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "", - parserMetadata: init.parserMetadata ?? "", + cache: init.cache ?? 'default', + redirect: init.redirect ?? 'follow', + integrity: init.integrity ?? '', + cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? '', + parserMetadata: init.parserMetadata ?? '', reloadNavigation: init.reloadNavigation ?? false, historyNavigation: init.historyNavigation ?? false, userActivation: init.userActivation ?? false, taintedOrigin: init.taintedOrigin ?? false, redirectCount: init.redirectCount ?? 0, - responseTainting: init.responseTainting ?? "basic", + responseTainting: init.responseTainting ?? 'basic', preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false, done: init.done ?? false, timingAllowFailed: init.timingAllowFailed ?? false, @@ -15292,15 +15503,13 @@ 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, prefix, argument) { - if (typeof V === "string") { + webidl.converters.Request = webidl.interfaceConverter(Request); + webidl.converters.RequestInfo = function (V, prefix, argument) { + if (typeof V === 'string') { return webidl.converters.USVString(V, prefix, argument); } if (V instanceof Request) { @@ -15308,88 +15517,79 @@ var require_request2 = __commonJS({ } return webidl.converters.USVString(V, prefix, argument); }; - webidl.converters.AbortSignal = webidl.interfaceConverter( - AbortSignal - ); + 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, - "RequestInit", - "signal", - { strict: false } - ) + key: 'signal', + converter: webidl.nullableConverter(signal => + webidl.converters.AbortSignal(signal, 'RequestInit', 'signal', { strict: false }) ) }, { - key: "window", + key: 'window', converter: webidl.converters.any }, { - key: "duplex", + key: 'duplex', converter: webidl.converters.DOMString, allowedValues: requestDuplex }, { - key: "dispatcher", + key: 'dispatcher', // undici specific option converter: webidl.converters.any } @@ -15400,18 +15600,13 @@ var require_request2 = __commonJS({ // node_modules/undici/lib/web/fetch/index.js var require_fetch = __commonJS({ - "node_modules/undici/lib/web/fetch/index.js"(exports2, module2) { - "use strict"; - var { - makeNetworkError, - makeAppropriateNetworkError, - filterResponse, - makeResponse, - fromInnerResponse - } = require_response(); + 'node_modules/undici/lib/web/fetch/index.js'(exports2, module2) { + 'use strict'; + var { makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse, fromInnerResponse } = + require_response(); var { HeadersList } = require_headers(); var { Request, cloneRequest } = require_request2(); - var zlib = require("node:zlib"); + var zlib = require('node:zlib'); var { bytesMatch, makePolicyContainer, @@ -15448,24 +15643,19 @@ var require_fetch = __commonJS({ extractMimeType } = require_util2(); var { kState, kDispatcher } = require_symbols2(); - var assert = require("node:assert"); + var assert = require('node:assert'); var { safelyExtractBody, extractBody } = require_body(); - var { - redirectStatusSet, - nullBodyStatus, - safeMethodsSet, - requestBodyHeader, - subresourceSet - } = require_constants3(); - var EE = require("node:events"); - var { Readable, pipeline, finished } = require("node:stream"); + var { redirectStatusSet, nullBodyStatus, safeMethodsSet, requestBodyHeader, subresourceSet } = require_constants3(); + var EE = require('node:events'); + var { Readable, pipeline, finished } = require('node:stream'); var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util(); var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url(); var { getGlobalDispatcher } = require_global2(); var { webidl } = require_webidl(); - var { STATUS_CODES } = require("node:http"); - var GET_OR_HEAD = ["GET", "HEAD"]; - var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici"; + var { STATUS_CODES } = require('node:http'); + var GET_OR_HEAD = ['GET', 'HEAD']; + var defaultUserAgent = + typeof __UNDICI_IS_NODE__ !== 'undefined' || typeof esbuildDetection !== 'undefined' ? 'node' : 'undici'; var resolveObjectURL; var Fetch = class extends EE { constructor(dispatcher) { @@ -15473,35 +15663,35 @@ var require_fetch = __commonJS({ this.dispatcher = dispatcher; this.connection = null; this.dump = false; - this.state = "ongoing"; + this.state = 'ongoing'; } terminate(reason) { - if (this.state !== "ongoing") { + if (this.state !== 'ongoing') { return; } - this.state = "terminated"; + this.state = 'terminated'; this.connection?.destroy(reason); - this.emit("terminated", reason); + this.emit('terminated', reason); } // https://fetch.spec.whatwg.org/#fetch-controller-abort abort(error) { - if (this.state !== "ongoing") { + if (this.state !== 'ongoing') { return; } - this.state = "aborted"; + this.state = 'aborted'; if (!error) { - error = new DOMException("The operation was aborted.", "AbortError"); + error = new DOMException('The operation was aborted.', 'AbortError'); } this.serializedAbortReason = error; this.connection?.destroy(error); - this.emit("terminated", error); + this.emit('terminated', error); } }; function handleFetchDone(response) { - finalizeAndReportTiming(response, "fetch"); + finalizeAndReportTiming(response, 'fetch'); } function fetch2(input, init = void 0) { - webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch"); + webidl.argumentLengthCheck(arguments, 1, 'globalThis.fetch'); let p = createDeferredPromise(); let requestObject; try { @@ -15516,23 +15706,20 @@ var require_fetch = __commonJS({ return p.promise; } const globalObject = request2.client.globalObject; - if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { - request2.serviceWorkers = "none"; + if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') { + request2.serviceWorkers = 'none'; } let responseObject = null; let locallyAborted = false; let controller = null; - addAbortListener( - requestObject.signal, - () => { - locallyAborted = true; - assert(controller != null); - controller.abort(requestObject.signal.reason); - const realResponse = responseObject?.deref(); - abortFetch(p, request2, realResponse, requestObject.signal.reason); - } - ); - const processResponse = (response) => { + addAbortListener(requestObject.signal, () => { + locallyAborted = true; + assert(controller != null); + controller.abort(requestObject.signal.reason); + const realResponse = responseObject?.deref(); + abortFetch(p, request2, realResponse, requestObject.signal.reason); + }); + const processResponse = response => { if (locallyAborted) { return; } @@ -15540,11 +15727,11 @@ var require_fetch = __commonJS({ abortFetch(p, request2, responseObject, controller.serializedAbortReason); return; } - if (response.type === "error") { - p.reject(new TypeError("fetch failed", { cause: response.error })); + if (response.type === 'error') { + p.reject(new TypeError('fetch failed', { cause: response.error })); return; } - responseObject = new WeakRef(fromInnerResponse(response, "immutable")); + responseObject = new WeakRef(fromInnerResponse(response, 'immutable')); p.resolve(responseObject.deref()); p = null; }; @@ -15557,8 +15744,8 @@ var require_fetch = __commonJS({ }); return p.promise; } - function finalizeAndReportTiming(response, initiatorType = "other") { - if (response.type === "error" && response.aborted) { + function finalizeAndReportTiming(response, initiatorType = 'other') { + if (response.type === 'error' && response.aborted) { return; } if (!response.urlList?.length) { @@ -15577,17 +15764,11 @@ var require_fetch = __commonJS({ timingInfo = createOpaqueTimingInfo({ startTime: timingInfo.startTime }); - cacheState = ""; + cacheState = ''; } timingInfo.endTime = coarsenedSharedCurrentTime(); response.timingInfo = timingInfo; - markResourceTiming( - timingInfo, - originalURL.href, - initiatorType, - globalThis, - cacheState - ); + markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState); } var markResourceTiming = performance.markResourceTiming; function abortFetch(p, request2, responseObject, error) { @@ -15595,8 +15776,8 @@ var require_fetch = __commonJS({ p.reject(error); } if (request2.body != null && isReadable(request2.body?.stream)) { - request2.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { + request2.body.stream.cancel(error).catch(err => { + if (err.code === 'ERR_INVALID_STATE') { return; } throw err; @@ -15607,8 +15788,8 @@ var require_fetch = __commonJS({ } 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") { + response.body.stream.cancel(error).catch(err => { + if (err.code === 'ERR_INVALID_STATE') { return; } throw err; @@ -15650,33 +15831,31 @@ var require_fetch = __commonJS({ crossOriginIsolatedCapability }; assert(!request2.body || request2.body.stream); - if (request2.window === "client") { - request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window"; + if (request2.window === 'client') { + request2.window = request2.client?.globalObject?.constructor?.name === 'Window' ? request2.client : 'no-window'; } - if (request2.origin === "client") { + if (request2.origin === 'client') { request2.origin = request2.client.origin; } - if (request2.policyContainer === "client") { + if (request2.policyContainer === 'client') { if (request2.client != null) { - request2.policyContainer = clonePolicyContainer( - request2.client.policyContainer - ); + request2.policyContainer = clonePolicyContainer(request2.client.policyContainer); } else { request2.policyContainer = makePolicyContainer(); } } - if (!request2.headersList.contains("accept", true)) { - const value = "*/*"; - request2.headersList.append("accept", value, true); + if (!request2.headersList.contains('accept', true)) { + const value = '*/*'; + request2.headersList.append('accept', value, true); } - if (!request2.headersList.contains("accept-language", true)) { - request2.headersList.append("accept-language", "*", true); + if (!request2.headersList.contains('accept-language', true)) { + request2.headersList.append('accept-language', '*', true); } if (request2.priority === null) { } if (subresourceSet.has(request2.destination)) { } - mainFetch(fetchParams).catch((err) => { + mainFetch(fetchParams).catch(err => { fetchParams.controller.terminate(err); }); return fetchParams.controller; @@ -15685,16 +15864,16 @@ var require_fetch = __commonJS({ const request2 = fetchParams.request; let response = null; if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) { - response = makeNetworkError("local URLs only"); + response = makeNetworkError('local URLs only'); } tryUpgradeRequestToAPotentiallyTrustworthyURL(request2); - if (requestBadPort(request2) === "blocked") { - response = makeNetworkError("bad port"); + if (requestBadPort(request2) === 'blocked') { + response = makeNetworkError('bad port'); } - if (request2.referrerPolicy === "") { + if (request2.referrerPolicy === '') { request2.referrerPolicy = request2.policyContainer.referrerPolicy; } - if (request2.referrer !== "no-referrer") { + if (request2.referrer !== 'no-referrer') { request2.referrer = determineRequestsReferrer(request2); } if (response === null) { @@ -15703,29 +15882,28 @@ var require_fetch = __commonJS({ if ( // - request’s current URL’s origin is same origin with request’s origin, // and request’s response tainting is "basic" - sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data" - currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" - (request2.mode === "navigate" || request2.mode === "websocket") + (sameOrigin(currentURL, request2.url) && request2.responseTainting === 'basic') || // request’s current URL’s scheme is "data" + currentURL.protocol === 'data:' || // - request’s mode is "navigate" or "websocket" + request2.mode === 'navigate' || + request2.mode === 'websocket' ) { - request2.responseTainting = "basic"; + request2.responseTainting = 'basic'; return await schemeFetch(fetchParams); } - if (request2.mode === "same-origin") { + if (request2.mode === 'same-origin') { return makeNetworkError('request mode cannot be "same-origin"'); } - if (request2.mode === "no-cors") { - if (request2.redirect !== "follow") { - return makeNetworkError( - 'redirect mode cannot be "follow" for "no-cors" request' - ); + if (request2.mode === 'no-cors') { + if (request2.redirect !== 'follow') { + return makeNetworkError('redirect mode cannot be "follow" for "no-cors" request'); } - request2.responseTainting = "opaque"; + request2.responseTainting = 'opaque'; return await schemeFetch(fetchParams); } if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) { - return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + return makeNetworkError('URL scheme must be a HTTP(S) scheme'); } - request2.responseTainting = "cors"; + request2.responseTainting = 'cors'; return await httpFetch(fetchParams); })(); } @@ -15733,14 +15911,14 @@ var require_fetch = __commonJS({ return response; } if (response.status !== 0 && !response.internalResponse) { - if (request2.responseTainting === "cors") { - } - if (request2.responseTainting === "basic") { - response = filterResponse(response, "basic"); - } else if (request2.responseTainting === "cors") { - response = filterResponse(response, "cors"); - } else if (request2.responseTainting === "opaque") { - response = filterResponse(response, "opaque"); + if (request2.responseTainting === 'cors') { + } + if (request2.responseTainting === 'basic') { + response = filterResponse(response, 'basic'); + } else if (request2.responseTainting === 'cors') { + response = filterResponse(response, 'cors'); + } else if (request2.responseTainting === 'opaque') { + response = filterResponse(response, 'opaque'); } else { assert(false); } @@ -15752,22 +15930,30 @@ var require_fetch = __commonJS({ if (!request2.timingAllowFailed) { response.timingAllowPassed = true; } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) { + if ( + response.type === 'opaque' && + internalResponse.status === 206 && + internalResponse.rangeRequested && + !request2.headers.contains('range', true) + ) { response = internalResponse = makeNetworkError(); } - if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { + if ( + response.status !== 0 && + (request2.method === 'HEAD' || request2.method === 'CONNECT' || nullBodyStatus.includes(internalResponse.status)) + ) { internalResponse.body = null; fetchParams.controller.dump = true; } if (request2.integrity) { - const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); - if (request2.responseTainting === "opaque" || response.body == null) { + const processBodyError = reason => fetchFinale(fetchParams, makeNetworkError(reason)); + if (request2.responseTainting === 'opaque' || response.body == null) { processBodyError(response.error); return; } - const processBody = (bytes) => { + const processBody = bytes => { if (!bytesMatch(bytes, request2.integrity)) { - processBodyError("integrity mismatch"); + processBodyError('integrity mismatch'); return; } response.body = safelyExtractBody(bytes)[0]; @@ -15785,37 +15971,37 @@ var require_fetch = __commonJS({ const { request: request2 } = fetchParams; const { protocol: scheme } = requestCurrentURL(request2); 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("node:buffer").resolveObjectURL; + resolveObjectURL = require('node:buffer').resolveObjectURL; } const blobURLEntry = requestCurrentURL(request2); 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 blob = resolveObjectURL(blobURLEntry.toString()); - if (request2.method !== "GET" || !isBlobLike(blob)) { - return Promise.resolve(makeNetworkError("invalid method")); + if (request2.method !== 'GET' || !isBlobLike(blob)) { + return Promise.resolve(makeNetworkError('invalid method')); } const response = makeResponse(); const fullLength = blob.size; const serializedFullLength = isomorphicEncode(`${fullLength}`); const type = blob.type; - if (!request2.headersList.contains("range", true)) { + if (!request2.headersList.contains('range', true)) { const bodyWithType = extractBody(blob); - response.statusText = "OK"; + response.statusText = 'OK'; response.body = bodyWithType[0]; - response.headersList.set("content-length", serializedFullLength, true); - response.headersList.set("content-type", type, true); + response.headersList.set('content-length', serializedFullLength, true); + response.headersList.set('content-type', type, true); } else { response.rangeRequested = true; - const rangeHeader = request2.headersList.get("range", true); + const rangeHeader = request2.headersList.get('range', true); const rangeValue = simpleRangeHeaderValue(rangeHeader, true); - if (rangeValue === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); + if (rangeValue === 'failure') { + return Promise.resolve(makeNetworkError('failed to fetch the data URL')); } let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue; if (rangeStart === null) { @@ -15835,37 +16021,37 @@ var require_fetch = __commonJS({ const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`); const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength); response.status = 206; - response.statusText = "Partial Content"; - response.headersList.set("content-length", serializedSlicedLength, true); - response.headersList.set("content-type", type, true); - response.headersList.set("content-range", contentRange, true); + response.statusText = 'Partial Content'; + response.headersList.set('content-length', serializedSlicedLength, true); + response.headersList.set('content-type', type, true); + response.headersList.set('content-range', contentRange, true); } return Promise.resolve(response); } - case "data:": { + case 'data:': { const currentURL = requestCurrentURL(request2); const dataURLStruct = dataURLProcessor(currentURL); - if (dataURLStruct === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); + 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] - })); + 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')); } } } @@ -15879,11 +16065,11 @@ var require_fetch = __commonJS({ let timingInfo = fetchParams.timingInfo; const processResponseEndOfBody = () => { const unsafeEndTime = Date.now(); - if (fetchParams.request.destination === "document") { + if (fetchParams.request.destination === 'document') { fetchParams.controller.fullTimingInfo = timingInfo; } fetchParams.controller.reportTimingSteps = () => { - if (fetchParams.request.url.protocol !== "https:") { + if (fetchParams.request.url.protocol !== 'https:') { return; } timingInfo.endTime = unsafeEndTime; @@ -15891,18 +16077,26 @@ var require_fetch = __commonJS({ const bodyInfo = response.bodyInfo; if (!response.timingAllowPassed) { timingInfo = createOpaqueTimingInfo(timingInfo); - cacheState = ""; + cacheState = ''; } let responseStatus = 0; - if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) { + if (fetchParams.request.mode !== 'navigator' || !response.hasCrossOriginRedirects) { responseStatus = response.status; const mimeType = extractMimeType(response.headersList); - if (mimeType !== "failure") { + if (mimeType !== 'failure') { bodyInfo.contentType = minimizeSupportedMimeType(mimeType); } } if (fetchParams.request.initiatorType != null) { - markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus); + markResourceTiming( + timingInfo, + fetchParams.request.url.href, + fetchParams.request.initiatorType, + globalThis, + cacheState, + bodyInfo, + responseStatus + ); } }; const processResponseEndOfBodyTask = () => { @@ -15922,7 +16116,7 @@ var require_fetch = __commonJS({ fetchParams.processResponse = null; }); } - const internalResponse = response.type === "error" ? response : response.internalResponse ?? response; + const internalResponse = response.type === 'error' ? response : response.internalResponse ?? response; if (internalResponse.body == null) { processResponseEndOfBody(); } else { @@ -15936,37 +16130,35 @@ var require_fetch = __commonJS({ let response = null; let actualResponse = null; const timingInfo = fetchParams.timingInfo; - if (request2.serviceWorkers === "all") { + if (request2.serviceWorkers === 'all') { } if (response === null) { - if (request2.redirect === "follow") { - request2.serviceWorkers = "none"; + if (request2.redirect === 'follow') { + request2.serviceWorkers = 'none'; } actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); - if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") { - return makeNetworkError("cors failure"); + if (request2.responseTainting === 'cors' && corsCheck(request2, response) === 'failure') { + return makeNetworkError('cors failure'); } - if (TAOCheck(request2, response) === "failure") { + if (TAOCheck(request2, response) === 'failure') { request2.timingAllowFailed = true; } } - if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( - request2.origin, - request2.client, - request2.destination, - actualResponse - ) === "blocked") { - return makeNetworkError("blocked"); + if ( + (request2.responseTainting === 'opaque' || response.type === 'opaque') && + crossOriginResourcePolicyCheck(request2.origin, request2.client, request2.destination, actualResponse) === 'blocked' + ) { + return makeNetworkError('blocked'); } if (redirectStatusSet.has(actualResponse.status)) { - if (request2.redirect !== "manual") { + if (request2.redirect !== 'manual') { fetchParams.controller.connection.destroy(void 0, false); } - if (request2.redirect === "error") { - response = makeNetworkError("unexpected redirect"); - } else if (request2.redirect === "manual") { + if (request2.redirect === 'error') { + response = makeNetworkError('unexpected redirect'); + } else if (request2.redirect === 'manual') { response = actualResponse; - } else if (request2.redirect === "follow") { + } else if (request2.redirect === 'follow') { response = await httpRedirectFetch(fetchParams, response); } else { assert(false); @@ -15980,10 +16172,7 @@ var require_fetch = __commonJS({ const actualResponse = response.internalResponse ? response.internalResponse : response; let locationURL; try { - locationURL = responseLocationURL( - actualResponse, - requestCurrentURL(request2).hash - ); + locationURL = responseLocationURL(actualResponse, requestCurrentURL(request2).hash); if (locationURL == null) { return response; } @@ -15991,42 +16180,45 @@ var require_fetch = __commonJS({ 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 (request2.redirectCount === 20) { - return Promise.resolve(makeNetworkError("redirect count exceeded")); + return Promise.resolve(makeNetworkError('redirect count exceeded')); } request2.redirectCount += 1; - if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) { + if (request2.mode === 'cors' && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) { return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); } - if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) { - return Promise.resolve(makeNetworkError( - 'URL cannot contain credentials for request mode "cors"' - )); + if (request2.responseTainting === 'cors' && (locationURL.username || locationURL.password)) { + return Promise.resolve(makeNetworkError('URL cannot contain credentials for request mode "cors"')); } if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) { return Promise.resolve(makeNetworkError()); } - if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) { - request2.method = "GET"; + if ( + ([301, 302].includes(actualResponse.status) && request2.method === 'POST') || + (actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) + ) { + request2.method = 'GET'; request2.body = null; for (const headerName of requestBodyHeader) { request2.headersList.delete(headerName); } } if (!sameOrigin(requestCurrentURL(request2), locationURL)) { - request2.headersList.delete("authorization", true); - request2.headersList.delete("proxy-authorization", true); - request2.headersList.delete("cookie", true); - request2.headersList.delete("host", true); + request2.headersList.delete('authorization', true); + request2.headersList.delete('proxy-authorization', true); + request2.headersList.delete('cookie', true); + request2.headersList.delete('host', true); } if (request2.body != null) { assert(request2.body.source != null); request2.body = safelyExtractBody(request2.body.source)[0]; } const timingInfo = fetchParams.timingInfo; - timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime( + fetchParams.crossOriginIsolatedCapability + ); if (timingInfo.redirectStartTime === 0) { timingInfo.redirectStartTime = timingInfo.startTime; } @@ -16041,7 +16233,7 @@ var require_fetch = __commonJS({ let response = null; const httpCache = null; const revalidatingFlag = false; - if (request2.window === "no-window" && request2.redirect === "error") { + if (request2.window === 'no-window' && request2.redirect === 'error') { httpFetchParams = fetchParams; httpRequest = request2; } else { @@ -16049,69 +16241,78 @@ var require_fetch = __commonJS({ httpFetchParams = { ...fetchParams }; httpFetchParams.request = httpRequest; } - const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic"; + const includeCredentials = + request2.credentials === 'include' || + (request2.credentials === 'same-origin' && request2.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 (httpRequest.body == null && ['POST', 'PUT'].includes(httpRequest.method)) { + contentLengthHeaderValue = '0'; } if (contentLength != null) { contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); } if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue, true); + httpRequest.headersList.append('content-length', contentLengthHeaderValue, true); } if (contentLength != null && httpRequest.keepalive) { } if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true); + httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href), true); } appendRequestOriginHeader(httpRequest); appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent", true)) { - httpRequest.headersList.append("user-agent", defaultUserAgent); + if (!httpRequest.headersList.contains('user-agent', true)) { + httpRequest.headersList.append('user-agent', defaultUserAgent); } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) { - httpRequest.cache = "no-store"; + if ( + httpRequest.cache === 'default' && + (httpRequest.headersList.contains('if-modified-since', true) || + httpRequest.headersList.contains('if-none-match', true) || + httpRequest.headersList.contains('if-unmodified-since', true) || + httpRequest.headersList.contains('if-match', true) || + httpRequest.headersList.contains('if-range', true)) + ) { + httpRequest.cache = 'no-store'; } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) { - httpRequest.headersList.append("cache-control", "max-age=0", true); + if ( + httpRequest.cache === 'no-cache' && + !httpRequest.preventNoCacheCacheControlHeaderModification && + !httpRequest.headersList.contains('cache-control', true) + ) { + httpRequest.headersList.append('cache-control', 'max-age=0', true); } - if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma", true)) { - httpRequest.headersList.append("pragma", "no-cache", true); + if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') { + if (!httpRequest.headersList.contains('pragma', true)) { + httpRequest.headersList.append('pragma', 'no-cache', true); } - if (!httpRequest.headersList.contains("cache-control", true)) { - httpRequest.headersList.append("cache-control", "no-cache", true); + if (!httpRequest.headersList.contains('cache-control', true)) { + httpRequest.headersList.append('cache-control', 'no-cache', true); } } - if (httpRequest.headersList.contains("range", true)) { - httpRequest.headersList.append("accept-encoding", "identity", true); + if (httpRequest.headersList.contains('range', true)) { + httpRequest.headersList.append('accept-encoding', 'identity', true); } - if (!httpRequest.headersList.contains("accept-encoding", true)) { + if (!httpRequest.headersList.contains('accept-encoding', true)) { if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true); + httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate', true); } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate", true); + httpRequest.headersList.append('accept-encoding', 'gzip, deflate', true); } } - httpRequest.headersList.delete("host", true); + httpRequest.headersList.delete('host', true); if (includeCredentials) { } if (httpCache == null) { - httpRequest.cache = "no-store"; + httpRequest.cache = 'no-store'; } - if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") { + if (httpRequest.cache !== 'no-store' && httpRequest.cache !== 'reload') { } if (response == null) { - if (httpRequest.cache === "only-if-cached") { - return makeNetworkError("only if cached"); + if (httpRequest.cache === 'only-if-cached') { + return makeNetworkError('only if cached'); } - const forwardResponse = await httpNetworkFetch( - httpFetchParams, - includeCredentials, - isNewConnectionFetch - ); + const forwardResponse = await httpNetworkFetch(httpFetchParams, includeCredentials, isNewConnectionFetch); if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { } if (revalidatingFlag && forwardResponse.status === 304) { @@ -16121,18 +16322,18 @@ var require_fetch = __commonJS({ } } response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range", true)) { + if (httpRequest.headersList.contains('range', true)) { response.rangeRequested = true; } response.requestIncludesCredentials = includeCredentials; if (response.status === 407) { - if (request2.window === "no-window") { + if (request2.window === 'no-window') { return makeNetworkError(); } if (isCancelled(fetchParams)) { return makeAppropriateNetworkError(fetchParams); } - return makeNetworkError("proxy authentication required"); + return makeNetworkError('proxy authentication required'); } if ( // response’s status is 421 @@ -16144,11 +16345,7 @@ var require_fetch = __commonJS({ return makeAppropriateNetworkError(fetchParams); } fetchParams.controller.connection.destroy(); - response = await httpNetworkOrCacheFetch( - fetchParams, - isAuthenticationFetch, - true - ); + response = await httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch, true); } if (isAuthenticationFetch) { } @@ -16163,7 +16360,7 @@ var require_fetch = __commonJS({ if (!this.destroyed) { this.destroyed = true; if (abort) { - this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError")); + this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError')); } } } @@ -16173,10 +16370,10 @@ var require_fetch = __commonJS({ const timingInfo = fetchParams.timingInfo; const httpCache = null; if (httpCache == null) { - request2.cache = "no-store"; + request2.cache = 'no-store'; } - const newConnection = forceNewConnection ? "yes" : "no"; - if (request2.mode === "websocket") { + const newConnection = forceNewConnection ? 'yes' : 'no'; + if (request2.mode === 'websocket') { } else { } let requestBody = null; @@ -16198,17 +16395,17 @@ var require_fetch = __commonJS({ fetchParams.processRequestEndOfBody(); } }; - const processBodyError = (e) => { + const processBodyError = e => { if (isCancelled(fetchParams)) { return; } - if (e.name === "AbortError") { + if (e.name === 'AbortError') { fetchParams.controller.abort(); } else { fetchParams.controller.terminate(e); } }; - requestBody = async function* () { + requestBody = (async function* () { try { for await (const bytes of request2.body.stream) { yield* processBodyChunk(bytes); @@ -16217,7 +16414,7 @@ var require_fetch = __commonJS({ } catch (err) { processBodyError(err); } - }(); + })(); } try { const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); @@ -16229,7 +16426,7 @@ var require_fetch = __commonJS({ response = makeResponse({ status, statusText, headersList }); } } catch (err) { - if (err.name === "AbortError") { + if (err.name === 'AbortError') { fetchParams.controller.connection.destroy(); return makeAppropriateNetworkError(fetchParams, err); } @@ -16238,28 +16435,26 @@ var require_fetch = __commonJS({ const pullAlgorithm = async () => { await fetchParams.controller.resume(); }; - const cancelAlgorithm = (reason) => { + const cancelAlgorithm = reason => { if (!isCancelled(fetchParams)) { fetchParams.controller.abort(reason); } }; - const stream = new ReadableStream( - { - async start(controller) { - fetchParams.controller.controller = controller; - }, - async pull(controller) { - await pullAlgorithm(controller); - }, - async cancel(reason) { - await cancelAlgorithm(reason); - }, - type: "bytes" - } - ); + const stream = new ReadableStream({ + async start(controller) { + fetchParams.controller.controller = controller; + }, + async pull(controller) { + await pullAlgorithm(controller); + }, + async cancel(reason) { + await cancelAlgorithm(reason); + }, + type: 'bytes' + }); response.body = { stream, source: null, length: null }; fetchParams.controller.onAborted = onAborted; - fetchParams.controller.on("terminated", onAborted); + fetchParams.controller.on('terminated', onAborted); fetchParams.controller.resume = async () => { while (true) { let bytes; @@ -16305,15 +16500,15 @@ var require_fetch = __commonJS({ if (isAborted(fetchParams)) { response.aborted = true; if (isReadable(stream)) { - fetchParams.controller.controller.error( - fetchParams.controller.serializedAbortReason - ); + 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(); @@ -16322,138 +16517,173 @@ var require_fetch = __commonJS({ function dispatch({ body }) { const url = requestCurrentURL(request2); const agent = fetchParams.controller.dispatcher; - return new Promise((resolve, reject) => agent.dispatch( - { - path: url.pathname + url.search, - origin: url.origin, - method: request2.method, - body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, - headers: request2.headersList.entries, - maxRedirections: 0, - upgrade: request2.mode === "websocket" ? "websocket" : void 0 - }, - { - body: null, - abort: null, - onConnect(abort) { - const { connection } = fetchParams.controller; - timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability); - if (connection.destroyed) { - abort(new DOMException("The operation was aborted.", "AbortError")); - } else { - fetchParams.controller.on("terminated", abort); - this.abort = connection.abort = abort; - } - timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + return new Promise((resolve, reject) => + agent.dispatch( + { + path: url.pathname + url.search, + origin: url.origin, + method: request2.method, + body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, + headers: request2.headersList.entries, + maxRedirections: 0, + upgrade: request2.mode === 'websocket' ? 'websocket' : void 0 }, - onResponseStarted() { - timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); - }, - onHeaders(status, rawHeaders, resume, statusText) { - if (status < 200) { - return; - } - let location = ""; - const headersList = new HeadersList(); - for (let i = 0; i < rawHeaders.length; i += 2) { - headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); - } - location = headersList.get("location", true); - this.body = new Readable({ read: resume }); - const decoders = []; - const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status); - if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - const contentEncoding = headersList.get("content-encoding", true); - const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : []; - const maxContentEncodings = 5; - if (codings.length > maxContentEncodings) { - reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`)); - return true; + { + body: null, + abort: null, + onConnect(abort) { + const { connection } = fetchParams.controller; + timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo( + void 0, + timingInfo.postRedirectStartTime, + fetchParams.crossOriginIsolatedCapability + ); + if (connection.destroyed) { + abort(new DOMException('The operation was aborted.', 'AbortError')); + } else { + fetchParams.controller.on('terminated', abort); + this.abort = connection.abort = abort; } - for (let i = codings.length - 1; i >= 0; --i) { - const coding = codings[i].trim(); - 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(createInflate({ - flush: zlib.constants.Z_SYNC_FLUSH, - finishFlush: zlib.constants.Z_SYNC_FLUSH - })); - } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress({ - flush: zlib.constants.BROTLI_OPERATION_FLUSH, - finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH - })); - } else { - decoders.length = 0; - break; - } + timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime( + fetchParams.crossOriginIsolatedCapability + ); + }, + onResponseStarted() { + timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime( + fetchParams.crossOriginIsolatedCapability + ); + }, + onHeaders(status, rawHeaders, resume, statusText) { + if (status < 200) { + return; } - } - const onError = this.onError.bind(this); - resolve({ - status, - statusText, - headersList, - body: decoders.length ? pipeline(this.body, ...decoders, (err) => { - if (err) { - this.onError(err); + let location = ''; + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append( + bufferToLowerCasedHeaderName(rawHeaders[i]), + rawHeaders[i + 1].toString('latin1'), + true + ); + } + location = headersList.get('location', true); + this.body = new Readable({ read: resume }); + const decoders = []; + const willFollow = location && request2.redirect === 'follow' && redirectStatusSet.has(status); + if ( + request2.method !== 'HEAD' && + request2.method !== 'CONNECT' && + !nullBodyStatus.includes(status) && + !willFollow + ) { + const contentEncoding = headersList.get('content-encoding', true); + const codings = contentEncoding ? contentEncoding.toLowerCase().split(',') : []; + const maxContentEncodings = 5; + if (codings.length > maxContentEncodings) { + reject( + new Error( + `too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}` + ) + ); + return true; } - }).on("error", onError) : this.body.on("error", onError) - }); - 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); - } - if (fetchParams.controller.onAborted) { - fetchParams.controller.off("terminated", fetchParams.controller.onAborted); - } - 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, rawHeaders, socket) { - if (status !== 101) { - return; - } - const headersList = new HeadersList(); - for (let i = 0; i < rawHeaders.length; i += 2) { - headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); + for (let i = codings.length - 1; i >= 0; --i) { + const coding = codings[i].trim(); + 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( + createInflate({ + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + }) + ); + } else if (coding === 'br') { + decoders.push( + zlib.createBrotliDecompress({ + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH + }) + ); + } else { + decoders.length = 0; + break; + } + } + } + const onError = this.onError.bind(this); + resolve({ + status, + statusText, + headersList, + body: decoders.length + ? pipeline(this.body, ...decoders, err => { + if (err) { + this.onError(err); + } + }).on('error', onError) + : this.body.on('error', onError) + }); + 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); + } + if (fetchParams.controller.onAborted) { + fetchParams.controller.off('terminated', fetchParams.controller.onAborted); + } + 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, rawHeaders, socket) { + if (status !== 101) { + return; + } + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append( + bufferToLowerCasedHeaderName(rawHeaders[i]), + rawHeaders[i + 1].toString('latin1'), + true + ); + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList, + socket + }); + return true; } - resolve({ - status, - statusText: STATUS_CODES[status], - headersList, - socket - }); - return true; } - } - )); + ) + ); } } module2.exports = { @@ -16467,28 +16697,28 @@ var require_fetch = __commonJS({ // node_modules/undici/lib/web/fileapi/symbols.js var require_symbols3 = __commonJS({ - "node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fileapi/symbols.js'(exports2, 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/undici/lib/web/fileapi/progressevent.js var require_progressevent = __commonJS({ - "node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fileapi/progressevent.js'(exports2, module2) { + 'use strict'; var { webidl } = require_webidl(); - var kState = Symbol("ProgressEvent state"); + var kState = Symbol('ProgressEvent state'); var ProgressEvent = class _ProgressEvent extends Event { constructor(type, eventInitDict = {}) { - type = webidl.converters.DOMString(type, "ProgressEvent constructor", "type"); + type = webidl.converters.DOMString(type, 'ProgressEvent constructor', 'type'); eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); super(type, eventInitDict); this[kState] = { @@ -16512,32 +16742,32 @@ var require_progressevent = __commonJS({ }; 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 } @@ -16550,282 +16780,282 @@ var require_progressevent = __commonJS({ // node_modules/undici/lib/web/fileapi/encoding.js var require_encoding = __commonJS({ - "node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/fileapi/encoding.js'(exports2, 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 = { @@ -16836,31 +17066,25 @@ var require_encoding = __commonJS({ // node_modules/undici/lib/web/fileapi/util.js var require_util4 = __commonJS({ - "node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) { - "use strict"; - var { - kState, - kError, - kResult, - kAborted, - kLastProgressEventFired - } = require_symbols3(); + 'node_modules/undici/lib/web/fileapi/util.js'(exports2, module2) { + 'use strict'; + var { kState, kError, kResult, kAborted, kLastProgressEventFired } = require_symbols3(); var { ProgressEvent } = require_progressevent(); var { getEncoding } = require_encoding(); var { serializeAMimeType, parseMIMEType } = require_data_url(); - var { types } = require("node:util"); - var { StringDecoder } = require("string_decoder"); - var { btoa } = require("node:buffer"); + var { types } = require('node:util'); + var { StringDecoder } = require('string_decoder'); + var { btoa } = require('node:buffer'); var staticPropertyDescriptors = { enumerable: true, writable: false, configurable: false }; function readOperation(fr, blob, type, encodingName) { - if (fr[kState] === "loading") { - throw new DOMException("Invalid state", "InvalidStateError"); + if (fr[kState] === 'loading') { + throw new DOMException('Invalid state', 'InvalidStateError'); } - fr[kState] = "loading"; + fr[kState] = 'loading'; fr[kResult] = null; fr[kError] = null; const stream = blob.stream(); @@ -16874,35 +17098,38 @@ var require_util4 = __commonJS({ const { done, value } = await chunkPromise; if (isFirstChunk && !fr[kAborted]) { queueMicrotask(() => { - fireAProgressEvent("loadstart", fr); + fireAProgressEvent('loadstart', fr); }); } isFirstChunk = false; if (!done && types.isUint8Array(value)) { bytes.push(value); - if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) { + 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(); } else if (done) { queueMicrotask(() => { - fr[kState] = "done"; + fr[kState] = 'done'; try { const result = packageData(bytes, type, blob.type, encodingName); if (fr[kAborted]) { return; } fr[kResult] = result; - fireAProgressEvent("load", fr); + fireAProgressEvent('load', fr); } catch (error) { fr[kError] = error; - fireAProgressEvent("error", fr); + fireAProgressEvent('error', fr); } - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr); } }); break; @@ -16912,11 +17139,11 @@ var require_util4 = __commonJS({ return; } queueMicrotask(() => { - fr[kState] = "done"; + fr[kState] = 'done'; fr[kError] = error; - fireAProgressEvent("error", fr); - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); + fireAProgressEvent('error', fr); + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr); } }); break; @@ -16933,43 +17160,43 @@ var require_util4 = __commonJS({ } function packageData(bytes, type, mimeType, encodingName) { switch (type) { - case "DataURL": { - let dataURL = "data:"; - const parsed = parseMIMEType(mimeType || "application/octet-stream"); - if (parsed !== "failure") { + 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"); + dataURL += ';base64,'; + const decoder = new StringDecoder('latin1'); for (const chunk of bytes) { dataURL += btoa(decoder.write(chunk)); } dataURL += btoa(decoder.end()); return dataURL; } - case "Text": { - let encoding = "failure"; + case 'Text': { + let encoding = 'failure'; if (encodingName) { encoding = getEncoding(encodingName); } - if (encoding === "failure" && mimeType) { + if (encoding === 'failure' && mimeType) { const type2 = parseMIMEType(mimeType); - if (type2 !== "failure") { - encoding = getEncoding(type2.parameters.get("charset")); + 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); } - case "ArrayBuffer": { + 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); } @@ -16984,7 +17211,7 @@ var require_util4 = __commonJS({ let slice = 0; if (BOMEncoding !== null) { encoding = BOMEncoding; - slice = BOMEncoding === "UTF-8" ? 3 : 2; + slice = BOMEncoding === 'UTF-8' ? 3 : 2; } const sliced = bytes.slice(slice); return new TextDecoder(encoding).decode(sliced); @@ -16992,11 +17219,11 @@ var require_util4 = __commonJS({ function BOMSniffing(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; } @@ -17021,26 +17248,16 @@ var require_util4 = __commonJS({ // node_modules/undici/lib/web/fileapi/filereader.js var require_filereader = __commonJS({ - "node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) { - "use strict"; - var { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - } = require_util4(); - var { - kState, - kError, - kResult, - kEvents, - kAborted - } = require_symbols3(); + 'node_modules/undici/lib/web/fileapi/filereader.js'(exports2, 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[kState] = 'empty'; this[kResult] = null; this[kError] = null; this[kEvents] = { @@ -17058,9 +17275,9 @@ var require_filereader = __commonJS({ */ readAsArrayBuffer(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer"); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsArrayBuffer'); blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "ArrayBuffer"); + readOperation(this, blob, 'ArrayBuffer'); } /** * @see https://w3c.github.io/FileAPI/#readAsBinaryString @@ -17068,9 +17285,9 @@ var require_filereader = __commonJS({ */ readAsBinaryString(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString"); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsBinaryString'); blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "BinaryString"); + readOperation(this, blob, 'BinaryString'); } /** * @see https://w3c.github.io/FileAPI/#readAsDataText @@ -17079,12 +17296,12 @@ var require_filereader = __commonJS({ */ readAsText(blob, encoding = void 0) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText"); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsText'); blob = webidl.converters.Blob(blob, { strict: false }); if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding"); + encoding = webidl.converters.DOMString(encoding, 'FileReader.readAsText', 'encoding'); } - readOperation(this, blob, "Text", encoding); + readOperation(this, blob, 'Text', encoding); } /** * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL @@ -17092,26 +17309,26 @@ var require_filereader = __commonJS({ */ readAsDataURL(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL"); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsDataURL'); blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "DataURL"); + readOperation(this, blob, 'DataURL'); } /** * @see https://w3c.github.io/FileAPI/#dfn-abort */ abort() { - if (this[kState] === "empty" || this[kState] === "done") { + if (this[kState] === 'empty' || this[kState] === 'done') { this[kResult] = null; return; } - if (this[kState] === "loading") { - this[kState] = "done"; + if (this[kState] === 'loading') { + this[kState] = 'done'; this[kResult] = null; } this[kAborted] = true; - fireAProgressEvent("abort", this); - if (this[kState] !== "loading") { - fireAProgressEvent("loadend", this); + fireAProgressEvent('abort', this); + if (this[kState] !== 'loading') { + fireAProgressEvent('loadend', this); } } /** @@ -17120,11 +17337,11 @@ var require_filereader = __commonJS({ get readyState() { webidl.brandCheck(this, _FileReader); switch (this[kState]) { - case "empty": + case 'empty': return this.EMPTY; - case "loading": + case 'loading': return this.LOADING; - case "done": + case 'done': return this.DONE; } } @@ -17149,11 +17366,11 @@ var require_filereader = __commonJS({ set onloadend(fn) { webidl.brandCheck(this, _FileReader); if (this[kEvents].loadend) { - this.removeEventListener("loadend", this[kEvents].loadend); + this.removeEventListener('loadend', this[kEvents].loadend); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this[kEvents].loadend = fn; - this.addEventListener("loadend", fn); + this.addEventListener('loadend', fn); } else { this[kEvents].loadend = null; } @@ -17165,11 +17382,11 @@ var require_filereader = __commonJS({ set onerror(fn) { webidl.brandCheck(this, _FileReader); if (this[kEvents].error) { - this.removeEventListener("error", this[kEvents].error); + this.removeEventListener('error', this[kEvents].error); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this[kEvents].error = fn; - this.addEventListener("error", fn); + this.addEventListener('error', fn); } else { this[kEvents].error = null; } @@ -17181,11 +17398,11 @@ var require_filereader = __commonJS({ set onloadstart(fn) { webidl.brandCheck(this, _FileReader); if (this[kEvents].loadstart) { - this.removeEventListener("loadstart", this[kEvents].loadstart); + this.removeEventListener('loadstart', this[kEvents].loadstart); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this[kEvents].loadstart = fn; - this.addEventListener("loadstart", fn); + this.addEventListener('loadstart', fn); } else { this[kEvents].loadstart = null; } @@ -17197,11 +17414,11 @@ var require_filereader = __commonJS({ set onprogress(fn) { webidl.brandCheck(this, _FileReader); if (this[kEvents].progress) { - this.removeEventListener("progress", this[kEvents].progress); + this.removeEventListener('progress', this[kEvents].progress); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this[kEvents].progress = fn; - this.addEventListener("progress", fn); + this.addEventListener('progress', fn); } else { this[kEvents].progress = null; } @@ -17213,11 +17430,11 @@ var require_filereader = __commonJS({ set onload(fn) { webidl.brandCheck(this, _FileReader); if (this[kEvents].load) { - this.removeEventListener("load", this[kEvents].load); + this.removeEventListener('load', this[kEvents].load); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this[kEvents].load = fn; - this.addEventListener("load", fn); + this.addEventListener('load', fn); } else { this[kEvents].load = null; } @@ -17229,11 +17446,11 @@ var require_filereader = __commonJS({ set onabort(fn) { webidl.brandCheck(this, _FileReader); if (this[kEvents].abort) { - this.removeEventListener("abort", this[kEvents].abort); + this.removeEventListener('abort', this[kEvents].abort); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this[kEvents].abort = fn; - this.addEventListener("abort", fn); + this.addEventListener('abort', fn); } else { this[kEvents].abort = null; } @@ -17261,7 +17478,7 @@ var require_filereader = __commonJS({ onerror: kEnumerableProperty, onloadend: kEnumerableProperty, [Symbol.toStringTag]: { - value: "FileReader", + value: 'FileReader', writable: false, enumerable: false, configurable: true @@ -17280,8 +17497,8 @@ var require_filereader = __commonJS({ // node_modules/undici/lib/web/cache/symbols.js var require_symbols4 = __commonJS({ - "node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cache/symbols.js'(exports2, module2) { + 'use strict'; module2.exports = { kConstruct: require_symbols().kConstruct }; @@ -17290,9 +17507,9 @@ var require_symbols4 = __commonJS({ // node_modules/undici/lib/web/cache/util.js var require_util5 = __commonJS({ - "node_modules/undici/lib/web/cache/util.js"(exports2, module2) { - "use strict"; - var assert = require("node:assert"); + 'node_modules/undici/lib/web/cache/util.js'(exports2, module2) { + 'use strict'; + var assert = require('node:assert'); var { URLSerializer } = require_data_url(); var { isValidHeaderName } = require_util2(); function urlEquals(A, B, excludeFragment = false) { @@ -17303,7 +17520,7 @@ var require_util5 = __commonJS({ function getFieldValues(header) { assert(header !== null); const values = []; - for (let value of header.split(",")) { + for (let value of header.split(',')) { value = value.trim(); if (isValidHeaderName(value)) { values.push(value); @@ -17320,8 +17537,8 @@ var require_util5 = __commonJS({ // node_modules/undici/lib/web/cache/cache.js var require_cache = __commonJS({ - "node_modules/undici/lib/web/cache/cache.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cache/cache.js'(exports2, module2) { + 'use strict'; var { kConstruct } = require_symbols4(); var { urlEquals, getFieldValues } = require_util5(); var { kEnumerableProperty, isDisturbed } = require_util(); @@ -17331,7 +17548,7 @@ var require_cache = __commonJS({ var { kState } = require_symbols2(); var { fetching } = require_fetch(); var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); - var assert = require("node:assert"); + var assert = require('node:assert'); var Cache = class _Cache { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list @@ -17347,10 +17564,10 @@ var require_cache = __commonJS({ } async match(request2, options = {}) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.match"; + const prefix = 'Cache.match'; webidl.argumentLengthCheck(arguments, 1, prefix); - request2 = webidl.converters.RequestInfo(request2, prefix, "request"); - options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + request2 = webidl.converters.RequestInfo(request2, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); const p = this.#internalMatchAll(request2, options, 1); if (p.length === 0) { return; @@ -17359,23 +17576,23 @@ var require_cache = __commonJS({ } async matchAll(request2 = void 0, options = {}) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.matchAll"; - if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); - options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + const prefix = 'Cache.matchAll'; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); return this.#internalMatchAll(request2, options); } async add(request2) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.add"; + const prefix = 'Cache.add'; webidl.argumentLengthCheck(arguments, 1, prefix); - request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + request2 = webidl.converters.RequestInfo(request2, prefix, 'request'); const requests = [request2]; const responseArrayPromise = this.addAll(requests); return await responseArrayPromise; } async addAll(requests) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.addAll"; + const prefix = 'Cache.addAll'; webidl.argumentLengthCheck(arguments, 1, prefix); const responsePromises = []; const requestList = []; @@ -17383,19 +17600,19 @@ var require_cache = __commonJS({ if (request2 === void 0) { throw webidl.errors.conversionFailed({ prefix, - argument: "Argument 1", - types: ["undefined is not allowed"] + argument: 'Argument 1', + types: ['undefined is not allowed'] }); } request2 = webidl.converters.RequestInfo(request2); - if (typeof request2 === "string") { + if (typeof request2 === 'string') { continue; } const r = request2[kState]; - if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") { + if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') { throw webidl.errors.exception({ header: prefix, - message: "Expected http/s scheme when method is not GET." + message: 'Expected http/s scheme when method is not GET.' }); } } @@ -17405,45 +17622,51 @@ var require_cache = __commonJS({ if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ header: prefix, - message: "Expected http/s scheme." + message: 'Expected http/s scheme.' }); } - r.initiator = "fetch"; - r.destination = "subresource"; + r.initiator = 'fetch'; + r.destination = 'subresource'; requestList.push(r); const responsePromise = createDeferredPromise(); - fetchControllers.push(fetching({ - request: r, - 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(); + fetchControllers.push( + fetching({ + request: r, + 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); } const p = Promise.all(responsePromises); @@ -17452,7 +17675,7 @@ var require_cache = __commonJS({ let index = 0; for (const response of responses) { const operation = { - type: "put", + type: 'put', // 7.3.2 request: requestList[index], // 7.3.3 @@ -17480,36 +17703,36 @@ var require_cache = __commonJS({ } async put(request2, response) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.put"; + const prefix = 'Cache.put'; webidl.argumentLengthCheck(arguments, 2, prefix); - request2 = webidl.converters.RequestInfo(request2, prefix, "request"); - response = webidl.converters.Response(response, prefix, "response"); + request2 = webidl.converters.RequestInfo(request2, prefix, 'request'); + response = webidl.converters.Response(response, prefix, 'response'); let innerRequest = null; if (request2 instanceof Request) { innerRequest = request2[kState]; } else { innerRequest = new Request(request2)[kState]; } - if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { + if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET') { throw webidl.errors.exception({ header: prefix, - message: "Expected an http/s scheme when method is not GET" + message: 'Expected an http/s scheme when method is not GET' }); } const innerResponse = response[kState]; if (innerResponse.status === 206) { throw webidl.errors.exception({ header: prefix, - message: "Got 206 status" + 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: prefix, - message: "Got * vary field value" + message: 'Got * vary field value' }); } } @@ -17517,7 +17740,7 @@ var require_cache = __commonJS({ if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { throw webidl.errors.exception({ header: prefix, - message: "Response body is locked or disturbed" + message: 'Response body is locked or disturbed' }); } const clonedResponse = cloneResponse(innerResponse); @@ -17531,7 +17754,7 @@ var require_cache = __commonJS({ } const operations = []; const operation = { - type: "put", + type: 'put', // 14. request: innerRequest, // 15. @@ -17561,23 +17784,23 @@ var require_cache = __commonJS({ } async delete(request2, options = {}) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.delete"; + const prefix = 'Cache.delete'; webidl.argumentLengthCheck(arguments, 1, prefix); - request2 = webidl.converters.RequestInfo(request2, prefix, "request"); - options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + request2 = webidl.converters.RequestInfo(request2, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); let r = null; if (request2 instanceof Request) { r = request2[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { + if (r.method !== 'GET' && !options.ignoreMethod) { return false; } } else { - assert(typeof request2 === "string"); + assert(typeof request2 === 'string'); r = new Request(request2)[kState]; } const operations = []; const operation = { - type: "delete", + type: 'delete', request: r, options }; @@ -17607,17 +17830,17 @@ var require_cache = __commonJS({ */ async keys(request2 = void 0, options = {}) { webidl.brandCheck(this, _Cache); - const prefix = "Cache.keys"; - if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); - options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + const prefix = 'Cache.keys'; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); let r = null; if (request2 !== void 0) { if (request2 instanceof Request) { r = request2[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { + if (r.method !== 'GET' && !options.ignoreMethod) { return []; } - } else if (typeof request2 === "string") { + } else if (typeof request2 === 'string') { r = new Request(request2)[kState]; } } @@ -17636,11 +17859,7 @@ var require_cache = __commonJS({ queueMicrotask(() => { const requestList = []; for (const request3 of requests) { - const requestObject = fromInnerRequest( - request3, - new AbortController().signal, - "immutable" - ); + const requestObject = fromInnerRequest(request3, new AbortController().signal, 'immutable'); requestList.push(requestObject); } promise.resolve(Object.freeze(requestList)); @@ -17659,23 +17878,23 @@ var require_cache = __commonJS({ 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"); + throw new DOMException('???', 'InvalidStateError'); } let requestResponses; - if (operation.type === "delete") { + if (operation.type === 'delete') { requestResponses = this.#queryCache(operation.request, operation.options); if (requestResponses.length === 0) { return []; @@ -17685,30 +17904,30 @@ var require_cache = __commonJS({ 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; 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); @@ -17759,18 +17978,18 @@ var require_cache = __commonJS({ const queryURL = new URL(requestQuery.url); const cachedURL = new URL(request2.url); if (options?.ignoreSearch) { - cachedURL.search = ""; - queryURL.search = ""; + cachedURL.search = ''; + queryURL.search = ''; } if (!urlEquals(queryURL, cachedURL, true)) { return false; } - if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { + 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 === "*") { + if (fieldValue === '*') { return false; } const requestValue = request2.headersList.get(fieldValue); @@ -17786,10 +18005,10 @@ var require_cache = __commonJS({ if (request2 !== void 0) { if (request2 instanceof Request) { r = request2[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { + if (r.method !== 'GET' && !options.ignoreMethod) { return []; } - } else if (typeof request2 === "string") { + } else if (typeof request2 === 'string') { r = new Request(request2)[kState]; } } @@ -17806,7 +18025,7 @@ var require_cache = __commonJS({ } const responseList = []; for (const response of responses) { - const responseObject = fromInnerResponse(response, "immutable"); + const responseObject = fromInnerResponse(response, 'immutable'); responseList.push(responseObject.clone()); if (responseList.length >= maxResponses) { break; @@ -17817,7 +18036,7 @@ var require_cache = __commonJS({ }; Object.defineProperties(Cache.prototype, { [Symbol.toStringTag]: { - value: "Cache", + value: 'Cache', configurable: true }, match: kEnumerableProperty, @@ -17830,17 +18049,17 @@ var require_cache = __commonJS({ }); 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 } @@ -17849,14 +18068,12 @@ var require_cache = __commonJS({ 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.RequestInfo - ); + webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.RequestInfo); module2.exports = { Cache }; @@ -17865,8 +18082,8 @@ var require_cache = __commonJS({ // node_modules/undici/lib/web/cache/cachestorage.js var require_cachestorage = __commonJS({ - "node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cache/cachestorage.js'(exports2, module2) { + 'use strict'; var { kConstruct } = require_symbols4(); var { Cache } = require_cache(); var { webidl } = require_webidl(); @@ -17885,7 +18102,7 @@ var require_cachestorage = __commonJS({ } async match(request2, options = {}) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match"); + webidl.argumentLengthCheck(arguments, 1, 'CacheStorage.match'); request2 = webidl.converters.RequestInfo(request2); options = webidl.converters.MultiCacheQueryOptions(options); if (options.cacheName != null) { @@ -17911,9 +18128,9 @@ var require_cachestorage = __commonJS({ */ async has(cacheName) { webidl.brandCheck(this, _CacheStorage); - const prefix = "CacheStorage.has"; + const prefix = 'CacheStorage.has'; webidl.argumentLengthCheck(arguments, 1, prefix); - cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); + cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName'); return this.#caches.has(cacheName); } /** @@ -17923,9 +18140,9 @@ var require_cachestorage = __commonJS({ */ async open(cacheName) { webidl.brandCheck(this, _CacheStorage); - const prefix = "CacheStorage.open"; + const prefix = 'CacheStorage.open'; webidl.argumentLengthCheck(arguments, 1, prefix); - cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); + cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName'); if (this.#caches.has(cacheName)) { const cache2 = this.#caches.get(cacheName); return new Cache(kConstruct, cache2); @@ -17941,9 +18158,9 @@ var require_cachestorage = __commonJS({ */ async delete(cacheName) { webidl.brandCheck(this, _CacheStorage); - const prefix = "CacheStorage.delete"; + const prefix = 'CacheStorage.delete'; webidl.argumentLengthCheck(arguments, 1, prefix); - cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); + cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName'); return this.#caches.delete(cacheName); } /** @@ -17958,7 +18175,7 @@ var require_cachestorage = __commonJS({ }; Object.defineProperties(CacheStorage.prototype, { [Symbol.toStringTag]: { - value: "CacheStorage", + value: 'CacheStorage', configurable: true }, match: kEnumerableProperty, @@ -17975,8 +18192,8 @@ var require_cachestorage = __commonJS({ // node_modules/undici/lib/web/cookies/constants.js var require_constants4 = __commonJS({ - "node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cookies/constants.js'(exports2, module2) { + 'use strict'; var maxAttributeValueSize = 1024; var maxNameValuePairSize = 4096; module2.exports = { @@ -17988,12 +18205,12 @@ var require_constants4 = __commonJS({ // node_modules/undici/lib/web/cookies/util.js var require_util6 = __commonJS({ - "node_modules/undici/lib/web/cookies/util.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cookies/util.js'(exports2, module2) { + 'use strict'; function isCTLExcludingHtab(value) { for (let i = 0; i < value.length; ++i) { const code = value.charCodeAt(i); - if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) { + if ((code >= 0 && code <= 8) || (code >= 10 && code <= 31) || code === 127) { return true; } } @@ -18002,26 +18219,28 @@ var require_util6 = __commonJS({ function validateCookieName(name) { for (let i = 0; i < name.length; ++i) { const code = name.charCodeAt(i); - if (code < 33 || // exclude CTLs (0-31), SP and HT - code > 126 || // exclude non-ascii and DEL - code === 34 || // " - code === 40 || // ( - code === 41 || // ) - code === 60 || // < - code === 62 || // > - code === 64 || // @ - code === 44 || // , - code === 59 || // ; - code === 58 || // : - code === 92 || // \ - code === 47 || // / - code === 91 || // [ - code === 93 || // ] - code === 63 || // ? - code === 61 || // = - code === 123 || // { - code === 125) { - throw new Error("Invalid cookie name"); + if ( + code < 33 || // exclude CTLs (0-31), SP and HT + code > 126 || // exclude non-ascii and DEL + code === 34 || // " + code === 40 || // ( + code === 41 || // ) + code === 60 || // < + code === 62 || // > + code === 64 || // @ + code === 44 || // , + code === 59 || // ; + code === 58 || // : + code === 92 || // \ + code === 47 || // / + code === 91 || // [ + code === 93 || // ] + code === 63 || // ? + code === 61 || // = + code === 123 || // { + code === 125 + ) { + throw new Error('Invalid cookie name'); } } } @@ -18030,71 +18249,60 @@ var require_util6 = __commonJS({ let i = 0; if (value[0] === '"') { if (len === 1 || value[len - 1] !== '"') { - throw new Error("Invalid cookie value"); + throw new Error('Invalid cookie value'); } --len; ++i; } while (i < len) { const code = value.charCodeAt(i++); - if (code < 33 || // exclude CTLs (0-31) - code > 126 || // non-ascii and DEL (127) - code === 34 || // " - code === 44 || // , - code === 59 || // ; - code === 92) { - throw new Error("Invalid cookie value"); + if ( + code < 33 || // exclude CTLs (0-31) + code > 126 || // non-ascii and DEL (127) + code === 34 || // " + code === 44 || // , + code === 59 || // ; + code === 92 + ) { + throw new Error('Invalid cookie value'); } } } function validateCookiePath(path) { for (let i = 0; i < path.length; ++i) { const code = path.charCodeAt(i); - if (code < 32 || // exclude CTLs (0-31) - code === 127 || // DEL - code === 59) { - throw new Error("Invalid cookie path"); + if ( + code < 32 || // exclude CTLs (0-31) + code === 127 || // DEL + code === 59 + ) { + throw new Error('Invalid cookie path'); } } } function validateCookieDomain(domain) { - if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { - throw new Error("Invalid cookie domain"); - } - } - var IMFDays = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; - var IMFMonths = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0")); + if (domain.startsWith('-') || domain.endsWith('.') || domain.endsWith('-')) { + throw new Error('Invalid cookie domain'); + } + } + var IMFDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + var IMFMonths = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + var IMFPaddedNumbers = Array(61) + .fill(0) + .map((_, i) => i.toString().padStart(2, '0')); function toIMFDate(date) { - if (typeof date === "number") { + if (typeof date === 'number') { date = new Date(date); } - return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`; + return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${ + IMFMonths[date.getUTCMonth()] + } ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${ + IMFPaddedNumbers[date.getUTCSeconds()] + } GMT`; } function validateCookieMaxAge(maxAge) { if (maxAge < 0) { - throw new Error("Invalid cookie max-age"); + throw new Error('Invalid cookie max-age'); } } function stringify(cookie) { @@ -18104,21 +18312,21 @@ var require_util6 = __commonJS({ validateCookieName(cookie.name); validateCookieValue(cookie.value); const out = [`${cookie.name}=${cookie.value}`]; - if (cookie.name.startsWith("__Secure-")) { + if (cookie.name.startsWith('__Secure-')) { cookie.secure = true; } - if (cookie.name.startsWith("__Host-")) { + if (cookie.name.startsWith('__Host-')) { cookie.secure = true; cookie.domain = null; - cookie.path = "/"; + 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") { + if (typeof cookie.maxAge === 'number') { validateCookieMaxAge(cookie.maxAge); out.push(`Max-Age=${cookie.maxAge}`); } @@ -18130,20 +18338,20 @@ var require_util6 = __commonJS({ validateCookiePath(cookie.path); out.push(`Path=${cookie.path}`); } - if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { + if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') { out.push(`Expires=${toIMFDate(cookie.expires)}`); } if (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('; '); } module2.exports = { isCTLExcludingHtab, @@ -18158,36 +18366,32 @@ var require_util6 = __commonJS({ // node_modules/undici/lib/web/cookies/parse.js var require_parse2 = __commonJS({ - "node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cookies/parse.js'(exports2, module2) { + 'use strict'; var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); var { isCTLExcludingHtab } = require_util6(); var { collectASequenceOfCodePointsFast } = require_data_url(); - var assert = require("node:assert"); + var assert = require('node:assert'); function parseSetCookie(header) { if (isCTLExcludingHtab(header)) { return null; } - let nameValuePair = ""; - let unparsedAttributes = ""; - let name = ""; - let value = ""; - if (header.includes(";")) { + let nameValuePair = ''; + let unparsedAttributes = ''; + let name = ''; + let value = ''; + if (header.includes(';')) { const position = { position: 0 }; - nameValuePair = collectASequenceOfCodePointsFast(";", header, position); + nameValuePair = collectASequenceOfCodePointsFast(';', header, position); unparsedAttributes = header.slice(position.position); } else { nameValuePair = header; } - if (!nameValuePair.includes("=")) { + if (!nameValuePair.includes('=')) { value = nameValuePair; } else { const position = { position: 0 }; - name = collectASequenceOfCodePointsFast( - "=", - nameValuePair, - position - ); + name = collectASequenceOfCodePointsFast('=', nameValuePair, position); value = nameValuePair.slice(position.position + 1); } name = name.trim(); @@ -18205,29 +18409,21 @@ var require_parse2 = __commonJS({ if (unparsedAttributes.length === 0) { return cookieAttributeList; } - assert(unparsedAttributes[0] === ";"); + assert(unparsedAttributes[0] === ';'); unparsedAttributes = unparsedAttributes.slice(1); - let cookieAv = ""; - if (unparsedAttributes.includes(";")) { - cookieAv = collectASequenceOfCodePointsFast( - ";", - unparsedAttributes, - { position: 0 } - ); + let cookieAv = ''; + if (unparsedAttributes.includes(';')) { + cookieAv = collectASequenceOfCodePointsFast(';', unparsedAttributes, { position: 0 }); unparsedAttributes = unparsedAttributes.slice(cookieAv.length); } else { cookieAv = unparsedAttributes; - unparsedAttributes = ""; + unparsedAttributes = ''; } - let attributeName = ""; - let attributeValue = ""; - if (cookieAv.includes("=")) { + let attributeName = ''; + let attributeValue = ''; + if (cookieAv.includes('=')) { const position = { position: 0 }; - attributeName = collectASequenceOfCodePointsFast( - "=", - cookieAv, - position - ); + attributeName = collectASequenceOfCodePointsFast('=', cookieAv, position); attributeValue = cookieAv.slice(position.position + 1); } else { attributeName = cookieAv; @@ -18238,12 +18434,12 @@ var require_parse2 = __commonJS({ return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); } const attributeNameLowercase = attributeName.toLowerCase(); - if (attributeNameLowercase === "expires") { + if (attributeNameLowercase === 'expires') { const expiryTime = new Date(attributeValue); cookieAttributeList.expires = expiryTime; - } else if (attributeNameLowercase === "max-age") { + } else if (attributeNameLowercase === 'max-age') { const charCode = attributeValue.charCodeAt(0); - if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { + if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') { return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); } if (!/^\d+$/.test(attributeValue)) { @@ -18251,36 +18447,36 @@ var require_parse2 = __commonJS({ } const deltaSeconds = Number(attributeValue); cookieAttributeList.maxAge = deltaSeconds; - } else if (attributeNameLowercase === "domain") { + } else if (attributeNameLowercase === 'domain') { let cookieDomain = attributeValue; - if (cookieDomain[0] === ".") { + 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 if (attributeNameLowercase === 'path') { + let cookiePath = ''; + if (attributeValue.length === 0 || attributeValue[0] !== '/') { + cookiePath = '/'; } else { cookiePath = attributeValue; } cookieAttributeList.path = cookiePath; - } else if (attributeNameLowercase === "secure") { + } else if (attributeNameLowercase === 'secure') { cookieAttributeList.secure = true; - } else if (attributeNameLowercase === "httponly") { + } else if (attributeNameLowercase === 'httponly') { cookieAttributeList.httpOnly = true; - } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; + } else if (attributeNameLowercase === 'samesite') { + let enforcement = 'Default'; const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; + if (attributeValueLowercase.includes('none')) { + enforcement = 'None'; } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; + if (attributeValueLowercase.includes('strict')) { + enforcement = 'Strict'; } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; + if (attributeValueLowercase.includes('lax')) { + enforcement = 'Lax'; } cookieAttributeList.sameSite = enforcement; } else { @@ -18298,121 +18494,121 @@ var require_parse2 = __commonJS({ // node_modules/undici/lib/web/cookies/index.js var require_cookies = __commonJS({ - "node_modules/undici/lib/web/cookies/index.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/cookies/index.js'(exports2, module2) { + 'use strict'; var { parseSetCookie } = require_parse2(); var { stringify } = require_util6(); var { webidl } = require_webidl(); var { Headers } = require_headers(); function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, "getCookies"); + webidl.argumentLengthCheck(arguments, 1, 'getCookies'); webidl.brandCheck(headers, Headers, { strict: false }); - const cookie = headers.get("cookie"); + const cookie = headers.get('cookie'); const out = {}; if (!cookie) { 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; } function deleteCookie(headers, name, attributes) { webidl.brandCheck(headers, Headers, { strict: false }); - const prefix = "deleteCookie"; + const prefix = 'deleteCookie'; webidl.argumentLengthCheck(arguments, 2, prefix); - name = webidl.converters.DOMString(name, prefix, "name"); + name = webidl.converters.DOMString(name, prefix, 'name'); attributes = webidl.converters.DeleteCookieAttributes(attributes); setCookie(headers, { name, - value: "", + value: '', expires: /* @__PURE__ */ new Date(0), ...attributes }); } function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, "getSetCookies"); + webidl.argumentLengthCheck(arguments, 1, 'getSetCookies'); webidl.brandCheck(headers, Headers, { strict: false }); const cookies = headers.getSetCookie(); if (!cookies) { return []; } - return cookies.map((pair) => parseSetCookie(pair)); + return cookies.map(pair => parseSetCookie(pair)); } function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, "setCookie"); + webidl.argumentLengthCheck(arguments, 2, 'setCookie'); webidl.brandCheck(headers, Headers, { strict: false }); cookie = webidl.converters.Cookie(cookie); const str = stringify(cookie); if (str) { - headers.append("Set-Cookie", str); + headers.append('Set-Cookie', str); } } 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); + converter: webidl.nullableConverter(value => { + if (typeof value === 'number') { + return webidl.converters['unsigned long long'](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: () => new Array(0) } ]); @@ -18427,12 +18623,12 @@ var require_cookies = __commonJS({ // node_modules/undici/lib/web/websocket/events.js var require_events = __commonJS({ - "node_modules/undici/lib/web/websocket/events.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/events.js'(exports2, module2) { + 'use strict'; var { webidl } = require_webidl(); var { kEnumerableProperty } = require_util(); var { kConstruct } = require_symbols(); - var { MessagePort } = require("node:worker_threads"); + var { MessagePort } = require('node:worker_threads'); var MessageEvent = class _MessageEvent extends Event { #eventInit; constructor(type, eventInitDict = {}) { @@ -18441,10 +18637,10 @@ var require_events = __commonJS({ webidl.util.markAsUncloneable(this); return; } - const prefix = "MessageEvent constructor"; + const prefix = 'MessageEvent constructor'; webidl.argumentLengthCheck(arguments, 1, prefix); - type = webidl.converters.DOMString(type, prefix, "type"); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict"); + type = webidl.converters.DOMString(type, prefix, 'type'); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, 'eventInitDict'); super(type, eventInitDict); this.#eventInit = eventInitDict; webidl.util.markAsUncloneable(this); @@ -18472,9 +18668,18 @@ var require_events = __commonJS({ } return this.#eventInit.ports; } - initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { + initMessageEvent( + type, + bubbles = false, + cancelable = false, + data = null, + origin = '', + lastEventId = '', + source = null, + ports = [] + ) { webidl.brandCheck(this, _MessageEvent); - webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent"); + webidl.argumentLengthCheck(arguments, 1, 'MessageEvent.initMessageEvent'); return new _MessageEvent(type, { bubbles, cancelable, @@ -18489,8 +18694,8 @@ var require_events = __commonJS({ const messageEvent = new _MessageEvent(kConstruct, type, init); messageEvent.#eventInit = init; messageEvent.#eventInit.data ??= null; - messageEvent.#eventInit.origin ??= ""; - messageEvent.#eventInit.lastEventId ??= ""; + messageEvent.#eventInit.origin ??= ''; + messageEvent.#eventInit.lastEventId ??= ''; messageEvent.#eventInit.source ??= null; messageEvent.#eventInit.ports ??= []; return messageEvent; @@ -18501,9 +18706,9 @@ var require_events = __commonJS({ var CloseEvent = class _CloseEvent extends Event { #eventInit; constructor(type, eventInitDict = {}) { - const prefix = "CloseEvent constructor"; + const prefix = 'CloseEvent constructor'; webidl.argumentLengthCheck(arguments, 1, prefix); - type = webidl.converters.DOMString(type, prefix, "type"); + type = webidl.converters.DOMString(type, prefix, 'type'); eventInitDict = webidl.converters.CloseEventInit(eventInitDict); super(type, eventInitDict); this.#eventInit = eventInitDict; @@ -18525,11 +18730,11 @@ var require_events = __commonJS({ var ErrorEvent = class _ErrorEvent extends Event { #eventInit; constructor(type, eventInitDict) { - const prefix = "ErrorEvent constructor"; + const prefix = 'ErrorEvent constructor'; webidl.argumentLengthCheck(arguments, 1, prefix); super(type, eventInitDict); webidl.util.markAsUncloneable(this); - type = webidl.converters.DOMString(type, prefix, "type"); + type = webidl.converters.DOMString(type, prefix, 'type'); eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); this.#eventInit = eventInitDict; } @@ -18556,7 +18761,7 @@ var require_events = __commonJS({ }; Object.defineProperties(MessageEvent.prototype, { [Symbol.toStringTag]: { - value: "MessageEvent", + value: 'MessageEvent', configurable: true }, data: kEnumerableProperty, @@ -18568,7 +18773,7 @@ var require_events = __commonJS({ }); Object.defineProperties(CloseEvent.prototype, { [Symbol.toStringTag]: { - value: "CloseEvent", + value: 'CloseEvent', configurable: true }, reason: kEnumerableProperty, @@ -18577,7 +18782,7 @@ var require_events = __commonJS({ }); Object.defineProperties(ErrorEvent.prototype, { [Symbol.toStringTag]: { - value: "ErrorEvent", + value: 'ErrorEvent', configurable: true }, message: kEnumerableProperty, @@ -18587,22 +18792,20 @@ var require_events = __commonJS({ error: kEnumerableProperty }); webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.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 } @@ -18610,75 +18813,75 @@ var require_events = __commonJS({ 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'], defaultValue: () => new Array(0) } ]); 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 } ]); @@ -18693,9 +18896,9 @@ var require_events = __commonJS({ // node_modules/undici/lib/web/websocket/constants.js var require_constants5 = __commonJS({ - "node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + 'node_modules/undici/lib/web/websocket/constants.js'(exports2, module2) { + 'use strict'; + var uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'; var staticPropertyDescriptors = { enumerable: true, writable: false, @@ -18750,29 +18953,29 @@ var require_constants5 = __commonJS({ // node_modules/undici/lib/web/websocket/symbols.js var require_symbols5 = __commonJS({ - "node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/symbols.js'(exports2, 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/undici/lib/web/websocket/util.js var require_util7 = __commonJS({ - "node_modules/undici/lib/web/websocket/util.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/util.js'(exports2, module2) { + 'use strict'; var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); var { states, opcodes } = require_constants5(); var { ErrorEvent, createFastMessageEvent } = require_events(); - var { isUtf8 } = require("node:buffer"); + var { isUtf8 } = require('node:buffer'); var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url(); function isConnecting(ws) { return ws[kReadyState] === states.CONNECTING; @@ -18799,17 +19002,17 @@ var require_util7 = __commonJS({ try { dataForEvent = utf8Decode(data); } catch { - failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); + failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.'); return; } } else if (type === opcodes.BINARY) { - if (ws[kBinaryType] === "blob") { + if (ws[kBinaryType] === 'blob') { dataForEvent = new Blob([data]); } else { dataForEvent = toArrayBuffer(data); } } - fireEvent("message", ws, createFastMessageEvent, { + fireEvent('message', ws, createFastMessageEvent, { origin: ws[kWebSocketURL].origin, data: dataForEvent }); @@ -18826,24 +19029,27 @@ var require_util7 = __commonJS({ } for (let i = 0; i < protocol.length; ++i) { const code = protocol.charCodeAt(i); - if (code < 33 || // CTL, contains SP (0x20) and HT (0x09) - code > 126 || code === 34 || // " - code === 40 || // ( - code === 41 || // ) - code === 44 || // , - code === 47 || // / - code === 58 || // : - code === 59 || // ; - code === 60 || // < - code === 61 || // = - code === 62 || // > - code === 63 || // ? - code === 64 || // @ - code === 91 || // [ - code === 92 || // \ - code === 93 || // ] - code === 123 || // { - code === 125) { + if ( + code < 33 || // CTL, contains SP (0x20) and HT (0x09) + code > 126 || + code === 34 || // " + code === 40 || // ( + code === 41 || // ) + code === 44 || // , + code === 47 || // / + code === 58 || // : + code === 59 || // ; + code === 60 || // < + code === 61 || // = + code === 62 || // > + code === 63 || // ? + code === 64 || // @ + code === 91 || // [ + code === 92 || // \ + code === 93 || // ] + code === 123 || // { + code === 125 + ) { return false; } } @@ -18851,9 +19057,11 @@ var require_util7 = __commonJS({ } 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; } @@ -18864,7 +19072,7 @@ var require_util7 = __commonJS({ response.socket.destroy(); } if (reason) { - fireEvent("error", ws, (type, init) => new ErrorEvent(type, init), { + fireEvent('error', ws, (type, init) => new ErrorEvent(type, init), { error: new Error(reason), message: reason }); @@ -18886,12 +19094,9 @@ var require_util7 = __commonJS({ const position = { position: 0 }; const extensionList = /* @__PURE__ */ new Map(); while (position.position < extensions.length) { - const pair = collectASequenceOfCodePointsFast(";", extensions, position); - const [name, value = ""] = pair.split("="); - extensionList.set( - removeHTTPWhitespace(name, true, false), - removeHTTPWhitespace(value, false, true) - ); + const pair = collectASequenceOfCodePointsFast(';', extensions, position); + const [name, value = ''] = pair.split('='); + extensionList.set(removeHTTPWhitespace(name, true, false), removeHTTPWhitespace(value, false, true)); position.position++; } return extensionList; @@ -18905,14 +19110,16 @@ var require_util7 = __commonJS({ } return true; } - var hasIntl = typeof process.versions.icu === "string"; - var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0; - var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) { - if (isUtf8(buffer)) { - return buffer.toString("utf-8"); - } - throw new TypeError("Invalid utf-8 received."); - }; + var hasIntl = typeof process.versions.icu === 'string'; + var fatalDecoder = hasIntl ? new TextDecoder('utf-8', { fatal: true }) : void 0; + var utf8Decode = hasIntl + ? fatalDecoder.decode.bind(fatalDecoder) + : function (buffer) { + if (isUtf8(buffer)) { + return buffer.toString('utf-8'); + } + throw new TypeError('Invalid utf-8 received.'); + }; module2.exports = { isConnecting, isEstablished, @@ -18936,21 +19143,21 @@ var require_util7 = __commonJS({ // node_modules/undici/lib/web/websocket/frame.js var require_frame = __commonJS({ - "node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/frame.js'(exports2, module2) { + 'use strict'; var { maxUnsigned16Bit } = require_constants5(); var BUFFER_SIZE = 16386; var crypto; var buffer = null; var bufIdx = BUFFER_SIZE; try { - crypto = require("node:crypto"); + crypto = require('node:crypto'); } catch { crypto = { // not full compatibility, but minimum. randomFillSync: function randomFillSync(buffer2, _offset, _size) { for (let i = 0; i < buffer2.length; ++i) { - buffer2[i] = Math.random() * 255 | 0; + buffer2[i] = (Math.random() * 255) | 0; } return buffer2; } @@ -18959,7 +19166,7 @@ var require_frame = __commonJS({ function generateMask() { if (bufIdx === BUFFER_SIZE) { bufIdx = 0; - crypto.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE); + crypto.randomFillSync((buffer ??= Buffer.allocUnsafe(BUFFER_SIZE)), 0, BUFFER_SIZE); } return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]; } @@ -19013,16 +19220,10 @@ var require_frame = __commonJS({ // node_modules/undici/lib/web/websocket/connection.js var require_connection = __commonJS({ - "node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/connection.js'(exports2, module2) { + 'use strict'; var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants5(); - var { - kReadyState, - kSentClose, - kByteParser, - kReceivedClose, - kResponse - } = require_symbols5(); + var { kReadyState, kSentClose, kByteParser, kReceivedClose, kResponse } = require_symbols5(); var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util7(); var { channels } = require_diagnostics(); var { CloseEvent } = require_events(); @@ -19033,81 +19234,83 @@ var require_connection = __commonJS({ var { WebsocketFrameSend } = require_frame(); var crypto; try { - crypto = require("node:crypto"); - } catch { - } + crypto = require('node:crypto'); + } catch {} function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) { const requestURL = url; - requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; + requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:'; const request2 = makeRequest({ urlList: [requestURL], client, - 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 = getHeadersList(new Headers(options.headers)); request2.headersList = headersList; } - const keyValue = crypto.randomBytes(16).toString("base64"); - request2.headersList.append("sec-websocket-key", keyValue); - request2.headersList.append("sec-websocket-version", "13"); + const keyValue = crypto.randomBytes(16).toString('base64'); + request2.headersList.append('sec-websocket-key', keyValue); + request2.headersList.append('sec-websocket-version', '13'); for (const protocol of protocols) { - request2.headersList.append("sec-websocket-protocol", protocol); + request2.headersList.append('sec-websocket-protocol', protocol); } - const permessageDeflate = "permessage-deflate; client_max_window_bits"; - request2.headersList.append("sec-websocket-extensions", permessageDeflate); + const permessageDeflate = 'permessage-deflate; client_max_window_bits'; + request2.headersList.append('sec-websocket-extensions', permessageDeflate); const controller = fetching({ request: request2, useParallelQueue: true, dispatcher: options.dispatcher, processResponse(response) { - if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(ws, "Received network error or non-101 status code."); + 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."); + 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") { + 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") { + 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 = crypto.createHash("sha1").update(keyValue + uid).digest("base64"); + const secWSAccept = response.headersList.get('Sec-WebSocket-Accept'); + const digest = crypto + .createHash('sha1') + .update(keyValue + uid) + .digest('base64'); if (secWSAccept !== digest) { - failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); + 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'); let extensions; if (secExtension !== null) { extensions = parseExtensions(secExtension); - if (!extensions.has("permessage-deflate")) { - failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match."); + if (!extensions.has('permessage-deflate')) { + failWebsocketConnection(ws, 'Sec-WebSocket-Extensions header does not match.'); return; } } - const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); + const secProtocol = response.headersList.get('Sec-WebSocket-Protocol'); if (secProtocol !== null) { - const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList); + const requestProtocols = getDecodeSplit('sec-websocket-protocol', request2.headersList); if (!requestProtocols.includes(secProtocol)) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); + 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(), @@ -19123,7 +19326,7 @@ var require_connection = __commonJS({ function closeWebSocketConnection(ws, code, reason, reasonByteLength) { if (isClosing(ws) || isClosed(ws)) { } else if (!isEstablished(ws)) { - failWebsocketConnection(ws, "Connection was closed before it was established."); + failWebsocketConnection(ws, 'Connection was closed before it was established.'); ws[kReadyState] = states.CLOSING; } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) { ws[kSentClose] = sentCloseFrameState.PROCESSING; @@ -19134,7 +19337,7 @@ var require_connection = __commonJS({ } 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.write(reason, 2, 'utf-8'); } else { frame.frameData = emptyBuffer; } @@ -19154,12 +19357,12 @@ var require_connection = __commonJS({ function onSocketClose() { const { ws } = this; const { [kResponse]: response } = ws; - response.socket.off("data", onSocketData); - response.socket.off("close", onSocketClose); - response.socket.off("error", onSocketError); + response.socket.off('data', onSocketData); + response.socket.off('close', onSocketClose); + response.socket.off('error', onSocketError); const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose]; let code = 1005; - let reason = ""; + let reason = ''; const result = ws[kByteParser].closingInfo; if (result && !result.error) { code = result.code ?? 1005; @@ -19168,7 +19371,7 @@ var require_connection = __commonJS({ code = 1006; } ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, (type, init) => new CloseEvent(type, init), { + fireEvent('close', ws, (type, init) => new CloseEvent(type, init), { wasClean, code, reason @@ -19198,27 +19401,27 @@ var require_connection = __commonJS({ // node_modules/undici/lib/web/websocket/permessage-deflate.js var require_permessage_deflate = __commonJS({ - "node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) { - "use strict"; - var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib"); + 'node_modules/undici/lib/web/websocket/permessage-deflate.js'(exports2, module2) { + 'use strict'; + var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require('node:zlib'); var { isValidClientWindowBits } = require_util7(); var tail = Buffer.from([0, 0, 255, 255]); - var kBuffer = Symbol("kBuffer"); - var kLength = Symbol("kLength"); + var kBuffer = Symbol('kBuffer'); + var kLength = Symbol('kLength'); var PerMessageDeflate = class { /** @type {import('node:zlib').InflateRaw} */ #inflate; #options = {}; constructor(extensions) { - this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover"); - this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits"); + this.#options.serverNoContextTakeover = extensions.has('server_no_context_takeover'); + this.#options.serverMaxWindowBits = extensions.get('server_max_window_bits'); } decompress(chunk, fin, callback) { if (!this.#inflate) { let windowBits = Z_DEFAULT_WINDOWBITS; if (this.#options.serverMaxWindowBits) { if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) { - callback(new Error("Invalid server_max_window_bits")); + callback(new Error('Invalid server_max_window_bits')); return; } windowBits = Number.parseInt(this.#options.serverMaxWindowBits); @@ -19226,11 +19429,11 @@ var require_permessage_deflate = __commonJS({ this.#inflate = createInflateRaw({ windowBits }); this.#inflate[kBuffer] = []; this.#inflate[kLength] = 0; - this.#inflate.on("data", (data) => { + this.#inflate.on('data', data => { this.#inflate[kBuffer].push(data); this.#inflate[kLength] += data.length; }); - this.#inflate.on("error", (err) => { + this.#inflate.on('error', err => { this.#inflate = null; callback(err); }); @@ -19253,10 +19456,10 @@ var require_permessage_deflate = __commonJS({ // node_modules/undici/lib/web/websocket/receiver.js var require_receiver = __commonJS({ - "node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) { - "use strict"; - var { Writable } = require("node:stream"); - var assert = require("node:assert"); + 'node_modules/undici/lib/web/websocket/receiver.js'(exports2, module2) { + 'use strict'; + var { Writable } = require('node:stream'); + var assert = require('node:assert'); var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants5(); var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); var { channels } = require_diagnostics(); @@ -19286,8 +19489,8 @@ var require_receiver = __commonJS({ super(); this.ws = ws; this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions; - if (this.#extensions.has("permessage-deflate")) { - this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions)); + if (this.#extensions.has('permessage-deflate')) { + this.#extensions.set('permessage-deflate', new PerMessageDeflate(extensions)); } } /** @@ -19321,39 +19524,39 @@ var require_receiver = __commonJS({ const rsv2 = buffer[0] & 32; const rsv3 = buffer[0] & 16; if (!isValidOpcode(opcode)) { - failWebsocketConnection(this.ws, "Invalid opcode received"); + failWebsocketConnection(this.ws, 'Invalid opcode received'); return callback(); } if (masked) { - failWebsocketConnection(this.ws, "Frame cannot be masked"); + failWebsocketConnection(this.ws, 'Frame cannot be masked'); return callback(); } - if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) { - failWebsocketConnection(this.ws, "Expected RSV1 to be clear."); + if (rsv1 !== 0 && !this.#extensions.has('permessage-deflate')) { + failWebsocketConnection(this.ws, 'Expected RSV1 to be clear.'); return; } if (rsv2 !== 0 || rsv3 !== 0) { - failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear"); + failWebsocketConnection(this.ws, 'RSV1, RSV2, RSV3 must be clear'); return; } if (fragmented && !isTextBinaryFrame(opcode)) { - failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); + failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.'); return; } if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) { - failWebsocketConnection(this.ws, "Expected continuation frame"); + failWebsocketConnection(this.ws, 'Expected continuation frame'); return; } if (this.#info.fragmented && fragmented) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); + failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.'); return; } if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) { - failWebsocketConnection(this.ws, "Control frame either too large or fragmented"); + failWebsocketConnection(this.ws, 'Control frame either too large or fragmented'); return; } if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) { - failWebsocketConnection(this.ws, "Unexpected continuation frame"); + failWebsocketConnection(this.ws, 'Unexpected continuation frame'); return; } if (payloadLength <= 125) { @@ -19386,7 +19589,7 @@ var require_receiver = __commonJS({ const buffer = this.consume(8); const upper = buffer.readUInt32BE(0); if (upper > 2 ** 31 - 1) { - failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); + failWebsocketConnection(this.ws, 'Received payload length > 2^31 bytes.'); return; } const lower = buffer.readUInt32BE(4); @@ -19410,7 +19613,7 @@ var require_receiver = __commonJS({ } this.#state = parserStates.INFO; } else { - this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => { + this.#extensions.get('permessage-deflate').decompress(body, this.#info.fin, (error, data) => { if (error) { closeWebSocketConnection(this.ws, 1007, error.message, error.message.length); return; @@ -19442,7 +19645,7 @@ var require_receiver = __commonJS({ */ consume(n) { if (n > this.#byteOffset) { - throw new Error("Called consume() before buffers satiated."); + throw new Error('Called consume() before buffers satiated.'); } else if (n === 0) { return emptyBuffer; } @@ -19477,7 +19680,7 @@ var require_receiver = __commonJS({ code = data.readUInt16BE(0); } if (code !== void 0 && !isValidStatusCode(code)) { - return { code: 1002, reason: "Invalid status code", error: true }; + return { code: 1002, reason: 'Invalid status code', error: true }; } let reason = data.subarray(2); if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { @@ -19486,7 +19689,7 @@ var require_receiver = __commonJS({ try { reason = utf8Decode(reason); } catch { - return { code: 1007, reason: "Invalid UTF-8", error: true }; + return { code: 1007, reason: 'Invalid UTF-8', error: true }; } return { code, reason, error: false }; } @@ -19498,7 +19701,7 @@ var require_receiver = __commonJS({ const { opcode, payloadLength } = this.#info; if (opcode === opcodes.CLOSE) { if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); + failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.'); return false; } this.#info.closeInfo = this.parseCloseBody(body); @@ -19515,14 +19718,11 @@ var require_receiver = __commonJS({ 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] = sentCloseFrameState.SENT; - } + this.ws[kResponse].socket.write(closeFrame.createFrame(opcodes.CLOSE), err => { + if (!err) { + this.ws[kSentClose] = sentCloseFrameState.SENT; } - ); + }); } this.ws[kReadyState] = states.CLOSING; this.ws[kReceivedClose] = true; @@ -19558,8 +19758,8 @@ var require_receiver = __commonJS({ // node_modules/undici/lib/web/websocket/sender.js var require_sender = __commonJS({ - "node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/sender.js'(exports2, module2) { + 'use strict'; var { WebsocketFrameSend } = require_frame(); var { opcodes, sendHints } = require_constants5(); var FixedQueue = require_fixed_queue(); @@ -19594,7 +19794,7 @@ var require_sender = __commonJS({ return; } const node = { - promise: item.arrayBuffer().then((ab) => { + promise: item.arrayBuffer().then(ab => { node.promise = null; node.frame = createFrame(ab, hint); }), @@ -19621,7 +19821,9 @@ var require_sender = __commonJS({ } }; function createFrame(data, hint) { - return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY); + return new WebsocketFrameSend(toBuffer(data, hint)).createFrame( + hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY + ); } function toBuffer(data, hint) { switch (hint) { @@ -19640,33 +19842,19 @@ var require_sender = __commonJS({ // node_modules/undici/lib/web/websocket/websocket.js var require_websocket = __commonJS({ - "node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/websocket/websocket.js'(exports2, module2) { + 'use strict'; var { webidl } = require_webidl(); var { URLSerializer } = require_data_url(); var { environmentSettingsObject } = require_util2(); var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants5(); - var { - kWebSocketURL, - kReadyState, - kController, - kBinaryType, - kResponse, - kSentClose, - kByteParser - } = require_symbols5(); - var { - isConnecting, - isEstablished, - isClosing, - isValidSubprotocol, - fireEvent - } = require_util7(); + var { kWebSocketURL, kReadyState, kController, kBinaryType, kResponse, kSentClose, kByteParser } = require_symbols5(); + var { isConnecting, isEstablished, isClosing, isValidSubprotocol, fireEvent } = require_util7(); var { establishWebSocketConnection, closeWebSocketConnection } = require_connection(); var { ByteParser } = require_receiver(); var { kEnumerableProperty, isBlobLike } = require_util(); var { getGlobalDispatcher } = require_global2(); - var { types } = require("node:util"); + var { types } = require('node:util'); var { ErrorEvent, CloseEvent } = require_events(); var { SendQueue } = require_sender(); var WebSocket = class _WebSocket extends EventTarget { @@ -19677,8 +19865,8 @@ var require_websocket = __commonJS({ message: null }; #bufferedAmount = 0; - #protocol = ""; - #extensions = ""; + #protocol = ''; + #extensions = ''; /** @type {SendQueue} */ #sendQueue; /** @@ -19688,40 +19876,37 @@ var require_websocket = __commonJS({ constructor(url, protocols = []) { super(); webidl.util.markAsUncloneable(this); - const prefix = "WebSocket constructor"; + const prefix = 'WebSocket constructor'; webidl.argumentLengthCheck(arguments, 1, prefix); - const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options"); - url = webidl.converters.USVString(url, prefix, "url"); + const options = webidl.converters['DOMString or sequence or WebSocketInit'](protocols, prefix, 'options'); + url = webidl.converters.USVString(url, prefix, 'url'); protocols = options.protocols; const baseURL = environmentSettingsObject.settingsObject.baseUrl; let urlRecord; try { urlRecord = new URL(url, baseURL); } catch (e) { - throw new DOMException(e, "SyntaxError"); + throw new DOMException(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:") { - throw new DOMException( - `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, - "SyntaxError" - ); + if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') { + throw new DOMException(`Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, 'SyntaxError'); } - if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException("Got fragment", "SyntaxError"); + if (urlRecord.hash || urlRecord.href.endsWith('#')) { + throw new DOMException('Got fragment', 'SyntaxError'); } - if (typeof protocols === "string") { + if (typeof protocols === 'string') { protocols = [protocols]; } - if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) { - throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + if (protocols.length !== new Set(protocols.map(p => p.toLowerCase())).size) { + throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError'); } - if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { - throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + if (protocols.length > 0 && !protocols.every(p => isValidSubprotocol(p))) { + throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError'); } this[kWebSocketURL] = new URL(urlRecord.href); const client = environmentSettingsObject.settingsObject; @@ -19735,7 +19920,7 @@ var require_websocket = __commonJS({ ); this[kReadyState] = _WebSocket.CONNECTING; this[kSentClose] = sentCloseFrameState.NOT_SENT; - this[kBinaryType] = "blob"; + this[kBinaryType] = 'blob'; } /** * @see https://websockets.spec.whatwg.org/#dom-websocket-close @@ -19744,26 +19929,23 @@ var require_websocket = __commonJS({ */ close(code = void 0, reason = void 0) { webidl.brandCheck(this, _WebSocket); - const prefix = "WebSocket.close"; + const prefix = 'WebSocket.close'; if (code !== void 0) { - code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true }); + code = webidl.converters['unsigned short'](code, prefix, 'code', { clamp: true }); } if (reason !== void 0) { - reason = webidl.converters.USVString(reason, prefix, "reason"); + reason = webidl.converters.USVString(reason, prefix, 'reason'); } if (code !== void 0) { if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException("invalid code", "InvalidAccessError"); + throw new DOMException('invalid code', 'InvalidAccessError'); } } let reasonByteLength = 0; if (reason !== void 0) { reasonByteLength = Buffer.byteLength(reason); if (reasonByteLength > 123) { - throw new DOMException( - `Reason must be less than 123 bytes; received ${reasonByteLength}`, - "SyntaxError" - ); + throw new DOMException(`Reason must be less than 123 bytes; received ${reasonByteLength}`, 'SyntaxError'); } } closeWebSocketConnection(this, code, reason, reasonByteLength); @@ -19774,36 +19956,52 @@ var require_websocket = __commonJS({ */ send(data) { webidl.brandCheck(this, _WebSocket); - const prefix = "WebSocket.send"; + const prefix = 'WebSocket.send'; webidl.argumentLengthCheck(arguments, 1, prefix); - data = webidl.converters.WebSocketSendData(data, prefix, "data"); + data = webidl.converters.WebSocketSendData(data, prefix, 'data'); if (isConnecting(this)) { - throw new DOMException("Sent before connected.", "InvalidStateError"); + throw new DOMException('Sent before connected.', 'InvalidStateError'); } if (!isEstablished(this) || isClosing(this)) { return; } - if (typeof data === "string") { + if (typeof data === 'string') { const length = Buffer.byteLength(data); this.#bufferedAmount += length; - this.#sendQueue.add(data, () => { - this.#bufferedAmount -= length; - }, sendHints.string); + this.#sendQueue.add( + data, + () => { + this.#bufferedAmount -= length; + }, + sendHints.string + ); } else if (types.isArrayBuffer(data)) { this.#bufferedAmount += data.byteLength; - this.#sendQueue.add(data, () => { - this.#bufferedAmount -= data.byteLength; - }, sendHints.arrayBuffer); + this.#sendQueue.add( + data, + () => { + this.#bufferedAmount -= data.byteLength; + }, + sendHints.arrayBuffer + ); } else if (ArrayBuffer.isView(data)) { this.#bufferedAmount += data.byteLength; - this.#sendQueue.add(data, () => { - this.#bufferedAmount -= data.byteLength; - }, sendHints.typedArray); + this.#sendQueue.add( + data, + () => { + this.#bufferedAmount -= data.byteLength; + }, + sendHints.typedArray + ); } else if (isBlobLike(data)) { this.#bufferedAmount += data.size; - this.#sendQueue.add(data, () => { - this.#bufferedAmount -= data.size; - }, sendHints.blob); + this.#sendQueue.add( + data, + () => { + this.#bufferedAmount -= data.size; + }, + sendHints.blob + ); } } get readyState() { @@ -19833,11 +20031,11 @@ var require_websocket = __commonJS({ set onopen(fn) { webidl.brandCheck(this, _WebSocket); if (this.#events.open) { - this.removeEventListener("open", this.#events.open); + this.removeEventListener('open', this.#events.open); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.open = fn; - this.addEventListener("open", fn); + this.addEventListener('open', fn); } else { this.#events.open = null; } @@ -19849,11 +20047,11 @@ var require_websocket = __commonJS({ set onerror(fn) { webidl.brandCheck(this, _WebSocket); if (this.#events.error) { - this.removeEventListener("error", this.#events.error); + this.removeEventListener('error', this.#events.error); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.error = fn; - this.addEventListener("error", fn); + this.addEventListener('error', fn); } else { this.#events.error = null; } @@ -19865,11 +20063,11 @@ var require_websocket = __commonJS({ set onclose(fn) { webidl.brandCheck(this, _WebSocket); if (this.#events.close) { - this.removeEventListener("close", this.#events.close); + this.removeEventListener('close', this.#events.close); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.close = fn; - this.addEventListener("close", fn); + this.addEventListener('close', fn); } else { this.#events.close = null; } @@ -19881,11 +20079,11 @@ var require_websocket = __commonJS({ set onmessage(fn) { webidl.brandCheck(this, _WebSocket); if (this.#events.message) { - this.removeEventListener("message", this.#events.message); + this.removeEventListener('message', this.#events.message); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.message = fn; - this.addEventListener("message", fn); + this.addEventListener('message', fn); } else { this.#events.message = null; } @@ -19896,8 +20094,8 @@ var require_websocket = __commonJS({ } set binaryType(type) { webidl.brandCheck(this, _WebSocket); - if (type !== "blob" && type !== "arraybuffer") { - this[kBinaryType] = "blob"; + if (type !== 'blob' && type !== 'arraybuffer') { + this[kBinaryType] = 'blob'; } else { this[kBinaryType] = type; } @@ -19908,21 +20106,21 @@ var require_websocket = __commonJS({ #onConnectionEstablished(response, parsedExtensions) { this[kResponse] = response; const parser = new ByteParser(this, parsedExtensions); - parser.on("drain", onParserDrain); - parser.on("error", onParserError.bind(this)); + parser.on('drain', onParserDrain); + parser.on('error', onParserError.bind(this)); response.socket.ws = this; this[kByteParser] = parser; this.#sendQueue = new SendQueue(response.socket); this[kReadyState] = states.OPEN; - const extensions = response.headersList.get("sec-websocket-extensions"); + const extensions = response.headersList.get('sec-websocket-extensions'); if (extensions !== null) { 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; } - fireEvent("open", this); + fireEvent('open', this); } }; WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; @@ -19947,7 +20145,7 @@ var require_websocket = __commonJS({ extensions: kEnumerableProperty, protocol: kEnumerableProperty, [Symbol.toStringTag]: { - value: "WebSocket", + value: 'WebSocket', writable: false, enumerable: false, configurable: true @@ -19959,39 +20157,37 @@ var require_websocket = __commonJS({ CLOSING: staticPropertyDescriptors, CLOSED: staticPropertyDescriptors }); - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.DOMString - ); - webidl.converters["DOMString or sequence"] = function(V, prefix, argument) { - if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) { - return webidl.converters["sequence"](V); + webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.DOMString); + webidl.converters['DOMString or sequence'] = function (V, prefix, argument) { + if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) { + return webidl.converters['sequence'](V); } return webidl.converters.DOMString(V, prefix, argument); }; webidl.converters.WebSocketInit = webidl.dictionaryConverter([ { - key: "protocols", - converter: webidl.converters["DOMString or sequence"], + key: 'protocols', + converter: webidl.converters['DOMString or sequence'], defaultValue: () => new Array(0) }, { - key: "dispatcher", + key: 'dispatcher', converter: webidl.converters.any, defaultValue: () => 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)) { + 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 }); } @@ -20013,7 +20209,7 @@ var require_websocket = __commonJS({ } else { message = err.message; } - fireEvent("error", this, () => new ErrorEvent("error", { error: err, message })); + fireEvent('error', this, () => new ErrorEvent('error', { error: err, message })); closeWebSocketConnection(this, code); } module2.exports = { @@ -20024,10 +20220,10 @@ var require_websocket = __commonJS({ // node_modules/undici/lib/web/eventsource/util.js var require_util8 = __commonJS({ - "node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/lib/web/eventsource/util.js'(exports2, module2) { + 'use strict'; function isValidLastEventId(value) { - return value.indexOf("\0") === -1; + return value.indexOf('\0') === -1; } function isASCIINumber(value) { if (value.length === 0) return false; @@ -20037,7 +20233,7 @@ var require_util8 = __commonJS({ return true; } function delay(ms) { - return new Promise((resolve) => { + return new Promise(resolve => { setTimeout(resolve, ms).unref(); }); } @@ -20051,9 +20247,9 @@ var require_util8 = __commonJS({ // node_modules/undici/lib/web/eventsource/eventsource-stream.js var require_eventsource_stream = __commonJS({ - "node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) { - "use strict"; - var { Transform } = require("node:stream"); + 'node_modules/undici/lib/web/eventsource/eventsource-stream.js'(exports2, module2) { + 'use strict'; + var { Transform } = require('node:stream'); var { isASCIINumber, isValidLastEventId } = require_util8(); var BOM = [239, 187, 191]; var LF = 10; @@ -20204,21 +20400,21 @@ var require_eventsource_stream = __commonJS({ if (colonPosition === 0) { return; } - let field = ""; - let value = ""; + let field = ''; + let value = ''; if (colonPosition !== -1) { - field = line.subarray(0, colonPosition).toString("utf8"); + field = line.subarray(0, colonPosition).toString('utf8'); let valueStart = colonPosition + 1; if (line[valueStart] === SPACE) { ++valueStart; } - value = line.subarray(valueStart).toString("utf8"); + value = line.subarray(valueStart).toString('utf8'); } else { - field = line.toString("utf8"); - value = ""; + field = line.toString('utf8'); + value = ''; } switch (field) { - case "data": + case 'data': if (event[field] === void 0) { event[field] = value; } else { @@ -20226,17 +20422,17 @@ var require_eventsource_stream = __commonJS({ ${value}`; } break; - case "retry": + case 'retry': if (isASCIINumber(value)) { event[field] = value; } break; - case "id": + case 'id': if (isValidLastEventId(value)) { event[field] = value; } break; - case "event": + case 'event': if (value.length > 0) { event[field] = value; } @@ -20255,7 +20451,7 @@ ${value}`; } if (event.data !== void 0) { this.push({ - type: event.event || "message", + type: event.event || 'message', options: { data: event.data, lastEventId: this.state.lastEventId, @@ -20281,9 +20477,9 @@ ${value}`; // node_modules/undici/lib/web/eventsource/eventsource.js var require_eventsource = __commonJS({ - "node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) { - "use strict"; - var { pipeline } = require("node:stream"); + 'node_modules/undici/lib/web/eventsource/eventsource.js'(exports2, module2) { + 'use strict'; + var { pipeline } = require('node:stream'); var { fetching } = require_fetch(); var { makeRequest } = require_request2(); var { webidl } = require_webidl(); @@ -20299,8 +20495,8 @@ var require_eventsource = __commonJS({ var CONNECTING = 0; var OPEN = 1; var CLOSED = 2; - var ANONYMOUS = "anonymous"; - var USE_CREDENTIALS = "use-credentials"; + var ANONYMOUS = 'anonymous'; + var USE_CREDENTIALS = 'use-credentials'; var EventSource = class _EventSource extends EventTarget { #events = { open: null, @@ -20326,19 +20522,19 @@ var require_eventsource = __commonJS({ constructor(url, eventSourceInitDict = {}) { super(); webidl.util.markAsUncloneable(this); - const prefix = "EventSource constructor"; + const prefix = 'EventSource constructor'; webidl.argumentLengthCheck(arguments, 1, prefix); if (!experimentalWarned) { experimentalWarned = true; - process.emitWarning("EventSource is experimental, expect them to change at any time.", { - code: "UNDICI-ES" + process.emitWarning('EventSource is experimental, expect them to change at any time.', { + code: 'UNDICI-ES' }); } - url = webidl.converters.USVString(url, prefix, "url"); - eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict"); + url = webidl.converters.USVString(url, prefix, 'url'); + eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, 'eventSourceInitDict'); this.#dispatcher = eventSourceInitDict.dispatcher; this.#state = { - lastEventId: "", + lastEventId: '', reconnectionTime: defaultReconnectionTime }; const settings = environmentSettingsObject; @@ -20347,7 +20543,7 @@ var require_eventsource = __commonJS({ urlRecord = new URL(url, settings.settingsObject.baseUrl); this.#state.origin = urlRecord.origin; } catch (e) { - throw new DOMException(e, "SyntaxError"); + throw new DOMException(e, 'SyntaxError'); } this.#url = urlRecord.href; let corsAttributeState = ANONYMOUS; @@ -20356,17 +20552,17 @@ var require_eventsource = __commonJS({ this.#withCredentials = true; } const initRequest = { - redirect: "follow", + redirect: 'follow', keepalive: true, // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes - mode: "cors", - credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit", - referrer: "no-referrer" + mode: 'cors', + credentials: corsAttributeState === 'anonymous' ? 'same-origin' : 'omit', + referrer: 'no-referrer' }; initRequest.client = environmentSettingsObject.settingsObject; - initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]]; - initRequest.cache = "no-store"; - initRequest.initiator = "other"; + initRequest.headersList = [['accept', { name: 'accept', value: 'text/event-stream' }]]; + initRequest.cache = 'no-store'; + initRequest.initiator = 'other'; initRequest.urlList = [new URL(this.#url)]; this.#request = makeRequest(initRequest); this.#connect(); @@ -20402,55 +20598,48 @@ var require_eventsource = __commonJS({ request: this.#request, dispatcher: this.#dispatcher }; - const processEventSourceEndOfBody = (response) => { + const processEventSourceEndOfBody = response => { if (isNetworkError(response)) { - this.dispatchEvent(new Event("error")); + this.dispatchEvent(new Event('error')); this.close(); } this.#reconnect(); }; fetchParams.processResponseEndOfBody = processEventSourceEndOfBody; - fetchParams.processResponse = (response) => { + fetchParams.processResponse = response => { if (isNetworkError(response)) { if (response.aborted) { this.close(); - this.dispatchEvent(new Event("error")); + this.dispatchEvent(new Event('error')); return; } else { this.#reconnect(); return; } } - const contentType = response.headersList.get("content-type", true); - const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure"; - const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream"; + const contentType = response.headersList.get('content-type', true); + const mimeType = contentType !== null ? parseMIMEType(contentType) : 'failure'; + const contentTypeValid = mimeType !== 'failure' && mimeType.essence === 'text/event-stream'; if (response.status !== 200 || contentTypeValid === false) { this.close(); - this.dispatchEvent(new Event("error")); + this.dispatchEvent(new Event('error')); return; } this.#readyState = OPEN; - this.dispatchEvent(new Event("open")); + this.dispatchEvent(new Event('open')); this.#state.origin = response.urlList[response.urlList.length - 1].origin; const eventSourceStream = new EventSourceStream({ eventSourceSettings: this.#state, - push: (event) => { - this.dispatchEvent(createFastMessageEvent( - event.type, - event.options - )); + push: event => { + this.dispatchEvent(createFastMessageEvent(event.type, event.options)); } }); - pipeline( - response.body.stream, - eventSourceStream, - (error) => { - if (error?.aborted === false) { - this.close(); - this.dispatchEvent(new Event("error")); - } + pipeline(response.body.stream, eventSourceStream, error => { + if (error?.aborted === false) { + this.close(); + this.dispatchEvent(new Event('error')); } - ); + }); }; this.#controller = fetching(fetchParams); } @@ -20461,11 +20650,11 @@ var require_eventsource = __commonJS({ async #reconnect() { if (this.#readyState === CLOSED) return; this.#readyState = CONNECTING; - this.dispatchEvent(new Event("error")); + this.dispatchEvent(new Event('error')); await delay(this.#state.reconnectionTime); if (this.#readyState !== CONNECTING) return; if (this.#state.lastEventId.length) { - this.#request.headersList.set("last-event-id", this.#state.lastEventId, true); + this.#request.headersList.set('last-event-id', this.#state.lastEventId, true); } this.#connect(); } @@ -20485,11 +20674,11 @@ var require_eventsource = __commonJS({ } set onopen(fn) { if (this.#events.open) { - this.removeEventListener("open", this.#events.open); + this.removeEventListener('open', this.#events.open); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.open = fn; - this.addEventListener("open", fn); + this.addEventListener('open', fn); } else { this.#events.open = null; } @@ -20499,11 +20688,11 @@ var require_eventsource = __commonJS({ } set onmessage(fn) { if (this.#events.message) { - this.removeEventListener("message", this.#events.message); + this.removeEventListener('message', this.#events.message); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.message = fn; - this.addEventListener("message", fn); + this.addEventListener('message', fn); } else { this.#events.message = null; } @@ -20513,11 +20702,11 @@ var require_eventsource = __commonJS({ } set onerror(fn) { if (this.#events.error) { - this.removeEventListener("error", this.#events.error); + this.removeEventListener('error', this.#events.error); } - if (typeof fn === "function") { + if (typeof fn === 'function') { this.#events.error = fn; - this.addEventListener("error", fn); + this.addEventListener('error', fn); } else { this.#events.error = null; } @@ -20559,12 +20748,12 @@ var require_eventsource = __commonJS({ }); webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([ { - key: "withCredentials", + key: 'withCredentials', converter: webidl.converters.boolean, defaultValue: () => false }, { - key: "dispatcher", + key: 'dispatcher', // undici only converter: webidl.converters.any } @@ -20578,8 +20767,8 @@ var require_eventsource = __commonJS({ // node_modules/undici/index.js var require_undici = __commonJS({ - "node_modules/undici/index.js"(exports2, module2) { - "use strict"; + 'node_modules/undici/index.js'(exports2, module2) { + 'use strict'; var Client = require_client(); var Dispatcher = require_dispatcher(); var Pool = require_pool(); @@ -20629,41 +20818,45 @@ var require_undici = __commonJS({ }; function makeDispatcher(fn) { return (url, opts, handler2) => { - if (typeof opts === "function") { + if (typeof opts === 'function') { handler2 = 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("/")) { + if (!opts.path.startsWith('/')) { path = `/${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); } 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") - }, handler2); + return fn.call( + dispatcher, + { + ...opts, + origin: url.origin, + path: url.search ? `${url.pathname}${url.search}` : url.pathname, + method: opts.method || (opts.body ? 'PUT' : 'GET') + }, + handler2 + ); }; } module2.exports.setGlobalDispatcher = setGlobalDispatcher; @@ -20673,7 +20866,7 @@ var require_undici = __commonJS({ try { return await fetchImpl(init, options); } catch (err) { - if (err && typeof err === "object") { + if (err && typeof err === 'object') { Error.captureStackTrace(err); } throw err; @@ -20683,7 +20876,7 @@ var require_undici = __commonJS({ module2.exports.Response = require_response().Response; module2.exports.Request = require_request2().Request; module2.exports.FormData = require_formdata().FormData; - module2.exports.File = globalThis.File ?? require("node:buffer").File; + module2.exports.File = globalThis.File ?? require('node:buffer').File; module2.exports.FileReader = require_filereader().FileReader; var { setGlobalOrigin, getGlobalOrigin } = require_global(); module2.exports.setGlobalOrigin = setGlobalOrigin; @@ -20720,123 +20913,148 @@ var require_undici = __commonJS({ // node_modules/@actions/github/node_modules/@actions/http-client/lib/index.js var require_lib2 = __commonJS({ - "node_modules/@actions/github/node_modules/@actions/http-client/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__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 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || /* @__PURE__ */ function() { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; + 'node_modules/@actions/github/node_modules/@actions/http-client/lib/index.js'(exports2) { + 'use strict'; + var __createBinding = + (exports2 && exports2.__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 = + (exports2 && exports2.__setModuleDefault) || + (Object.create + ? function (o, v) { + Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + : function (o, v) { + o['default'] = v; + }); + var __importStar = + (exports2 && exports2.__importStar) || + /* @__PURE__ */ (function () { + var ownKeys = function (o) { + ownKeys = + Object.getOwnPropertyNames || + function (o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); }; - return ownKeys(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - } - __setModuleDefault(result, mod); - return result; - }; - }(); - var __awaiter2 = exports2 && exports2.__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); + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== 'default') __createBinding(result, mod, k[i]); } + __setModuleDefault(result, mod); + return result; + }; + })(); + var __awaiter2 = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - 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(exports2, "__esModule", { value: true }); - exports2.HttpClient = exports2.HttpClientResponse = exports2.HttpClientError = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; + 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(exports2, '__esModule', { value: true }); + exports2.HttpClient = + exports2.HttpClientResponse = + exports2.HttpClientError = + exports2.MediaTypes = + exports2.Headers = + exports2.HttpCodes = + void 0; exports2.getProxyUrl = getProxyUrl; exports2.isHttps = isHttps; - var http = __importStar(require("http")); - var https = __importStar(require("https")); + var http = __importStar(require('http')); + var https = __importStar(require('https')); var pm = __importStar(require_proxy2()); 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"; + (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 || (exports2.HttpCodes = HttpCodes = {})); var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; + (function (Headers2) { + Headers2['Accept'] = 'accept'; + Headers2['ContentType'] = 'content-type'; })(Headers || (exports2.Headers = Headers = {})); var MediaTypes; - (function(MediaTypes2) { - MediaTypes2["ApplicationJson"] = "application/json"; + (function (MediaTypes2) { + MediaTypes2['ApplicationJson'] = 'application/json'; })(MediaTypes || (exports2.MediaTypes = MediaTypes = {})); function getProxyUrl(serverUrl) { const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ""; + return proxyUrl ? proxyUrl.href : ''; } var HttpRedirectCodes = [ HttpCodes.MovedPermanently, @@ -20845,18 +21063,14 @@ var require_lib2 = __commonJS({ HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect ]; - var HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout - ]; - var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; + var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; + 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.name = 'HttpClientError'; this.statusCode = statusCode; Object.setPrototypeOf(this, _HttpClientError.prototype); } @@ -20868,35 +21082,39 @@ var require_lib2 = __commonJS({ } readBody() { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter2(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 => + __awaiter2(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 __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter2(this, void 0, void 0, function* () { - const chunks = []; - this.message.on("data", (chunk) => { - chunks.push(chunk); - }); - this.message.on("end", () => { - resolve(Buffer.concat(chunks)); - }); - })); + return new Promise(resolve => + __awaiter2(this, void 0, void 0, function* () { + const chunks = []; + this.message.on('data', chunk => { + chunks.push(chunk); + }); + this.message.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + }) + ); }); } }; exports2.HttpClientResponse = HttpClientResponse; function isHttps(requestUrl) { const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === "https:"; + return parsedUrl.protocol === 'https:'; } var HttpClient2 = class { constructor(userAgent2, handlers, requestOptions) { @@ -20938,37 +21156,37 @@ var require_lib2 = __commonJS({ } options(requestUrl, additionalHeaders) { return __awaiter2(this, void 0, void 0, function* () { - return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); }); } get(requestUrl, additionalHeaders) { return __awaiter2(this, void 0, void 0, function* () { - return this.request("GET", requestUrl, null, additionalHeaders || {}); + return this.request('GET', requestUrl, null, additionalHeaders || {}); }); } del(requestUrl, additionalHeaders) { return __awaiter2(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 __awaiter2(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 __awaiter2(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 __awaiter2(this, void 0, void 0, function* () { - return this.request("PUT", requestUrl, data, additionalHeaders || {}); + return this.request('PUT', requestUrl, data, additionalHeaders || {}); }); } head(requestUrl, additionalHeaders) { return __awaiter2(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) { @@ -20982,7 +21200,11 @@ var require_lib2 = __commonJS({ */ getJson(requestUrl_1) { return __awaiter2(this, arguments, void 0, function* (requestUrl, additionalHeaders = {}) { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ); const res = yield this.get(requestUrl, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -20990,8 +21212,15 @@ var require_lib2 = __commonJS({ postJson(requestUrl_1, obj_1) { return __awaiter2(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader( + additionalHeaders, + MediaTypes.ApplicationJson + ); const res = yield this.post(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -20999,8 +21228,15 @@ var require_lib2 = __commonJS({ putJson(requestUrl_1, obj_1) { return __awaiter2(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader( + additionalHeaders, + MediaTypes.ApplicationJson + ); const res = yield this.put(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -21008,8 +21244,15 @@ var require_lib2 = __commonJS({ patchJson(requestUrl_1, obj_1) { return __awaiter2(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) { const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( + additionalHeaders, + Headers.Accept, + MediaTypes.ApplicationJson + ); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultContentTypeHeader( + additionalHeaders, + MediaTypes.ApplicationJson + ); const res = yield this.patch(requestUrl, data, additionalHeaders); return this._processResponse(res, this.requestOptions); }); @@ -21022,7 +21265,7 @@ var require_lib2 = __commonJS({ request(verb, requestUrl, data, headers) { return __awaiter2(this, void 0, void 0, function* () { if (this._disposed) { - throw new Error("Client has already been disposed."); + throw new Error('Client has already been disposed.'); } const parsedUrl = new URL(requestUrl); let info = this._prepareRequest(verb, parsedUrl, headers); @@ -21046,19 +21289,30 @@ var require_lib2 = __commonJS({ } } let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { - const redirectUrl = response.message.headers["location"]; + while ( + response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0 + ) { + const redirectUrl = response.message.headers['location']; if (!redirectUrl) { 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."); + 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(); if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { for (const header in headers) { - if (header.toLowerCase() === "authorization") { + if (header.toLowerCase() === 'authorization') { delete headers[header]; } } @@ -21100,7 +21354,7 @@ var require_lib2 = __commonJS({ if (err) { reject(err); } else if (!res) { - reject(new Error("Unknown error")); + reject(new Error('Unknown error')); } else { resolve(res); } @@ -21116,11 +21370,11 @@ var require_lib2 = __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["Content-Length"] = Buffer.byteLength(data, "utf8"); + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); } let callbackCalled = false; function handleResult(err, res) { @@ -21129,12 +21383,12 @@ var require_lib2 = __commonJS({ onResult(err, res); } } - const req = info.httpModule.request(info.options, (msg) => { + const req = info.httpModule.request(info.options, msg => { const res = new HttpClientResponse(msg); handleResult(void 0, res); }); let socket; - req.on("socket", (sock) => { + req.on('socket', sock => { socket = sock; }); req.setTimeout(this._socketTimeout || 3 * 6e4, () => { @@ -21143,14 +21397,14 @@ var require_lib2 = __commonJS({ } handleResult(new Error(`Request timeout: ${info.options.path}`)); }); - req.on("error", function(err) { + req.on('error', function (err) { handleResult(err); }); - if (data && typeof data === "string") { - req.write(data, "utf8"); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); } - if (data && typeof data !== "string") { - data.on("close", function() { + if (data && typeof data !== 'string') { + data.on('close', function () { req.end(); }); data.pipe(req); @@ -21179,17 +21433,17 @@ var require_lib2 = __commonJS({ _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === "https:"; + 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.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); if (this.handlers) { @@ -21217,12 +21471,12 @@ var require_lib2 = __commonJS({ if (this.requestOptions && this.requestOptions.headers) { const headerValue = lowercaseKeys2(this.requestOptions.headers)[header]; if (headerValue) { - clientHeader = typeof headerValue === "number" ? headerValue.toString() : headerValue; + clientHeader = typeof headerValue === 'number' ? headerValue.toString() : headerValue; } } const additionalValue = additionalHeaders[header]; if (additionalValue !== void 0) { - return typeof additionalValue === "number" ? additionalValue.toString() : additionalValue; + return typeof additionalValue === 'number' ? additionalValue.toString() : additionalValue; } if (clientHeader !== void 0) { return clientHeader; @@ -21241,10 +21495,10 @@ var require_lib2 = __commonJS({ if (this.requestOptions && this.requestOptions.headers) { const headerValue = lowercaseKeys2(this.requestOptions.headers)[Headers.ContentType]; if (headerValue) { - if (typeof headerValue === "number") { + if (typeof headerValue === 'number') { clientHeader = String(headerValue); } else if (Array.isArray(headerValue)) { - clientHeader = headerValue.join(", "); + clientHeader = headerValue.join(', '); } else { clientHeader = headerValue; } @@ -21252,10 +21506,10 @@ var require_lib2 = __commonJS({ } const additionalValue = additionalHeaders[Headers.ContentType]; if (additionalValue !== void 0) { - if (typeof additionalValue === "number") { + if (typeof additionalValue === 'number') { return String(additionalValue); } else if (Array.isArray(additionalValue)) { - return additionalValue.join(", "); + return additionalValue.join(', '); } else { return additionalValue; } @@ -21278,7 +21532,7 @@ var require_lib2 = __commonJS({ if (agent) { return agent; } - const usingSsl = parsedUrl.protocol === "https:"; + const usingSsl = parsedUrl.protocol === 'https:'; let maxSockets = 100; if (this.requestOptions) { maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; @@ -21287,12 +21541,18 @@ var require_lib2 = __commonJS({ 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 }) + 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:"; + const overHttps = proxyUrl.protocol === 'https:'; if (usingSsl) { tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; } else { @@ -21321,10 +21581,15 @@ var require_lib2 = __commonJS({ 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: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString("base64")}` - })); + 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: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}` + } + ) + ); this._proxyAgentDispatcher = proxyAgent; if (usingSsl && this._ignoreSslError) { proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { @@ -21334,10 +21599,10 @@ var require_lib2 = __commonJS({ return proxyAgent; } _getUserAgentWithOrchestrationId(userAgent2) { - const baseUserAgent = userAgent2 || "actions/http-client"; - const orchId = process.env["ACTIONS_ORCHESTRATION_ID"]; + const baseUserAgent = userAgent2 || 'actions/http-client'; + const orchId = process.env['ACTIONS_ORCHESTRATION_ID']; if (orchId) { - const sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, "_"); + const sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, '_'); return `${baseUserAgent} actions_orchestration_id/${sanitizedId}`; } return baseUserAgent; @@ -21346,77 +21611,78 @@ var require_lib2 = __commonJS({ return __awaiter2(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)); + return new Promise(resolve => setTimeout(() => resolve(), ms)); }); } _processResponse(res, options) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter2(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) => + __awaiter2(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); - } - })); + }) + ); }); } }; exports2.HttpClient = HttpClient2; - var lowercaseKeys2 = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); + var lowercaseKeys2 = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); } }); // node_modules/@actions/github/lib/internal/utils.js function getAuthString(token2, options) { if (!token2 && !options.auth) { - throw new Error("Parameter token or opts.auth is required"); + throw new Error('Parameter token or opts.auth is required'); } else if (token2 && 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 ${token2}`; + return typeof options.auth === 'string' ? options.auth : `token ${token2}`; } function getProxyAgent(destinationUrl) { const hc = new httpClient.HttpClient(); @@ -21428,26 +21694,29 @@ function getProxyAgentDispatcher(destinationUrl) { } function getProxyFetch(destinationUrl) { const httpDispatcher = getProxyAgentDispatcher(destinationUrl); - const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { - return (0, import_undici.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); - }); + const proxyFetch = (url, opts) => + __awaiter(this, void 0, void 0, function* () { + return (0, import_undici.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); + }); return proxyFetch; } function getApiBaseUrl() { - return process.env["GITHUB_API_URL"] || "https://api.github.com"; + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; } var httpClient, import_undici, __awaiter; var init_utils = __esm({ - "node_modules/@actions/github/lib/internal/utils.js"() { + 'node_modules/@actions/github/lib/internal/utils.js'() { httpClient = __toESM(require_lib2(), 1); import_undici = __toESM(require_undici(), 1); - __awaiter = function(thisArg, _arguments, P, generator) { + __awaiter = function (thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - return new (P || (P = Promise))(function(resolve, reject) { + return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -21457,7 +21726,7 @@ var init_utils = __esm({ } function rejected(value) { try { - step(generator["throw"](value)); + step(generator['throw'](value)); } catch (e) { reject(e); } @@ -21473,23 +21742,22 @@ var init_utils = __esm({ // node_modules/universal-user-agent/index.js function getUserAgent() { - if (typeof navigator === "object" && "userAgent" in navigator) { + if (typeof navigator === 'object' && 'userAgent' in navigator) { return navigator.userAgent; } - if (typeof process === "object" && process.version !== void 0) { + if (typeof process === 'object' && process.version !== void 0) { return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } - return ""; + return ''; } var init_universal_user_agent = __esm({ - "node_modules/universal-user-agent/index.js"() { - } + 'node_modules/universal-user-agent/index.js'() {} }); // node_modules/before-after-hook/lib/register.js 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 = {}; @@ -21509,8 +21777,7 @@ function register(state, name, method, options) { }); } var init_register = __esm({ - "node_modules/before-after-hook/lib/register.js"() { - } + 'node_modules/before-after-hook/lib/register.js'() {} }); // node_modules/before-after-hook/lib/add.js @@ -21519,27 +21786,32 @@ function addHook(state, kind, name, hook2) { if (!state.registry[name]) { state.registry[name] = []; } - if (kind === "before") { + if (kind === 'before') { hook2 = (method, options) => { return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); }; } - if (kind === "after") { + if (kind === 'after') { hook2 = (method, options) => { let result; - return Promise.resolve().then(method.bind(null, options)).then((result_) => { - result = result_; - return orig(result, options); - }).then(() => { - return result; - }); + return Promise.resolve() + .then(method.bind(null, options)) + .then(result_ => { + result = result_; + return orig(result, options); + }) + .then(() => { + return result; + }); }; } - if (kind === "error") { + if (kind === 'error') { hook2 = (method, options) => { - return Promise.resolve().then(method.bind(null, options)).catch((error) => { - return orig(error, options); - }); + return Promise.resolve() + .then(method.bind(null, options)) + .catch(error => { + return orig(error, options); + }); }; } state.registry[name].push({ @@ -21548,8 +21820,7 @@ function addHook(state, kind, name, hook2) { }); } var init_add = __esm({ - "node_modules/before-after-hook/lib/add.js"() { - } + 'node_modules/before-after-hook/lib/add.js'() {} }); // node_modules/before-after-hook/lib/remove.js @@ -21557,34 +21828,32 @@ function removeHook(state, name, method) { if (!state.registry[name]) { return; } - const index = state.registry[name].map((registered) => { - return registered.orig; - }).indexOf(method); + const index = state.registry[name] + .map(registered => { + return registered.orig; + }) + .indexOf(method); if (index === -1) { return; } state.registry[name].splice(index, 1); } var init_remove = __esm({ - "node_modules/before-after-hook/lib/remove.js"() { - } + 'node_modules/before-after-hook/lib/remove.js'() {} }); // node_modules/before-after-hook/index.js function bindApi(hook2, state, name) { - const removeHookRef = bindable(removeHook, null).apply( - null, - name ? [state, name] : [state] - ); + const removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]); hook2.api = { remove: removeHookRef }; hook2.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach((kind) => { + ['before', 'error', 'after', 'wrap'].forEach(kind => { const args = name ? [state, kind, name] : [state, kind]; hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args); }); } function Singular() { - const singularHookName = Symbol("Singular"); + const singularHookName = Symbol('Singular'); const singularHookState = { registry: {} }; @@ -21602,7 +21871,7 @@ function Collection() { } var bind, bindable, before_after_hook_default; var init_before_after_hook = __esm({ - "node_modules/before-after-hook/index.js"() { + 'node_modules/before-after-hook/index.js'() { init_register(); init_add(); init_remove(); @@ -21623,16 +21892,18 @@ function lowercaseKeys(object) { }, {}); } function isPlainObject(value) { - if (typeof value !== "object" || value === null) return false; - if (Object.prototype.toString.call(value) !== "[object Object]") return false; + if (typeof value !== 'object' || value === null) return false; + if (Object.prototype.toString.call(value) !== '[object Object]') return false; const proto = Object.getPrototypeOf(value); if (proto === null) return true; - const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; - return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); + const Ctor = Object.prototype.hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return ( + typeof Ctor === 'function' && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value) + ); } function mergeDeep(defaults2, options) { const result = Object.assign({}, defaults2); - Object.keys(options).forEach((key) => { + Object.keys(options).forEach(key => { if (isPlainObject(options[key])) { if (!(key in defaults2)) Object.assign(result, { [key]: options[key] }); else result[key] = mergeDeep(defaults2[key], options[key]); @@ -21651,8 +21922,8 @@ function removeUndefinedProperties(obj) { return obj; } function merge(defaults2, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); + if (typeof route === 'string') { + let [method, url] = route.split(' '); options = Object.assign(url ? { method, url } : { url: method }, options); } else { options = Object.assign({}, route); @@ -21661,31 +21932,39 @@ function merge(defaults2, route, options) { removeUndefinedProperties(options); removeUndefinedProperties(options.headers); const mergedOptions = mergeDeep(defaults2 || {}, options); - if (options.url === "/graphql") { + if (options.url === '/graphql') { if (defaults2 && defaults2.mediaType.previews?.length) { - mergedOptions.mediaType.previews = defaults2.mediaType.previews.filter( - (preview) => !mergedOptions.mediaType.previews.includes(preview) - ).concat(mergedOptions.mediaType.previews); + mergedOptions.mediaType.previews = defaults2.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; } function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; + 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 + + separator + + names + .map(name => { + if (name === 'q') { + return 'q=' + parameters.q.split('+').map(encodeURIComponent).join('+'); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }) + .join('&') + ); } function removeNonChars(variableName) { - return variableName.replace(/(?:^\W+)|(?:(? urlVariableNames.includes(option)).concat("baseUrl"); + 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( - (format) => format.replace( - /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, - `application/vnd$1$2.${options.mediaType.format}` + headers.accept = headers.accept + .split(/,/) + .map(format => + format.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(/(? { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); + headers.accept = previewsFromAcceptHeader + .concat(options.mediaType.previews) + .map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : '+json'; + return `application/vnd.github.${preview}-preview${format}`; + }) + .join(','); } } } - if (["GET", "HEAD"].includes(method)) { + if (['GET', 'HEAD'].includes(method)) { url = addQueryParameters(url, remainingParameters); } else { - if ("data" in remainingParameters) { + if ('data' in remainingParameters) { body = remainingParameters.data; } else { if (Object.keys(remainingParameters).length) { @@ -21884,15 +22161,15 @@ function parse(options) { } } } - 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 ); } @@ -21911,19 +22188,19 @@ function withDefaults(oldDefaults, newDefaults) { } var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint; var init_dist_bundle = __esm({ - "node_modules/@octokit/endpoint/dist-bundle/index.js"() { + 'node_modules/@octokit/endpoint/dist-bundle/index.js'() { init_universal_user_agent(); - VERSION = "0.0.0-development"; + VERSION = '0.0.0-development'; userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; 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: '' } }; urlVariableRegex = /\{[^{}}]+\}/g; @@ -21933,25 +22210,25 @@ var init_dist_bundle = __esm({ // node_modules/fast-content-type-parse/index.js var require_fast_content_type_parse = __commonJS({ - "node_modules/fast-content-type-parse/index.js"(exports2, module2) { - "use strict"; - var NullObject = function NullObject2() { - }; + 'node_modules/fast-content-type-parse/index.js'(exports2, module2) { + 'use strict'; + var NullObject = function NullObject2() {}; NullObject.prototype = /* @__PURE__ */ Object.create(null); - var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu; + var paramRE = + /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu; var quotedPairRE = /\\([\v\u0020-\u00ff])/gu; var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u; - var defaultContentType = { type: "", parameters: new NullObject() }; + var defaultContentType = { type: '', parameters: new NullObject() }; Object.freeze(defaultContentType.parameters); Object.freeze(defaultContentType); function parse2(header) { - if (typeof header !== "string") { - throw new TypeError("argument header is required and must be a string"); + if (typeof header !== 'string') { + throw new TypeError('argument header is required and must be a string'); } - let index = header.indexOf(";"); + let index = header.indexOf(';'); const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); if (mediaTypeRE.test(type) === false) { - throw new TypeError("invalid media type"); + throw new TypeError('invalid media type'); } const result = { type: type.toLowerCase(), @@ -21964,29 +22241,29 @@ var require_fast_content_type_parse = __commonJS({ let match; let value; paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { + while ((match = paramRE.exec(header))) { if (match.index !== index) { - throw new TypeError("invalid parameter format"); + throw new TypeError('invalid parameter format'); } index += match[0].length; key = match[1].toLowerCase(); value = match[2]; if (value[0] === '"') { value = value.slice(1, value.length - 1); - quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1')); } result.parameters[key] = value; } if (index !== header.length) { - throw new TypeError("invalid parameter format"); + throw new TypeError('invalid parameter format'); } return result; } function safeParse2(header) { - if (typeof header !== "string") { + if (typeof header !== 'string') { return defaultContentType; } - let index = header.indexOf(";"); + let index = header.indexOf(';'); const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); if (mediaTypeRE.test(type) === false) { return defaultContentType; @@ -22002,7 +22279,7 @@ var require_fast_content_type_parse = __commonJS({ let match; let value; paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { + while ((match = paramRE.exec(header))) { if (match.index !== index) { return defaultContentType; } @@ -22011,7 +22288,7 @@ var require_fast_content_type_parse = __commonJS({ value = match[2]; if (value[0] === '"') { value = value.slice(1, value.length - 1); - quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + quotedPairRE.test(value) && (value = value.replace(quotedPairRE, '$1')); } result.parameters[key] = value; } @@ -22028,9 +22305,24 @@ var require_fast_content_type_parse = __commonJS({ }); // node_modules/json-with-bigint/json-with-bigint.js -var intRegex, noiseValue, originalStringify, originalParse, customFormat, bigIntsStringify, noiseStringify, JSONStringify, isContextSourceSupported, convertMarkedBigIntsReviver, JSONParseV2, MAX_INT, MAX_DIGITS, stringsOrLargeNumbers, noiseValueWithQuotes, JSONParse; +var intRegex, + noiseValue, + originalStringify, + originalParse, + customFormat, + bigIntsStringify, + noiseStringify, + JSONStringify, + isContextSourceSupported, + convertMarkedBigIntsReviver, + JSONParseV2, + MAX_INT, + MAX_DIGITS, + stringsOrLargeNumbers, + noiseValueWithQuotes, + JSONParse; var init_json_with_bigint = __esm({ - "node_modules/json-with-bigint/json-with-bigint.js"() { + 'node_modules/json-with-bigint/json-with-bigint.js'() { intRegex = /^-?\d+$/; noiseValue = /^-?\d+n+$/; originalStringify = JSON.stringify; @@ -22039,12 +22331,12 @@ var init_json_with_bigint = __esm({ bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; noiseStringify = /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; JSONStringify = (value, replacer, space) => { - if ("rawJSON" in JSON) { + if ('rawJSON' in JSON) { return originalStringify( value, (key, value2) => { - if (typeof value2 === "bigint") return JSON.rawJSON(value2.toString()); - if (typeof replacer === "function") return replacer(key, value2); + if (typeof value2 === 'bigint') return JSON.rawJSON(value2.toString()); + if (typeof replacer === 'function') return replacer(key, value2); if (Array.isArray(replacer) && replacer.includes(key)) return value2; return value2; }, @@ -22055,38 +22347,36 @@ var init_json_with_bigint = __esm({ const convertedToCustomJSON = originalStringify( value, (key, value2) => { - const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue)); - if (isNoise) return value2.toString() + "n"; - if (typeof value2 === "bigint") return value2.toString() + "n"; - if (typeof replacer === "function") return replacer(key, value2); + const isNoise = typeof value2 === 'string' && Boolean(value2.match(noiseValue)); + if (isNoise) return value2.toString() + 'n'; + if (typeof value2 === 'bigint') return value2.toString() + 'n'; + if (typeof replacer === 'function') return replacer(key, value2); if (Array.isArray(replacer) && replacer.includes(key)) return value2; return value2; }, space ); - const processedJSON = convertedToCustomJSON.replace( - bigIntsStringify, - "$1$2$3" - ); - const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3"); + const processedJSON = convertedToCustomJSON.replace(bigIntsStringify, '$1$2$3'); + const denoisedJSON = processedJSON.replace(noiseStringify, '$1$2$3'); return denoisedJSON; }; - isContextSourceSupported = () => JSON.parse("1", (_, __, context3) => !!context3 && context3.source === "1"); + isContextSourceSupported = () => JSON.parse('1', (_, __, context3) => !!context3 && context3.source === '1'); convertMarkedBigIntsReviver = (key, value, context3, userReviver) => { - const isCustomFormatBigInt = typeof value === "string" && value.match(customFormat); + const isCustomFormatBigInt = typeof value === 'string' && value.match(customFormat); if (isCustomFormatBigInt) return BigInt(value.slice(0, -1)); - const isNoiseValue = typeof value === "string" && value.match(noiseValue); + const isNoiseValue = typeof value === 'string' && value.match(noiseValue); if (isNoiseValue) return value.slice(0, -1); - if (typeof userReviver !== "function") return value; + if (typeof userReviver !== 'function') return value; return userReviver(key, value, context3); }; JSONParseV2 = (text, reviver) => { return JSON.parse(text, (key, value, context3) => { - const isBigNumber = typeof value === "number" && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER); + const isBigNumber = + typeof value === 'number' && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER); const isInt = context3 && intRegex.test(context3.source); const isBigInt = isBigNumber && isInt; if (isBigInt) return BigInt(context3.source); - if (typeof reviver !== "function") return value; + if (typeof reviver !== 'function') return value; return reviver(key, value, context3); }); }; @@ -22097,22 +22387,18 @@ var init_json_with_bigint = __esm({ JSONParse = (text, reviver) => { if (!text) return originalParse(text, reviver); if (isContextSourceSupported()) return JSONParseV2(text, reviver); - const serializedData = text.replace( - stringsOrLargeNumbers, - (text2, digits, fractional, exponential) => { - const isString = text2[0] === '"'; - const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes)); - if (isNoise) return text2.substring(0, text2.length - 1) + 'n"'; - const isFractionalOrExponential = fractional || exponential; - const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT); - if (isString || isFractionalOrExponential || isLessThanMaxSafeInt) - return text2; - return '"' + text2 + 'n"'; - } - ); - return originalParse( - serializedData, - (key, value, context3) => convertMarkedBigIntsReviver(key, value, context3, reviver) + const serializedData = text.replace(stringsOrLargeNumbers, (text2, digits, fractional, exponential) => { + const isString = text2[0] === '"'; + const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes)); + if (isNoise) return text2.substring(0, text2.length - 1) + 'n"'; + const isFractionalOrExponential = fractional || exponential; + const isLessThanMaxSafeInt = + digits && (digits.length < MAX_DIGITS || (digits.length === MAX_DIGITS && digits <= MAX_INT)); + if (isString || isFractionalOrExponential || isLessThanMaxSafeInt) return text2; + return '"' + text2 + 'n"'; + }); + return originalParse(serializedData, (key, value, context3) => + convertMarkedBigIntsReviver(key, value, context3, reviver) ); }; } @@ -22121,7 +22407,7 @@ var init_json_with_bigint = __esm({ // node_modules/@octokit/request-error/dist-src/index.js var RequestError; var init_dist_src = __esm({ - "node_modules/@octokit/request-error/dist-src/index.js"() { + 'node_modules/@octokit/request-error/dist-src/index.js'() { RequestError = class extends Error { name; /** @@ -22138,24 +22424,23 @@ var init_dist_src = __esm({ response; constructor(message, statusCode, options) { super(message, { cause: options.cause }); - this.name = "HttpError"; + this.name = 'HttpError'; this.status = Number.parseInt(statusCode); if (Number.isNaN(this.status)) { this.status = 0; } - if ("response" in options) { + if ('response' in options) { this.response = options.response; } const requestCopy = Object.assign({}, options.request); if (options.request.headers.authorization) { requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - /(? [ - name, - String(value) - ]) + Object.entries(requestOptions.headers).map(([name, value]) => [name, String(value)]) ); let fetchResponse; try { @@ -22197,20 +22484,20 @@ async function fetchWrapper(requestOptions) { signal: requestOptions.request?.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" } + ...(requestOptions.body && { duplex: 'half' }) }); } catch (error) { - let message = "Unknown Error"; + let message = 'Unknown Error'; if (error instanceof Error) { - if (error.name === "AbortError") { + if (error.name === 'AbortError') { error.status = 500; throw error; } message = error.message; - if (error.name === "TypeError" && "cause" in error) { + if (error.name === 'TypeError' && 'cause' in error) { if (error.cause instanceof Error) { message = error.cause.message; - } else if (typeof error.cause === "string") { + } else if (typeof error.cause === 'string') { message = error.cause; } } @@ -22231,19 +22518,21 @@ async function fetchWrapper(requestOptions) { url, status, headers: responseHeaders, - data: "" + data: '' }; - if ("deprecation" in responseHeaders) { + if ('deprecation' in responseHeaders) { const matches = responseHeaders.link && responseHeaders.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 ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${ + responseHeaders.sunset + }${deprecationLink ? `. See ${deprecationLink}` : ''}` ); } if (status === 204 || status === 205) { return octokitResponse; } - if (requestOptions.method === "HEAD") { + if (requestOptions.method === 'HEAD') { if (status < 400) { return octokitResponse; } @@ -22254,7 +22543,7 @@ async function fetchWrapper(requestOptions) { } if (status === 304) { octokitResponse.data = await getResponseData(fetchResponse); - throw new RequestError("Not modified", status, { + throw new RequestError('Not modified', status, { response: octokitResponse, request: requestOptions }); @@ -22270,20 +22559,20 @@ async function fetchWrapper(requestOptions) { return octokitResponse; } async function getResponseData(response) { - const contentType = response.headers.get("content-type"); + const contentType = response.headers.get('content-type'); if (!contentType) { return response.text().catch(noop); } const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType); if (isJSONResponse(mimetype)) { - let text = ""; + let text = ''; try { text = await response.text(); return JSONParse(text); } catch (err) { return text; } - } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { + } else if (mimetype.type.startsWith('text/') || mimetype.parameters.charset?.toLowerCase() === 'utf-8') { return response.text().catch(noop); } else { return response.arrayBuffer().catch( @@ -22293,32 +22582,32 @@ async function getResponseData(response) { } } function isJSONResponse(mimetype) { - return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; + return mimetype.type === 'application/json' || mimetype.type === 'application/scim+json'; } function toErrorMessage(data) { - if (typeof data === "string") { + if (typeof data === 'string') { return data; } if (data instanceof ArrayBuffer) { - return "Unknown error"; + return 'Unknown error'; } - if ("message" in data) { - const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; - return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; + if ('message' in data) { + const suffix = 'documentation_url' in data ? ` - ${data.documentation_url}` : ''; + return Array.isArray(data.errors) + ? `${data.message}: ${data.errors.map(v => JSON.stringify(v)).join(', ')}${suffix}` + : `${data.message}${suffix}`; } return `Unknown error: ${JSON.stringify(data)}`; } function withDefaults2(oldEndpoint, newDefaults) { const endpoint2 = oldEndpoint.defaults(newDefaults); - const newApi = function(route, parameters) { + const newApi = function (route, parameters) { const endpointOptions = endpoint2.merge(route, parameters); if (!endpointOptions.request || !endpointOptions.request.hook) { return fetchWrapper(endpoint2.parse(endpointOptions)); } const request2 = (route2, parameters2) => { - return fetchWrapper( - endpoint2.parse(endpoint2.merge(route2, parameters2)) - ); + return fetchWrapper(endpoint2.parse(endpoint2.merge(route2, parameters2))); }; Object.assign(request2, { endpoint: endpoint2, @@ -22333,48 +22622,42 @@ function withDefaults2(oldEndpoint, newDefaults) { } var import_fast_content_type_parse, VERSION2, defaults_default, noop, request; var init_dist_bundle2 = __esm({ - "node_modules/@octokit/request/dist-bundle/index.js"() { + 'node_modules/@octokit/request/dist-bundle/index.js'() { init_dist_bundle(); init_universal_user_agent(); import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1); init_json_with_bigint(); init_dist_src(); - VERSION2 = "10.0.8"; + VERSION2 = '10.0.8'; defaults_default = { headers: { - "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}` + 'user-agent': `octokit-request.js/${VERSION2} ${getUserAgent()}` } }; - noop = () => ""; + noop = () => ''; request = withDefaults2(endpoint, defaults_default); } }); // node_modules/@octokit/graphql/dist-bundle/index.js 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') + ); } function graphql(request2, query, options) { if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject( - new Error(`[@octokit/graphql] "query" cannot be used as variable name`) - ); + if (typeof query === 'string' && 'query' in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); } for (const key in options) { if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; - return Promise.reject( - new Error( - `[@octokit/graphql] "${key}" cannot be used as variable name` - ) - ); + 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) => { + 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; @@ -22387,19 +22670,15 @@ function graphql(request2, query, options) { }, {}); const baseUrl2 = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; if (GHES_V3_SUFFIX_REGEX.test(baseUrl2)) { - requestOptions.url = baseUrl2.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + requestOptions.url = baseUrl2.replace(GHES_V3_SUFFIX_REGEX, '/api/graphql'); } - return request2(requestOptions).then((response) => { + return request2(requestOptions).then(response => { if (response.data.errors) { const headers = {}; for (const key of Object.keys(response.headers)) { headers[key] = response.headers[key]; } - throw new GraphqlResponseError( - requestOptions, - headers, - response.data - ); + throw new GraphqlResponseError(requestOptions, headers, response.data); } return response.data.data; }); @@ -22416,16 +22695,16 @@ function withDefaults3(request2, newDefaults) { } function withCustomRequest(customRequest) { return withDefaults3(customRequest, { - method: "POST", - url: "/graphql" + method: 'POST', + url: '/graphql' }); } var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2; var init_dist_bundle3 = __esm({ - "node_modules/@octokit/graphql/dist-bundle/index.js"() { + 'node_modules/@octokit/graphql/dist-bundle/index.js'() { init_dist_bundle2(); init_universal_user_agent(); - VERSION3 = "0.0.0-development"; + VERSION3 = '0.0.0-development'; GraphqlResponseError = class extends Error { constructor(request2, headers, response) { super(_buildMessageForResponseErrors(response)); @@ -22438,28 +22717,19 @@ var init_dist_bundle3 = __esm({ Error.captureStackTrace(this, this.constructor); } } - name = "GraphqlResponseError"; + name = 'GraphqlResponseError'; errors; data; }; - NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType", - "operationName" - ]; - FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; + NON_VARIABLE_OPTIONS = ['method', 'baseUrl', 'url', 'headers', 'request', 'query', 'mediaType', 'operationName']; + FORBIDDEN_VARIABLE_OPTIONS = ['query', 'method', 'url']; GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; graphql2 = withDefaults3(request, { headers: { - "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent()}` + 'user-agent': `octokit-graphql.js/${VERSION3} ${getUserAgent()}` }, - method: "POST", - url: "/graphql" + method: 'POST', + url: '/graphql' }); } }); @@ -22467,11 +22737,11 @@ var init_dist_bundle3 = __esm({ // node_modules/@octokit/auth-token/dist-bundle/index.js async function auth(token2) { const isApp = isJWT(token2); - const isInstallation = token2.startsWith("v1.") || token2.startsWith("ghs_"); - const isUserToServer = token2.startsWith("ghu_"); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + const isInstallation = token2.startsWith('v1.') || token2.startsWith('ghs_'); + const isUserToServer = token2.startsWith('ghu_'); + const tokenType = isApp ? 'app' : isInstallation ? 'installation' : isUserToServer ? 'user-to-server' : 'oauth'; return { - type: "token", + type: 'token', token: token2, tokenType }; @@ -22483,30 +22753,25 @@ function withAuthorizationPrefix(token2) { return `token ${token2}`; } async function hook(token2, request2, route, parameters) { - const endpoint2 = request2.endpoint.merge( - route, - parameters - ); + const endpoint2 = request2.endpoint.merge(route, parameters); endpoint2.headers.authorization = withAuthorizationPrefix(token2); return request2(endpoint2); } var b64url, sep, jwtRE, isJWT, createTokenAuth; var init_dist_bundle4 = __esm({ - "node_modules/@octokit/auth-token/dist-bundle/index.js"() { - b64url = "(?:[a-zA-Z0-9_-]+)"; - sep = "\\."; + 'node_modules/@octokit/auth-token/dist-bundle/index.js'() { + b64url = '(?:[a-zA-Z0-9_-]+)'; + sep = '\\.'; jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`); isJWT = jwtRE.test.bind(jwtRE); createTokenAuth = function createTokenAuth2(token2) { if (!token2) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + throw new Error('[@octokit/auth-token] No token passed to createTokenAuth'); } - if (typeof token2 !== "string") { - throw new Error( - "[@octokit/auth-token] Token passed to createTokenAuth is not a string" - ); + if (typeof token2 !== 'string') { + throw new Error('[@octokit/auth-token] Token passed to createTokenAuth is not a string'); } - token2 = token2.replace(/^(token|bearer) +/i, ""); + token2 = token2.replace(/^(token|bearer) +/i, ''); return Object.assign(auth.bind(null, token2), { hook: hook.bind(null, token2) }); @@ -22517,38 +22782,37 @@ var init_dist_bundle4 = __esm({ // node_modules/@octokit/core/dist-src/version.js var VERSION4; var init_version = __esm({ - "node_modules/@octokit/core/dist-src/version.js"() { - VERSION4 = "7.0.6"; + 'node_modules/@octokit/core/dist-src/version.js'() { + VERSION4 = '7.0.6'; } }); // node_modules/@octokit/core/dist-src/index.js function createLogger(logger = {}) { - if (typeof logger.debug !== "function") { + if (typeof logger.debug !== 'function') { logger.debug = noop2; } - if (typeof logger.info !== "function") { + if (typeof logger.info !== 'function') { logger.info = noop2; } - if (typeof logger.warn !== "function") { + if (typeof logger.warn !== 'function') { logger.warn = consoleWarn; } - if (typeof logger.error !== "function") { + if (typeof logger.error !== 'function') { logger.error = consoleError; } return logger; } var noop2, consoleWarn, consoleError, userAgentTrail, Octokit; var init_dist_src2 = __esm({ - "node_modules/@octokit/core/dist-src/index.js"() { + 'node_modules/@octokit/core/dist-src/index.js'() { init_universal_user_agent(); init_before_after_hook(); init_dist_bundle2(); init_dist_bundle3(); init_dist_bundle4(); init_version(); - noop2 = () => { - }; + noop2 = () => {}; consoleWarn = console.warn.bind(console); consoleError = console.error.bind(console); userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`; @@ -22558,7 +22822,7 @@ var init_dist_src2 = __esm({ const OctokitWithDefaults = class extends this { constructor(...args) { const options = args[0] || {}; - if (typeof defaults2 === "function") { + if (typeof defaults2 === 'function') { super(defaults2(options)); return; } @@ -22567,9 +22831,11 @@ var init_dist_src2 = __esm({ {}, defaults2, options, - options.userAgent && defaults2.userAgent ? { - userAgent: `${options.userAgent} ${defaults2.userAgent}` - } : null + options.userAgent && defaults2.userAgent + ? { + userAgent: `${options.userAgent} ${defaults2.userAgent}` + } + : null ) ); } @@ -22586,9 +22852,7 @@ var init_dist_src2 = __esm({ static plugin(...newPlugins) { const currentPlugins = this.plugins; const NewOctokit = class extends this { - static plugins = currentPlugins.concat( - newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) - ); + static plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))); }; return NewOctokit; } @@ -22599,14 +22863,16 @@ var init_dist_src2 = __esm({ headers: {}, request: Object.assign({}, options.request, { // @ts-ignore internal usage only, no need to type - hook: hook2.bind(null, "request") + hook: hook2.bind(null, 'request') }), mediaType: { previews: [], - format: "" + format: '' } }; - requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + requestDefaults.headers['user-agent'] = options.userAgent + ? `${options.userAgent} ${userAgentTrail}` + : userAgentTrail; if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } @@ -22614,7 +22880,7 @@ var init_dist_src2 = __esm({ requestDefaults.mediaType.previews = options.previews; } if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; + requestDefaults.headers['time-zone'] = options.timeZone; } this.request = request.defaults(requestDefaults); this.graphql = withCustomRequest(this.request).defaults(requestDefaults); @@ -22623,11 +22889,11 @@ var init_dist_src2 = __esm({ if (!options.authStrategy) { if (!options.auth) { this.auth = async () => ({ - type: "unauthenticated" + type: 'unauthenticated' }); } else { const auth2 = createTokenAuth(options.auth); - hook2.wrap("request", auth2.hook); + hook2.wrap('request', auth2.hook); this.auth = auth2; } } else { @@ -22648,7 +22914,7 @@ var init_dist_src2 = __esm({ options.auth ) ); - hook2.wrap("request", auth2.hook); + hook2.wrap('request', auth2.hook); this.auth = auth2; } const classConstructor = this.constructor; @@ -22670,2302 +22936,1399 @@ var init_dist_src2 = __esm({ // node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js var VERSION5; var init_version2 = __esm({ - "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() { - VERSION5 = "17.0.0"; + 'node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js'() { + VERSION5 = '17.0.0'; } }); // node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js var Endpoints, endpoints_default; var init_endpoints = __esm({ - "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js"() { + 'node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js'() { Endpoints = { actions: { - addCustomLabelsToSelfHostedRunnerForOrg: [ - "POST /orgs/{org}/actions/runners/{runner_id}/labels" - ], - addCustomLabelsToSelfHostedRunnerForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], + addCustomLabelsToSelfHostedRunnerForOrg: ['POST /orgs/{org}/actions/runners/{runner_id}/labels'], + addCustomLabelsToSelfHostedRunnerForRepo: ['POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], addRepoAccessToSelfHostedRunnerGroupInOrg: [ - "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}" - ], - addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" - ], - addSelectedRepoToOrgVariable: [ - "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" - ], - approveWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" - ], - cancelWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" - ], - createEnvironmentVariable: [ - "POST /repos/{owner}/{repo}/environments/{environment_name}/variables" - ], - createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"], - createOrUpdateEnvironmentSecret: [ - "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" - ], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], - createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" - ], - createOrgVariable: ["POST /orgs/{org}/actions/variables"], - createRegistrationTokenForOrg: [ - "POST /orgs/{org}/actions/runners/registration-token" - ], - createRegistrationTokenForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/registration-token" - ], - createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], - createRemoveTokenForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/remove-token" - ], - createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], - createWorkflowDispatch: [ - "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" - ], - deleteActionsCacheById: [ - "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" - ], - deleteActionsCacheByKey: [ - "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" - ], - deleteArtifact: [ - "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" - ], - deleteCustomImageFromOrg: [ - "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}" - ], + 'PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}' + ], + addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}'], + addSelectedRepoToOrgVariable: ['PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}'], + approveWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve'], + cancelWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel'], + createEnvironmentVariable: ['POST /repos/{owner}/{repo}/environments/{environment_name}/variables'], + createHostedRunnerForOrg: ['POST /orgs/{org}/actions/hosted-runners'], + createOrUpdateEnvironmentSecret: ['PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}'], + createOrUpdateOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}'], + createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}'], + createOrgVariable: ['POST /orgs/{org}/actions/variables'], + createRegistrationTokenForOrg: ['POST /orgs/{org}/actions/runners/registration-token'], + createRegistrationTokenForRepo: ['POST /repos/{owner}/{repo}/actions/runners/registration-token'], + createRemoveTokenForOrg: ['POST /orgs/{org}/actions/runners/remove-token'], + createRemoveTokenForRepo: ['POST /repos/{owner}/{repo}/actions/runners/remove-token'], + createRepoVariable: ['POST /repos/{owner}/{repo}/actions/variables'], + createWorkflowDispatch: ['POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches'], + deleteActionsCacheById: ['DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}'], + deleteActionsCacheByKey: ['DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}'], + deleteArtifact: ['DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}'], + deleteCustomImageFromOrg: ['DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}'], deleteCustomImageVersionFromOrg: [ - "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}" - ], - deleteEnvironmentSecret: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" - ], - deleteEnvironmentVariable: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" - ], - deleteHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}" - ], - deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], - deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], - deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" - ], - deleteRepoVariable: [ - "DELETE /repos/{owner}/{repo}/actions/variables/{name}" - ], - deleteSelfHostedRunnerFromOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}" - ], - deleteSelfHostedRunnerFromRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" - ], - deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], - deleteWorkflowRunLogs: [ - "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" - ], + 'DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}' + ], + deleteEnvironmentSecret: ['DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}'], + deleteEnvironmentVariable: ['DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}'], + deleteHostedRunnerForOrg: ['DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}'], + deleteOrgSecret: ['DELETE /orgs/{org}/actions/secrets/{secret_name}'], + deleteOrgVariable: ['DELETE /orgs/{org}/actions/variables/{name}'], + deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}'], + deleteRepoVariable: ['DELETE /repos/{owner}/{repo}/actions/variables/{name}'], + deleteSelfHostedRunnerFromOrg: ['DELETE /orgs/{org}/actions/runners/{runner_id}'], + deleteSelfHostedRunnerFromRepo: ['DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}'], + deleteWorkflowRun: ['DELETE /repos/{owner}/{repo}/actions/runs/{run_id}'], + deleteWorkflowRunLogs: ['DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs'], disableSelectedRepositoryGithubActionsOrganization: [ - "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" - ], - disableWorkflow: [ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" - ], - downloadArtifact: [ - "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" - ], - downloadJobLogsForWorkflowRun: [ - "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" - ], - downloadWorkflowRunAttemptLogs: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" - ], - downloadWorkflowRunLogs: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + 'DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}' ], + disableWorkflow: ['PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable'], + downloadArtifact: ['GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}'], + downloadJobLogsForWorkflowRun: ['GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs'], + downloadWorkflowRunAttemptLogs: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs'], + downloadWorkflowRunLogs: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs'], enableSelectedRepositoryGithubActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" - ], - enableWorkflow: [ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" - ], - forceCancelWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" - ], - generateRunnerJitconfigForOrg: [ - "POST /orgs/{org}/actions/runners/generate-jitconfig" - ], - generateRunnerJitconfigForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" - ], - getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], - getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], - getActionsCacheUsageByRepoForOrg: [ - "GET /orgs/{org}/actions/cache/usage-by-repository" - ], - getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], - getAllowedActionsOrganization: [ - "GET /orgs/{org}/actions/permissions/selected-actions" - ], - getAllowedActionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" - ], - getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - getCustomImageForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}" - ], + 'PUT /orgs/{org}/actions/permissions/repositories/{repository_id}' + ], + enableWorkflow: ['PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable'], + forceCancelWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel'], + generateRunnerJitconfigForOrg: ['POST /orgs/{org}/actions/runners/generate-jitconfig'], + generateRunnerJitconfigForRepo: ['POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig'], + getActionsCacheList: ['GET /repos/{owner}/{repo}/actions/caches'], + getActionsCacheUsage: ['GET /repos/{owner}/{repo}/actions/cache/usage'], + getActionsCacheUsageByRepoForOrg: ['GET /orgs/{org}/actions/cache/usage-by-repository'], + getActionsCacheUsageForOrg: ['GET /orgs/{org}/actions/cache/usage'], + getAllowedActionsOrganization: ['GET /orgs/{org}/actions/permissions/selected-actions'], + getAllowedActionsRepository: ['GET /repos/{owner}/{repo}/actions/permissions/selected-actions'], + getArtifact: ['GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}'], + getCustomImageForOrg: ['GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}'], getCustomImageVersionForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}" - ], - getCustomOidcSubClaimForRepo: [ - "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" - ], - getEnvironmentPublicKey: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key" - ], - getEnvironmentSecret: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" - ], - getEnvironmentVariable: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" - ], - getGithubActionsDefaultWorkflowPermissionsOrganization: [ - "GET /orgs/{org}/actions/permissions/workflow" - ], - getGithubActionsDefaultWorkflowPermissionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/workflow" - ], - getGithubActionsPermissionsOrganization: [ - "GET /orgs/{org}/actions/permissions" - ], - getGithubActionsPermissionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions" - ], - getHostedRunnerForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}" - ], - getHostedRunnersGithubOwnedImagesForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/images/github-owned" - ], - getHostedRunnersLimitsForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/limits" - ], - getHostedRunnersMachineSpecsForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/machine-sizes" - ], - getHostedRunnersPartnerImagesForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/images/partner" - ], - getHostedRunnersPlatformsForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/platforms" - ], - 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 /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}' + ], + getCustomOidcSubClaimForRepo: ['GET /repos/{owner}/{repo}/actions/oidc/customization/sub'], + getEnvironmentPublicKey: ['GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key'], + getEnvironmentSecret: ['GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}'], + getEnvironmentVariable: ['GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}'], + getGithubActionsDefaultWorkflowPermissionsOrganization: ['GET /orgs/{org}/actions/permissions/workflow'], + getGithubActionsDefaultWorkflowPermissionsRepository: ['GET /repos/{owner}/{repo}/actions/permissions/workflow'], + getGithubActionsPermissionsOrganization: ['GET /orgs/{org}/actions/permissions'], + getGithubActionsPermissionsRepository: ['GET /repos/{owner}/{repo}/actions/permissions'], + getHostedRunnerForOrg: ['GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}'], + getHostedRunnersGithubOwnedImagesForOrg: ['GET /orgs/{org}/actions/hosted-runners/images/github-owned'], + getHostedRunnersLimitsForOrg: ['GET /orgs/{org}/actions/hosted-runners/limits'], + getHostedRunnersMachineSpecsForOrg: ['GET /orgs/{org}/actions/hosted-runners/machine-sizes'], + getHostedRunnersPartnerImagesForOrg: ['GET /orgs/{org}/actions/hosted-runners/images/partner'], + getHostedRunnersPlatformsForOrg: ['GET /orgs/{org}/actions/hosted-runners/platforms'], + 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'], getRepoPermissions: [ - "GET /repos/{owner}/{repo}/actions/permissions", + 'GET /repos/{owner}/{repo}/actions/permissions', {}, - { renamed: ["actions", "getGithubActionsPermissionsRepository"] } - ], - 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}"], - getReviewsForRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" - ], - getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], - getSelfHostedRunnerForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" - ], - getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], - getWorkflowAccessToRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/access" - ], - getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], - getWorkflowRunAttempt: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" - ], - getWorkflowRunUsage: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" - ], - getWorkflowUsage: [ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" - ], - listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + { renamed: ['actions', 'getGithubActionsPermissionsRepository'] } + ], + 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}'], + getReviewsForRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals'], + getSelfHostedRunnerForOrg: ['GET /orgs/{org}/actions/runners/{runner_id}'], + getSelfHostedRunnerForRepo: ['GET /repos/{owner}/{repo}/actions/runners/{runner_id}'], + getWorkflow: ['GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}'], + getWorkflowAccessToRepository: ['GET /repos/{owner}/{repo}/actions/permissions/access'], + getWorkflowRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}'], + getWorkflowRunAttempt: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}'], + getWorkflowRunUsage: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing'], + getWorkflowUsage: ['GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing'], + listArtifactsForRepo: ['GET /repos/{owner}/{repo}/actions/artifacts'], listCustomImageVersionsForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions" - ], - listCustomImagesForOrg: [ - "GET /orgs/{org}/actions/hosted-runners/images/custom" - ], - listEnvironmentSecrets: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets" - ], - listEnvironmentVariables: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/variables" - ], - listGithubHostedRunnersInGroupForOrg: [ - "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners" - ], - listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"], - listJobsForWorkflowRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" - ], - listJobsForWorkflowRunAttempt: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" - ], - listLabelsForSelfHostedRunnerForOrg: [ - "GET /orgs/{org}/actions/runners/{runner_id}/labels" - ], - listLabelsForSelfHostedRunnerForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], - listOrgVariables: ["GET /orgs/{org}/actions/variables"], - listRepoOrganizationSecrets: [ - "GET /repos/{owner}/{repo}/actions/organization-secrets" - ], - listRepoOrganizationVariables: [ - "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"], - listRunnerApplicationsForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/downloads" - ], - listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" - ], - listSelectedReposForOrgVariable: [ - "GET /orgs/{org}/actions/variables/{name}/repositories" - ], - listSelectedRepositoriesEnabledGithubActionsOrganization: [ - "GET /orgs/{org}/actions/permissions/repositories" - ], - listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], - listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], - listWorkflowRunArtifacts: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" - ], - listWorkflowRuns: [ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" - ], - listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], - reRunJobForWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" - ], - reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], - reRunWorkflowFailedJobs: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" - ], - removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" - ], + 'GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions' + ], + listCustomImagesForOrg: ['GET /orgs/{org}/actions/hosted-runners/images/custom'], + listEnvironmentSecrets: ['GET /repos/{owner}/{repo}/environments/{environment_name}/secrets'], + listEnvironmentVariables: ['GET /repos/{owner}/{repo}/environments/{environment_name}/variables'], + listGithubHostedRunnersInGroupForOrg: ['GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners'], + listHostedRunnersForOrg: ['GET /orgs/{org}/actions/hosted-runners'], + listJobsForWorkflowRun: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs'], + listJobsForWorkflowRunAttempt: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs'], + listLabelsForSelfHostedRunnerForOrg: ['GET /orgs/{org}/actions/runners/{runner_id}/labels'], + listLabelsForSelfHostedRunnerForRepo: ['GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], + listOrgSecrets: ['GET /orgs/{org}/actions/secrets'], + listOrgVariables: ['GET /orgs/{org}/actions/variables'], + listRepoOrganizationSecrets: ['GET /repos/{owner}/{repo}/actions/organization-secrets'], + listRepoOrganizationVariables: ['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'], + listRunnerApplicationsForRepo: ['GET /repos/{owner}/{repo}/actions/runners/downloads'], + listSelectedReposForOrgSecret: ['GET /orgs/{org}/actions/secrets/{secret_name}/repositories'], + listSelectedReposForOrgVariable: ['GET /orgs/{org}/actions/variables/{name}/repositories'], + listSelectedRepositoriesEnabledGithubActionsOrganization: ['GET /orgs/{org}/actions/permissions/repositories'], + listSelfHostedRunnersForOrg: ['GET /orgs/{org}/actions/runners'], + listSelfHostedRunnersForRepo: ['GET /repos/{owner}/{repo}/actions/runners'], + listWorkflowRunArtifacts: ['GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts'], + listWorkflowRuns: ['GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs'], + listWorkflowRunsForRepo: ['GET /repos/{owner}/{repo}/actions/runs'], + reRunJobForWorkflowRun: ['POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun'], + reRunWorkflow: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun'], + reRunWorkflowFailedJobs: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs'], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: ['DELETE /orgs/{org}/actions/runners/{runner_id}/labels'], removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - removeCustomLabelFromSelfHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + 'DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels' ], + removeCustomLabelFromSelfHostedRunnerForOrg: ['DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}'], removeCustomLabelFromSelfHostedRunnerForRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" - ], - removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" - ], - removeSelectedRepoFromOrgVariable: [ - "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" - ], - reviewCustomGatesForRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" - ], - reviewPendingDeploymentsForRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" - ], - setAllowedActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/selected-actions" - ], - setAllowedActionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" - ], - setCustomLabelsForSelfHostedRunnerForOrg: [ - "PUT /orgs/{org}/actions/runners/{runner_id}/labels" - ], - setCustomLabelsForSelfHostedRunnerForRepo: [ - "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - setCustomOidcSubClaimForRepo: [ - "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" - ], - setGithubActionsDefaultWorkflowPermissionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/workflow" - ], - setGithubActionsDefaultWorkflowPermissionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/workflow" - ], - setGithubActionsPermissionsOrganization: [ - "PUT /orgs/{org}/actions/permissions" - ], - setGithubActionsPermissionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" - ], - setSelectedReposForOrgVariable: [ - "PUT /orgs/{org}/actions/variables/{name}/repositories" - ], - setSelectedRepositoriesEnabledGithubActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/repositories" - ], - setWorkflowAccessToRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/access" - ], - updateEnvironmentVariable: [ - "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" - ], - updateHostedRunnerForOrg: [ - "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}" - ], - updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], - updateRepoVariable: [ - "PATCH /repos/{owner}/{repo}/actions/variables/{name}" - ] + 'DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}' + ], + removeSelectedRepoFromOrgSecret: ['DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}'], + removeSelectedRepoFromOrgVariable: ['DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}'], + reviewCustomGatesForRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule'], + reviewPendingDeploymentsForRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments'], + setAllowedActionsOrganization: ['PUT /orgs/{org}/actions/permissions/selected-actions'], + setAllowedActionsRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/selected-actions'], + setCustomLabelsForSelfHostedRunnerForOrg: ['PUT /orgs/{org}/actions/runners/{runner_id}/labels'], + setCustomLabelsForSelfHostedRunnerForRepo: ['PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], + setCustomOidcSubClaimForRepo: ['PUT /repos/{owner}/{repo}/actions/oidc/customization/sub'], + setGithubActionsDefaultWorkflowPermissionsOrganization: ['PUT /orgs/{org}/actions/permissions/workflow'], + setGithubActionsDefaultWorkflowPermissionsRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/workflow'], + setGithubActionsPermissionsOrganization: ['PUT /orgs/{org}/actions/permissions'], + setGithubActionsPermissionsRepository: ['PUT /repos/{owner}/{repo}/actions/permissions'], + setSelectedReposForOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}/repositories'], + setSelectedReposForOrgVariable: ['PUT /orgs/{org}/actions/variables/{name}/repositories'], + setSelectedRepositoriesEnabledGithubActionsOrganization: ['PUT /orgs/{org}/actions/permissions/repositories'], + setWorkflowAccessToRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/access'], + updateEnvironmentVariable: ['PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}'], + updateHostedRunnerForOrg: ['PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}'], + updateOrgVariable: ['PATCH /orgs/{org}/actions/variables/{name}'], + updateRepoVariable: ['PATCH /repos/{owner}/{repo}/actions/variables/{name}'] }, activity: { - checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], - deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], - deleteThreadSubscription: [ - "DELETE /notifications/threads/{thread_id}/subscription" - ], - getFeeds: ["GET /feeds"], - getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], - getThread: ["GET /notifications/threads/{thread_id}"], - getThreadSubscriptionForAuthenticatedUser: [ - "GET /notifications/threads/{thread_id}/subscription" - ], - listEventsForAuthenticatedUser: ["GET /users/{username}/events"], - listNotificationsForAuthenticatedUser: ["GET /notifications"], - listOrgEventsForAuthenticatedUser: [ - "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"], - listReceivedPublicEventsForUser: [ - "GET /users/{username}/received_events/public" - ], - 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"], - markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], - markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], - setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], - setThreadSubscription: [ - "PUT /notifications/threads/{thread_id}/subscription" - ], - starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], - unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + checkRepoIsStarredByAuthenticatedUser: ['GET /user/starred/{owner}/{repo}'], + deleteRepoSubscription: ['DELETE /repos/{owner}/{repo}/subscription'], + deleteThreadSubscription: ['DELETE /notifications/threads/{thread_id}/subscription'], + getFeeds: ['GET /feeds'], + getRepoSubscription: ['GET /repos/{owner}/{repo}/subscription'], + getThread: ['GET /notifications/threads/{thread_id}'], + getThreadSubscriptionForAuthenticatedUser: ['GET /notifications/threads/{thread_id}/subscription'], + listEventsForAuthenticatedUser: ['GET /users/{username}/events'], + listNotificationsForAuthenticatedUser: ['GET /notifications'], + listOrgEventsForAuthenticatedUser: ['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'], + listReceivedPublicEventsForUser: ['GET /users/{username}/received_events/public'], + 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'], + markThreadAsDone: ['DELETE /notifications/threads/{thread_id}'], + markThreadAsRead: ['PATCH /notifications/threads/{thread_id}'], + setRepoSubscription: ['PUT /repos/{owner}/{repo}/subscription'], + setThreadSubscription: ['PUT /notifications/threads/{thread_id}/subscription'], + 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}" - ], - 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"], - getSubscriptionPlanForAccount: [ - "GET /marketplace_listing/accounts/{account_id}" - ], - getSubscriptionPlanForAccountStubbed: [ - "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"], - listAccountsForPlanStubbed: [ - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" - ], - listInstallationReposForAuthenticatedUser: [ - "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"], - listSubscriptionsForAuthenticatedUserStubbed: [ - "GET /user/marketplace_purchases/stubbed" - ], - listWebhookDeliveries: ["GET /app/hook/deliveries"], - redeliverWebhookDelivery: [ - "POST /app/hook/deliveries/{delivery_id}/attempts" - ], + 'PUT /user/installations/{installation_id}/repositories/{repository_id}' + ], + 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'], + getSubscriptionPlanForAccount: ['GET /marketplace_listing/accounts/{account_id}'], + getSubscriptionPlanForAccountStubbed: ['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'], + listAccountsForPlanStubbed: ['GET /marketplace_listing/stubbed/plans/{plan_id}/accounts'], + listInstallationReposForAuthenticatedUser: ['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'], + listSubscriptionsForAuthenticatedUserStubbed: ['GET /user/marketplace_purchases/stubbed'], + listWebhookDeliveries: ['GET /app/hook/deliveries'], + redeliverWebhookDelivery: ['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}" - ], - 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" - ], - updateWebhookConfigForApp: ["PATCH /app/hook/config"] + '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'], + unsuspendInstallation: ['DELETE /app/installations/{installation_id}/suspended'], + updateWebhookConfigForApp: ['PATCH /app/hook/config'] }, billing: { - getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], - getGithubActionsBillingUser: [ - "GET /users/{username}/settings/billing/actions" - ], - getGithubBillingPremiumRequestUsageReportOrg: [ - "GET /organizations/{org}/settings/billing/premium_request/usage" - ], - getGithubBillingPremiumRequestUsageReportUser: [ - "GET /users/{username}/settings/billing/premium_request/usage" - ], - getGithubBillingUsageReportOrg: [ - "GET /organizations/{org}/settings/billing/usage" - ], - getGithubBillingUsageReportUser: [ - "GET /users/{username}/settings/billing/usage" - ], - getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], - getGithubPackagesBillingUser: [ - "GET /users/{username}/settings/billing/packages" - ], - getSharedStorageBillingOrg: [ - "GET /orgs/{org}/settings/billing/shared-storage" - ], - getSharedStorageBillingUser: [ - "GET /users/{username}/settings/billing/shared-storage" - ] + getGithubActionsBillingOrg: ['GET /orgs/{org}/settings/billing/actions'], + getGithubActionsBillingUser: ['GET /users/{username}/settings/billing/actions'], + getGithubBillingPremiumRequestUsageReportOrg: ['GET /organizations/{org}/settings/billing/premium_request/usage'], + getGithubBillingPremiumRequestUsageReportUser: ['GET /users/{username}/settings/billing/premium_request/usage'], + getGithubBillingUsageReportOrg: ['GET /organizations/{org}/settings/billing/usage'], + getGithubBillingUsageReportUser: ['GET /users/{username}/settings/billing/usage'], + getGithubPackagesBillingOrg: ['GET /orgs/{org}/settings/billing/packages'], + getGithubPackagesBillingUser: ['GET /users/{username}/settings/billing/packages'], + getSharedStorageBillingOrg: ['GET /orgs/{org}/settings/billing/shared-storage'], + getSharedStorageBillingUser: ['GET /users/{username}/settings/billing/shared-storage'] }, campaigns: { - createCampaign: ["POST /orgs/{org}/campaigns"], - deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"], - getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"], - listOrgCampaigns: ["GET /orgs/{org}/campaigns"], - updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"] + createCampaign: ['POST /orgs/{org}/campaigns'], + deleteCampaign: ['DELETE /orgs/{org}/campaigns/{campaign_number}'], + getCampaignSummary: ['GET /orgs/{org}/campaigns/{campaign_number}'], + listOrgCampaigns: ['GET /orgs/{org}/campaigns'], + updateCampaign: ['PATCH /orgs/{org}/campaigns/{campaign_number}'] }, 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}"], - listAnnotations: [ - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" - ], - listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], - listForSuite: [ - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" - ], - listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], - rerequestRun: [ - "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" - ], - rerequestSuite: [ - "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" - ], - setSuitesPreferences: [ - "PATCH /repos/{owner}/{repo}/check-suites/preferences" - ], - update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_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'], + listForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-runs'], + listForSuite: ['GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs'], + listSuitesForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-suites'], + rerequestRun: ['POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest'], + rerequestSuite: ['POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest'], + setSuitesPreferences: ['PATCH /repos/{owner}/{repo}/check-suites/preferences'], + update: ['PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}'] }, codeScanning: { - commitAutofix: [ - "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits" + commitAutofix: ['POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits'], + createAutofix: ['POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix'], + createVariantAnalysis: ['POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses'], + deleteAnalysis: ['DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}'], + deleteCodeqlDatabase: ['DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}'], + getAlert: [ + 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', + {}, + { renamedParameters: { alert_id: 'alert_number' } } + ], + getAnalysis: ['GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}'], + getAutofix: ['GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix'], + getCodeqlDatabase: ['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}'], + getVariantAnalysis: ['GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}'], + getVariantAnalysisRepoTask: [ + 'GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}' ], - createAutofix: [ - "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix" - ], - createVariantAnalysis: [ - "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses" - ], - deleteAnalysis: [ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" - ], - deleteCodeqlDatabase: [ - "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" - ], - getAlert: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", - {}, - { renamedParameters: { alert_id: "alert_number" } } - ], - getAnalysis: [ - "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" - ], - getAutofix: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix" - ], - getCodeqlDatabase: [ - "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}"], - getVariantAnalysis: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}" - ], - getVariantAnalysisRepoTask: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}" - ], - listAlertInstances: [ - "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"], + listAlertInstances: ['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'], listAlertsInstances: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', {}, - { renamed: ["codeScanning", "listAlertInstances"] } - ], - listCodeqlDatabases: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + { renamed: ['codeScanning', 'listAlertInstances'] } ], - listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" - ], - updateDefaultSetup: [ - "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" - ], - uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + listCodeqlDatabases: ['GET /repos/{owner}/{repo}/code-scanning/codeql/databases'], + listRecentAnalyses: ['GET /repos/{owner}/{repo}/code-scanning/analyses'], + updateAlert: ['PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}'], + updateDefaultSetup: ['PATCH /repos/{owner}/{repo}/code-scanning/default-setup'], + uploadSarif: ['POST /repos/{owner}/{repo}/code-scanning/sarifs'] }, codeSecurity: { - attachConfiguration: [ - "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach" - ], + attachConfiguration: ['POST /orgs/{org}/code-security/configurations/{configuration_id}/attach'], attachEnterpriseConfiguration: [ - "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach" - ], - createConfiguration: ["POST /orgs/{org}/code-security/configurations"], - createConfigurationForEnterprise: [ - "POST /enterprises/{enterprise}/code-security/configurations" - ], - deleteConfiguration: [ - "DELETE /orgs/{org}/code-security/configurations/{configuration_id}" + 'POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach' ], + createConfiguration: ['POST /orgs/{org}/code-security/configurations'], + createConfigurationForEnterprise: ['POST /enterprises/{enterprise}/code-security/configurations'], + deleteConfiguration: ['DELETE /orgs/{org}/code-security/configurations/{configuration_id}'], deleteConfigurationForEnterprise: [ - "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}" - ], - detachConfiguration: [ - "DELETE /orgs/{org}/code-security/configurations/detach" - ], - getConfiguration: [ - "GET /orgs/{org}/code-security/configurations/{configuration_id}" - ], - getConfigurationForRepository: [ - "GET /repos/{owner}/{repo}/code-security-configuration" - ], - getConfigurationsForEnterprise: [ - "GET /enterprises/{enterprise}/code-security/configurations" - ], - getConfigurationsForOrg: ["GET /orgs/{org}/code-security/configurations"], - getDefaultConfigurations: [ - "GET /orgs/{org}/code-security/configurations/defaults" - ], - getDefaultConfigurationsForEnterprise: [ - "GET /enterprises/{enterprise}/code-security/configurations/defaults" - ], - getRepositoriesForConfiguration: [ - "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories" - ], + 'DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}' + ], + detachConfiguration: ['DELETE /orgs/{org}/code-security/configurations/detach'], + getConfiguration: ['GET /orgs/{org}/code-security/configurations/{configuration_id}'], + getConfigurationForRepository: ['GET /repos/{owner}/{repo}/code-security-configuration'], + getConfigurationsForEnterprise: ['GET /enterprises/{enterprise}/code-security/configurations'], + getConfigurationsForOrg: ['GET /orgs/{org}/code-security/configurations'], + getDefaultConfigurations: ['GET /orgs/{org}/code-security/configurations/defaults'], + getDefaultConfigurationsForEnterprise: ['GET /enterprises/{enterprise}/code-security/configurations/defaults'], + getRepositoriesForConfiguration: ['GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories'], getRepositoriesForEnterpriseConfiguration: [ - "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories" + 'GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories' ], getSingleConfigurationForEnterprise: [ - "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}" - ], - setConfigurationAsDefault: [ - "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults" + 'GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}' ], + setConfigurationAsDefault: ['PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults'], setConfigurationAsDefaultForEnterprise: [ - "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults" + 'PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults' ], - updateConfiguration: [ - "PATCH /orgs/{org}/code-security/configurations/{configuration_id}" - ], - updateEnterpriseConfiguration: [ - "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}" - ] + updateConfiguration: ['PATCH /orgs/{org}/code-security/configurations/{configuration_id}'], + updateEnterpriseConfiguration: ['PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}'] }, 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}" - ], - addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" - ], - checkPermissionsForDevcontainer: [ - "GET /repos/{owner}/{repo}/codespaces/permissions_check" - ], - codespaceMachinesForAuthenticatedUser: [ - "GET /user/codespaces/{codespace_name}/machines" - ], - createForAuthenticatedUser: ["POST /user/codespaces"], - createOrUpdateOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}" - ], - createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" - ], - createOrUpdateSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}" - ], - createWithPrForAuthenticatedUser: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" - ], - createWithRepoForAuthenticatedUser: [ - "POST /repos/{owner}/{repo}/codespaces" - ], - deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], - deleteFromOrganization: [ - "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" - ], - deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], - deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" - ], - deleteSecretForAuthenticatedUser: [ - "DELETE /user/codespaces/secrets/{secret_name}" - ], - exportForAuthenticatedUser: [ - "POST /user/codespaces/{codespace_name}/exports" - ], - getCodespacesForUserInOrg: [ - "GET /orgs/{org}/members/{username}/codespaces" - ], - getExportDetailsForAuthenticatedUser: [ - "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}"], - getPublicKeyForAuthenticatedUser: [ - "GET /user/codespaces/secrets/public-key" - ], - getRepoPublicKey: [ - "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" - ], - getRepoSecret: [ - "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" - ], - getSecretForAuthenticatedUser: [ - "GET /user/codespaces/secrets/{secret_name}" - ], - listDevcontainersInRepositoryForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/devcontainers" - ], - listForAuthenticatedUser: ["GET /user/codespaces"], - listInOrganization: [ - "GET /orgs/{org}/codespaces", - {}, - { renamedParameters: { org_id: "org" } } - ], - listInRepositoryForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces" - ], - listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], - listRepositoriesForSecretForAuthenticatedUser: [ - "GET /user/codespaces/secrets/{secret_name}/repositories" - ], - listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], - listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" - ], - preFlightWithRepoForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/new" - ], - publishForAuthenticatedUser: [ - "POST /user/codespaces/{codespace_name}/publish" - ], + 'PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}' + ], + addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}'], + checkPermissionsForDevcontainer: ['GET /repos/{owner}/{repo}/codespaces/permissions_check'], + codespaceMachinesForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}/machines'], + createForAuthenticatedUser: ['POST /user/codespaces'], + createOrUpdateOrgSecret: ['PUT /orgs/{org}/codespaces/secrets/{secret_name}'], + createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], + createOrUpdateSecretForAuthenticatedUser: ['PUT /user/codespaces/secrets/{secret_name}'], + createWithPrForAuthenticatedUser: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces'], + createWithRepoForAuthenticatedUser: ['POST /repos/{owner}/{repo}/codespaces'], + deleteForAuthenticatedUser: ['DELETE /user/codespaces/{codespace_name}'], + deleteFromOrganization: ['DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}'], + deleteOrgSecret: ['DELETE /orgs/{org}/codespaces/secrets/{secret_name}'], + deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], + deleteSecretForAuthenticatedUser: ['DELETE /user/codespaces/secrets/{secret_name}'], + exportForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/exports'], + getCodespacesForUserInOrg: ['GET /orgs/{org}/members/{username}/codespaces'], + getExportDetailsForAuthenticatedUser: ['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}'], + getPublicKeyForAuthenticatedUser: ['GET /user/codespaces/secrets/public-key'], + getRepoPublicKey: ['GET /repos/{owner}/{repo}/codespaces/secrets/public-key'], + getRepoSecret: ['GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], + getSecretForAuthenticatedUser: ['GET /user/codespaces/secrets/{secret_name}'], + listDevcontainersInRepositoryForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/devcontainers'], + listForAuthenticatedUser: ['GET /user/codespaces'], + listInOrganization: ['GET /orgs/{org}/codespaces', {}, { renamedParameters: { org_id: 'org' } }], + listInRepositoryForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces'], + listOrgSecrets: ['GET /orgs/{org}/codespaces/secrets'], + listRepoSecrets: ['GET /repos/{owner}/{repo}/codespaces/secrets'], + listRepositoriesForSecretForAuthenticatedUser: ['GET /user/codespaces/secrets/{secret_name}/repositories'], + listSecretsForAuthenticatedUser: ['GET /user/codespaces/secrets'], + listSelectedReposForOrgSecret: ['GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories'], + preFlightWithRepoForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/new'], + publishForAuthenticatedUser: ['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}" - ], - repoMachinesForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/machines" - ], - setRepositoriesForSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}/repositories" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" - ], - startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], - stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], - stopInOrganization: [ - "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" - ], - updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + 'DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}' + ], + repoMachinesForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/machines'], + setRepositoriesForSecretForAuthenticatedUser: ['PUT /user/codespaces/secrets/{secret_name}/repositories'], + setSelectedReposForOrgSecret: ['PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories'], + startForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/start'], + stopForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/stop'], + stopInOrganization: ['POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop'], + updateForAuthenticatedUser: ['PATCH /user/codespaces/{codespace_name}'] }, copilot: { - addCopilotSeatsForTeams: [ - "POST /orgs/{org}/copilot/billing/selected_teams" - ], - addCopilotSeatsForUsers: [ - "POST /orgs/{org}/copilot/billing/selected_users" - ], - cancelCopilotSeatAssignmentForTeams: [ - "DELETE /orgs/{org}/copilot/billing/selected_teams" - ], - cancelCopilotSeatAssignmentForUsers: [ - "DELETE /orgs/{org}/copilot/billing/selected_users" - ], - copilotMetricsForOrganization: ["GET /orgs/{org}/copilot/metrics"], - copilotMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/metrics"], - getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], - getCopilotSeatDetailsForUser: [ - "GET /orgs/{org}/members/{username}/copilot" - ], - listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] + addCopilotSeatsForTeams: ['POST /orgs/{org}/copilot/billing/selected_teams'], + addCopilotSeatsForUsers: ['POST /orgs/{org}/copilot/billing/selected_users'], + cancelCopilotSeatAssignmentForTeams: ['DELETE /orgs/{org}/copilot/billing/selected_teams'], + cancelCopilotSeatAssignmentForUsers: ['DELETE /orgs/{org}/copilot/billing/selected_users'], + copilotMetricsForOrganization: ['GET /orgs/{org}/copilot/metrics'], + copilotMetricsForTeam: ['GET /orgs/{org}/team/{team_slug}/copilot/metrics'], + getCopilotOrganizationDetails: ['GET /orgs/{org}/copilot/billing'], + getCopilotSeatDetailsForUser: ['GET /orgs/{org}/members/{username}/copilot'], + listCopilotSeats: ['GET /orgs/{org}/copilot/billing/seats'] }, - credentials: { revoke: ["POST /credentials/revoke"] }, + credentials: { revoke: ['POST /credentials/revoke'] }, dependabot: { - addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" - ], - createOrUpdateOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}" - ], - createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" - ], - deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], - deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" - ], - 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}"], - getRepoPublicKey: [ - "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" - ], - getRepoSecret: [ - "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" - ], - listAlertsForEnterprise: [ - "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"], - listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], + addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}'], + createOrUpdateOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}'], + createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], + deleteOrgSecret: ['DELETE /orgs/{org}/dependabot/secrets/{secret_name}'], + deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], + 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}'], + getRepoPublicKey: ['GET /repos/{owner}/{repo}/dependabot/secrets/public-key'], + getRepoSecret: ['GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], + listAlertsForEnterprise: ['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'], + listSelectedReposForOrgSecret: ['GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories'], removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" - ], - repositoryAccessForOrg: [ - "GET /organizations/{org}/dependabot/repository-access" - ], - setRepositoryAccessDefaultLevel: [ - "PUT /organizations/{org}/dependabot/repository-access/default-level" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + 'DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}' ], - updateRepositoryAccessForOrg: [ - "PATCH /organizations/{org}/dependabot/repository-access" - ] + repositoryAccessForOrg: ['GET /organizations/{org}/dependabot/repository-access'], + setRepositoryAccessDefaultLevel: ['PUT /organizations/{org}/dependabot/repository-access/default-level'], + setSelectedReposForOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories'], + updateAlert: ['PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}'], + updateRepositoryAccessForOrg: ['PATCH /organizations/{org}/dependabot/repository-access'] }, dependencyGraph: { - createRepositorySnapshot: [ - "POST /repos/{owner}/{repo}/dependency-graph/snapshots" - ], - diffRange: [ - "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" - ], - exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + createRepositorySnapshot: ['POST /repos/{owner}/{repo}/dependency-graph/snapshots'], + diffRange: ['GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}'], + exportSbom: ['GET /repos/{owner}/{repo}/dependency-graph/sbom'] }, - emojis: { get: ["GET /emojis"] }, + emojis: { get: ['GET /emojis'] }, enterpriseTeamMemberships: { - add: [ - "PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}" - ], - bulkAdd: [ - "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add" - ], - bulkRemove: [ - "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove" - ], - get: [ - "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}" - ], - list: ["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"], - remove: [ - "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}" - ] + add: ['PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}'], + bulkAdd: ['POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add'], + bulkRemove: ['POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove'], + get: ['GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}'], + list: ['GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships'], + remove: ['DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}'] }, enterpriseTeamOrganizations: { - add: [ - "PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}" - ], - bulkAdd: [ - "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add" - ], - bulkRemove: [ - "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove" - ], - delete: [ - "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}" - ], - getAssignment: [ - "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}" - ], - getAssignments: [ - "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations" - ] + add: ['PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}'], + bulkAdd: ['POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add'], + bulkRemove: ['POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove'], + delete: ['DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}'], + getAssignment: ['GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}'], + getAssignments: ['GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations'] }, enterpriseTeams: { - create: ["POST /enterprises/{enterprise}/teams"], - delete: ["DELETE /enterprises/{enterprise}/teams/{team_slug}"], - get: ["GET /enterprises/{enterprise}/teams/{team_slug}"], - list: ["GET /enterprises/{enterprise}/teams"], - update: ["PATCH /enterprises/{enterprise}/teams/{team_slug}"] + create: ['POST /enterprises/{enterprise}/teams'], + delete: ['DELETE /enterprises/{enterprise}/teams/{team_slug}'], + get: ['GET /enterprises/{enterprise}/teams/{team_slug}'], + list: ['GET /enterprises/{enterprise}/teams'], + update: ['PATCH /enterprises/{enterprise}/teams/{team_slug}'] }, 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}'] }, hostedCompute: { - createNetworkConfigurationForOrg: [ - "POST /orgs/{org}/settings/network-configurations" - ], - deleteNetworkConfigurationFromOrg: [ - "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}" - ], - getNetworkConfigurationForOrg: [ - "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}" - ], - getNetworkSettingsForOrg: [ - "GET /orgs/{org}/settings/network-settings/{network_settings_id}" - ], - listNetworkConfigurationsForOrg: [ - "GET /orgs/{org}/settings/network-configurations" - ], - updateNetworkConfigurationForOrg: [ - "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}" - ] + createNetworkConfigurationForOrg: ['POST /orgs/{org}/settings/network-configurations'], + deleteNetworkConfigurationFromOrg: ['DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}'], + getNetworkConfigurationForOrg: ['GET /orgs/{org}/settings/network-configurations/{network_configuration_id}'], + getNetworkSettingsForOrg: ['GET /orgs/{org}/settings/network-settings/{network_settings_id}'], + listNetworkConfigurationsForOrg: ['GET /orgs/{org}/settings/network-configurations'], + updateNetworkConfigurationForOrg: ['PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}'] }, 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"] } - ], - removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], - removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], - removeRestrictionsForRepo: [ - "DELETE /repos/{owner}/{repo}/interaction-limits" + { renamed: ['interactions', 'getRestrictionsForAuthenticatedUser'] } ], + removeRestrictionsForAuthenticatedUser: ['DELETE /user/interaction-limits'], + removeRestrictionsForOrg: ['DELETE /orgs/{org}/interaction-limits'], + removeRestrictionsForRepo: ['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" - ], - addBlockedByDependency: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by" - ], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - addSubIssue: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues" - ], - checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], - checkUserCanBeAssignedToIssue: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" - ], - create: ["POST /repos/{owner}/{repo}/issues"], - createComment: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" - ], - createLabel: ["POST /repos/{owner}/{repo}/labels"], - createMilestone: ["POST /repos/{owner}/{repo}/milestones"], - deleteComment: [ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" - ], - 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}"], - getParent: ["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"], - 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"], - listDependenciesBlockedBy: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by" - ], - listDependenciesBlocking: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking" - ], - 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" - ], - listForAuthenticatedUser: ["GET /user/issues"], - listForOrg: ["GET /orgs/{org}/issues"], - listForRepo: ["GET /repos/{owner}/{repo}/issues"], - listLabelsForMilestone: [ - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" - ], - listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], - listLabelsOnIssue: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" - ], - listMilestones: ["GET /repos/{owner}/{repo}/milestones"], - listSubIssues: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues" - ], - lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], - removeAllLabels: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" - ], - removeAssignees: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" - ], - removeDependencyBlockedBy: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}" - ], - removeLabel: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" - ], - removeSubIssue: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue" - ], - reprioritizeSubIssue: [ - "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority" - ], - 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}"], - updateMilestone: [ - "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" - ] + addAssignees: ['POST /repos/{owner}/{repo}/issues/{issue_number}/assignees'], + addBlockedByDependency: ['POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by'], + addLabels: ['POST /repos/{owner}/{repo}/issues/{issue_number}/labels'], + addSubIssue: ['POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues'], + checkUserCanBeAssigned: ['GET /repos/{owner}/{repo}/assignees/{assignee}'], + checkUserCanBeAssignedToIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}'], + create: ['POST /repos/{owner}/{repo}/issues'], + createComment: ['POST /repos/{owner}/{repo}/issues/{issue_number}/comments'], + createLabel: ['POST /repos/{owner}/{repo}/labels'], + createMilestone: ['POST /repos/{owner}/{repo}/milestones'], + deleteComment: ['DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}'], + 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}'], + getParent: ['GET /repos/{owner}/{repo}/issues/{issue_number}/parent'], + 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'], + listDependenciesBlockedBy: ['GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by'], + listDependenciesBlocking: ['GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking'], + 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'], + listForAuthenticatedUser: ['GET /user/issues'], + listForOrg: ['GET /orgs/{org}/issues'], + listForRepo: ['GET /repos/{owner}/{repo}/issues'], + listLabelsForMilestone: ['GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels'], + listLabelsForRepo: ['GET /repos/{owner}/{repo}/labels'], + listLabelsOnIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/labels'], + listMilestones: ['GET /repos/{owner}/{repo}/milestones'], + listSubIssues: ['GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues'], + lock: ['PUT /repos/{owner}/{repo}/issues/{issue_number}/lock'], + removeAllLabels: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels'], + removeAssignees: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees'], + removeDependencyBlockedBy: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}'], + removeLabel: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}'], + removeSubIssue: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue'], + reprioritizeSubIssue: ['PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority'], + 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}'], + updateMilestone: ['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"], - renderRaw: [ - "POST /markdown/raw", - { headers: { "content-type": "text/plain; charset=utf-8" } } - ] + render: ['POST /markdown'], + renderRaw: ['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: { - deleteArchiveForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/archive" - ], - deleteArchiveForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/archive" - ], - downloadArchiveForOrg: [ - "GET /orgs/{org}/migrations/{migration_id}/archive" - ], - getArchiveForAuthenticatedUser: [ - "GET /user/migrations/{migration_id}/archive" - ], - 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" - ], - listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + deleteArchiveForAuthenticatedUser: ['DELETE /user/migrations/{migration_id}/archive'], + deleteArchiveForOrg: ['DELETE /orgs/{org}/migrations/{migration_id}/archive'], + downloadArchiveForOrg: ['GET /orgs/{org}/migrations/{migration_id}/archive'], + getArchiveForAuthenticatedUser: ['GET /user/migrations/{migration_id}/archive'], + 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'], + listReposForOrg: ['GET /orgs/{org}/migrations/{migration_id}/repositories'], listReposForUser: [ - "GET /user/migrations/{migration_id}/repositories", + 'GET /user/migrations/{migration_id}/repositories', {}, - { renamed: ["migrations", "listReposForAuthenticatedUser"] } - ], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - unlockRepoForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + { renamed: ['migrations', 'listReposForAuthenticatedUser'] } ], - unlockRepoForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" - ] + startForAuthenticatedUser: ['POST /user/migrations'], + startForOrg: ['POST /orgs/{org}/migrations'], + unlockRepoForAuthenticatedUser: ['DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock'], + unlockRepoForOrg: ['DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock'] }, oidc: { - getOidcCustomSubTemplateForOrg: [ - "GET /orgs/{org}/actions/oidc/customization/sub" - ], - updateOidcCustomSubTemplateForOrg: [ - "PUT /orgs/{org}/actions/oidc/customization/sub" - ] + getOidcCustomSubTemplateForOrg: ['GET /orgs/{org}/actions/oidc/customization/sub'], + updateOidcCustomSubTemplateForOrg: ['PUT /orgs/{org}/actions/oidc/customization/sub'] }, orgs: { addSecurityManagerTeam: [ - "PUT /orgs/{org}/security-managers/teams/{team_slug}", + 'PUT /orgs/{org}/security-managers/teams/{team_slug}', {}, { - deprecated: "octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team" - } - ], - assignTeamToOrgRole: [ - "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" - ], - assignUserToOrgRole: [ - "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" - ], - 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}" - ], - createArtifactStorageRecord: [ - "POST /orgs/{org}/artifacts/metadata/storage-record" - ], - createInvitation: ["POST /orgs/{org}/invitations"], - createIssueType: ["POST /orgs/{org}/issue-types"], - createWebhook: ["POST /orgs/{org}/hooks"], - customPropertiesForOrgsCreateOrUpdateOrganizationValues: [ - "PATCH /organizations/{org}/org-properties/values" - ], - customPropertiesForOrgsGetOrganizationValues: [ - "GET /organizations/{org}/org-properties/values" - ], + deprecated: + 'octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team' + } + ], + assignTeamToOrgRole: ['PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}'], + assignUserToOrgRole: ['PUT /orgs/{org}/organization-roles/users/{username}/{role_id}'], + 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}'], + createArtifactStorageRecord: ['POST /orgs/{org}/artifacts/metadata/storage-record'], + createInvitation: ['POST /orgs/{org}/invitations'], + createIssueType: ['POST /orgs/{org}/issue-types'], + createWebhook: ['POST /orgs/{org}/hooks'], + customPropertiesForOrgsCreateOrUpdateOrganizationValues: ['PATCH /organizations/{org}/org-properties/values'], + customPropertiesForOrgsGetOrganizationValues: ['GET /organizations/{org}/org-properties/values'], customPropertiesForReposCreateOrUpdateOrganizationDefinition: [ - "PUT /orgs/{org}/properties/schema/{custom_property_name}" - ], - customPropertiesForReposCreateOrUpdateOrganizationDefinitions: [ - "PATCH /orgs/{org}/properties/schema" - ], - customPropertiesForReposCreateOrUpdateOrganizationValues: [ - "PATCH /orgs/{org}/properties/values" + 'PUT /orgs/{org}/properties/schema/{custom_property_name}' ], + customPropertiesForReposCreateOrUpdateOrganizationDefinitions: ['PATCH /orgs/{org}/properties/schema'], + customPropertiesForReposCreateOrUpdateOrganizationValues: ['PATCH /orgs/{org}/properties/values'], customPropertiesForReposDeleteOrganizationDefinition: [ - "DELETE /orgs/{org}/properties/schema/{custom_property_name}" - ], - customPropertiesForReposGetOrganizationDefinition: [ - "GET /orgs/{org}/properties/schema/{custom_property_name}" - ], - customPropertiesForReposGetOrganizationDefinitions: [ - "GET /orgs/{org}/properties/schema" - ], - customPropertiesForReposGetOrganizationValues: [ - "GET /orgs/{org}/properties/values" - ], - delete: ["DELETE /orgs/{org}"], - deleteAttestationsBulk: ["POST /orgs/{org}/attestations/delete-request"], - deleteAttestationsById: [ - "DELETE /orgs/{org}/attestations/{attestation_id}" - ], - deleteAttestationsBySubjectDigest: [ - "DELETE /orgs/{org}/attestations/digest/{subject_digest}" - ], - deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + 'DELETE /orgs/{org}/properties/schema/{custom_property_name}' + ], + customPropertiesForReposGetOrganizationDefinition: ['GET /orgs/{org}/properties/schema/{custom_property_name}'], + customPropertiesForReposGetOrganizationDefinitions: ['GET /orgs/{org}/properties/schema'], + customPropertiesForReposGetOrganizationValues: ['GET /orgs/{org}/properties/values'], + delete: ['DELETE /orgs/{org}'], + deleteAttestationsBulk: ['POST /orgs/{org}/attestations/delete-request'], + deleteAttestationsById: ['DELETE /orgs/{org}/attestations/{attestation_id}'], + deleteAttestationsBySubjectDigest: ['DELETE /orgs/{org}/attestations/digest/{subject_digest}'], + deleteIssueType: ['DELETE /orgs/{org}/issue-types/{issue_type_id}'], + deleteWebhook: ['DELETE /orgs/{org}/hooks/{hook_id}'], disableSelectedRepositoryImmutableReleasesOrganization: [ - "DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}" + 'DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}' ], enableSelectedRepositoryImmutableReleasesOrganization: [ - "PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}" - ], - get: ["GET /orgs/{org}"], - getImmutableReleasesSettings: [ - "GET /orgs/{org}/settings/immutable-releases" - ], - getImmutableReleasesSettingsRepositories: [ - "GET /orgs/{org}/settings/immutable-releases/repositories" - ], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], - getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"], - getOrgRulesetVersion: [ - "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}" - ], - 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"], - listArtifactStorageRecords: [ - "GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records" - ], - listAttestationRepositories: ["GET /orgs/{org}/attestations/repositories"], - listAttestations: ["GET /orgs/{org}/attestations/{subject_digest}"], - listAttestationsBulk: [ - "POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}" - ], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listIssueTypes: ["GET /orgs/{org}/issue-types"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], - listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], - listOrgRoles: ["GET /orgs/{org}/organization-roles"], - listOrganizationFineGrainedPermissions: [ - "GET /orgs/{org}/organization-fine-grained-permissions" - ], - listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], - listPatGrantRepositories: [ - "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"], + 'PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}' + ], + get: ['GET /orgs/{org}'], + getImmutableReleasesSettings: ['GET /orgs/{org}/settings/immutable-releases'], + getImmutableReleasesSettingsRepositories: ['GET /orgs/{org}/settings/immutable-releases/repositories'], + getMembershipForAuthenticatedUser: ['GET /user/memberships/orgs/{org}'], + getMembershipForUser: ['GET /orgs/{org}/memberships/{username}'], + getOrgRole: ['GET /orgs/{org}/organization-roles/{role_id}'], + getOrgRulesetHistory: ['GET /orgs/{org}/rulesets/{ruleset_id}/history'], + getOrgRulesetVersion: ['GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}'], + 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'], + listArtifactStorageRecords: ['GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records'], + listAttestationRepositories: ['GET /orgs/{org}/attestations/repositories'], + listAttestations: ['GET /orgs/{org}/attestations/{subject_digest}'], + listAttestationsBulk: ['POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}'], + listBlockedUsers: ['GET /orgs/{org}/blocks'], + listFailedInvitations: ['GET /orgs/{org}/failed_invitations'], + listForAuthenticatedUser: ['GET /user/orgs'], + listForUser: ['GET /users/{username}/orgs'], + listInvitationTeams: ['GET /orgs/{org}/invitations/{invitation_id}/teams'], + listIssueTypes: ['GET /orgs/{org}/issue-types'], + listMembers: ['GET /orgs/{org}/members'], + listMembershipsForAuthenticatedUser: ['GET /user/memberships/orgs'], + listOrgRoleTeams: ['GET /orgs/{org}/organization-roles/{role_id}/teams'], + listOrgRoleUsers: ['GET /orgs/{org}/organization-roles/{role_id}/users'], + listOrgRoles: ['GET /orgs/{org}/organization-roles'], + listOrganizationFineGrainedPermissions: ['GET /orgs/{org}/organization-fine-grained-permissions'], + listOutsideCollaborators: ['GET /orgs/{org}/outside_collaborators'], + listPatGrantRepositories: ['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", + 'GET /orgs/{org}/security-managers', {}, { - deprecated: "octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams" - } - ], - 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" - ], - removeMember: ["DELETE /orgs/{org}/members/{username}"], - removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], - removeOutsideCollaborator: [ - "DELETE /orgs/{org}/outside_collaborators/{username}" - ], - removePublicMembershipForAuthenticatedUser: [ - "DELETE /orgs/{org}/public_members/{username}" - ], + deprecated: + 'octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams' + } + ], + 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'], + removeMember: ['DELETE /orgs/{org}/members/{username}'], + removeMembershipForUser: ['DELETE /orgs/{org}/memberships/{username}'], + removeOutsideCollaborator: ['DELETE /orgs/{org}/outside_collaborators/{username}'], + removePublicMembershipForAuthenticatedUser: ['DELETE /orgs/{org}/public_members/{username}'], removeSecurityManagerTeam: [ - "DELETE /orgs/{org}/security-managers/teams/{team_slug}", + 'DELETE /orgs/{org}/security-managers/teams/{team_slug}', {}, { - deprecated: "octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team" - } - ], - reviewPatGrantRequest: [ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" - ], - reviewPatGrantRequestsInBulk: [ - "POST /orgs/{org}/personal-access-token-requests" - ], - revokeAllOrgRolesTeam: [ - "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" - ], - revokeAllOrgRolesUser: [ - "DELETE /orgs/{org}/organization-roles/users/{username}" - ], - revokeOrgRoleTeam: [ - "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" - ], - revokeOrgRoleUser: [ - "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" - ], - setImmutableReleasesSettings: [ - "PUT /orgs/{org}/settings/immutable-releases" - ], - setImmutableReleasesSettingsRepositories: [ - "PUT /orgs/{org}/settings/immutable-releases/repositories" - ], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: [ - "PUT /orgs/{org}/public_members/{username}" - ], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"], - updateMembershipForAuthenticatedUser: [ - "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"] + deprecated: + 'octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team' + } + ], + reviewPatGrantRequest: ['POST /orgs/{org}/personal-access-token-requests/{pat_request_id}'], + reviewPatGrantRequestsInBulk: ['POST /orgs/{org}/personal-access-token-requests'], + revokeAllOrgRolesTeam: ['DELETE /orgs/{org}/organization-roles/teams/{team_slug}'], + revokeAllOrgRolesUser: ['DELETE /orgs/{org}/organization-roles/users/{username}'], + revokeOrgRoleTeam: ['DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}'], + revokeOrgRoleUser: ['DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}'], + setImmutableReleasesSettings: ['PUT /orgs/{org}/settings/immutable-releases'], + setImmutableReleasesSettingsRepositories: ['PUT /orgs/{org}/settings/immutable-releases/repositories'], + setMembershipForUser: ['PUT /orgs/{org}/memberships/{username}'], + setPublicMembershipForAuthenticatedUser: ['PUT /orgs/{org}/public_members/{username}'], + unblockUser: ['DELETE /orgs/{org}/blocks/{username}'], + update: ['PATCH /orgs/{org}'], + updateIssueType: ['PUT /orgs/{org}/issue-types/{issue_type_id}'], + updateMembershipForAuthenticatedUser: ['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'] }, packages: { - deletePackageForAuthenticatedUser: [ - "DELETE /user/packages/{package_type}/{package_name}" - ], - deletePackageForOrg: [ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}" - ], - deletePackageForUser: [ - "DELETE /users/{username}/packages/{package_type}/{package_name}" - ], + deletePackageForAuthenticatedUser: ['DELETE /user/packages/{package_type}/{package_name}'], + deletePackageForOrg: ['DELETE /orgs/{org}/packages/{package_type}/{package_name}'], + deletePackageForUser: ['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" - ] + renamed: ['packages', 'getAllPackageVersionsForPackageOwnedByAuthenticatedUser'] } ], getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions" - ], - getAllPackageVersionsForPackageOwnedByOrg: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + 'GET /user/packages/{package_type}/{package_name}/versions' ], + getAllPackageVersionsForPackageOwnedByOrg: ['GET /orgs/{org}/packages/{package_type}/{package_name}/versions'], getAllPackageVersionsForPackageOwnedByUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}/versions" - ], - getPackageForAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}" - ], - getPackageForOrganization: [ - "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}/versions' ], + getPackageForAuthenticatedUser: ['GET /user/packages/{package_type}/{package_name}'], + getPackageForOrganization: ['GET /orgs/{org}/packages/{package_type}/{package_name}'], + getPackageForUser: ['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}" - ], - listDockerMigrationConflictingPackagesForAuthenticatedUser: [ - "GET /user/docker/conflicts" - ], - listDockerMigrationConflictingPackagesForOrganization: [ - "GET /orgs/{org}/docker/conflicts" - ], - listDockerMigrationConflictingPackagesForUser: [ - "GET /users/{username}/docker/conflicts" - ], - listPackagesForAuthenticatedUser: ["GET /user/packages"], - listPackagesForOrganization: ["GET /orgs/{org}/packages"], - listPackagesForUser: ["GET /users/{username}/packages"], - restorePackageForAuthenticatedUser: [ - "POST /user/packages/{package_type}/{package_name}/restore{?token}" - ], - restorePackageForOrg: [ - "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" - ], - restorePackageForUser: [ - "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" - ], + 'GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}' + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: ['GET /user/docker/conflicts'], + listDockerMigrationConflictingPackagesForOrganization: ['GET /orgs/{org}/docker/conflicts'], + listDockerMigrationConflictingPackagesForUser: ['GET /users/{username}/docker/conflicts'], + listPackagesForAuthenticatedUser: ['GET /user/packages'], + listPackagesForOrganization: ['GET /orgs/{org}/packages'], + listPackagesForUser: ['GET /users/{username}/packages'], + restorePackageForAuthenticatedUser: ['POST /user/packages/{package_type}/{package_name}/restore{?token}'], + restorePackageForOrg: ['POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}'], + restorePackageForUser: ['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' ] }, privateRegistries: { - createOrgPrivateRegistry: ["POST /orgs/{org}/private-registries"], - deleteOrgPrivateRegistry: [ - "DELETE /orgs/{org}/private-registries/{secret_name}" - ], - getOrgPrivateRegistry: ["GET /orgs/{org}/private-registries/{secret_name}"], - getOrgPublicKey: ["GET /orgs/{org}/private-registries/public-key"], - listOrgPrivateRegistries: ["GET /orgs/{org}/private-registries"], - updateOrgPrivateRegistry: [ - "PATCH /orgs/{org}/private-registries/{secret_name}" - ] + createOrgPrivateRegistry: ['POST /orgs/{org}/private-registries'], + deleteOrgPrivateRegistry: ['DELETE /orgs/{org}/private-registries/{secret_name}'], + getOrgPrivateRegistry: ['GET /orgs/{org}/private-registries/{secret_name}'], + getOrgPublicKey: ['GET /orgs/{org}/private-registries/public-key'], + listOrgPrivateRegistries: ['GET /orgs/{org}/private-registries'], + updateOrgPrivateRegistry: ['PATCH /orgs/{org}/private-registries/{secret_name}'] }, projects: { - addItemForOrg: ["POST /orgs/{org}/projectsV2/{project_number}/items"], - addItemForUser: [ - "POST /users/{username}/projectsV2/{project_number}/items" - ], - deleteItemForOrg: [ - "DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}" - ], - deleteItemForUser: [ - "DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}" - ], - getFieldForOrg: [ - "GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}" - ], - getFieldForUser: [ - "GET /users/{username}/projectsV2/{project_number}/fields/{field_id}" - ], - getForOrg: ["GET /orgs/{org}/projectsV2/{project_number}"], - getForUser: ["GET /users/{username}/projectsV2/{project_number}"], - getOrgItem: ["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"], - getUserItem: [ - "GET /users/{username}/projectsV2/{project_number}/items/{item_id}" - ], - listFieldsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/fields"], - listFieldsForUser: [ - "GET /users/{username}/projectsV2/{project_number}/fields" - ], - listForOrg: ["GET /orgs/{org}/projectsV2"], - listForUser: ["GET /users/{username}/projectsV2"], - listItemsForOrg: ["GET /orgs/{org}/projectsV2/{project_number}/items"], - listItemsForUser: [ - "GET /users/{username}/projectsV2/{project_number}/items" - ], - updateItemForOrg: [ - "PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}" - ], - updateItemForUser: [ - "PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}" - ] + addItemForOrg: ['POST /orgs/{org}/projectsV2/{project_number}/items'], + addItemForUser: ['POST /users/{username}/projectsV2/{project_number}/items'], + deleteItemForOrg: ['DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}'], + deleteItemForUser: ['DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}'], + getFieldForOrg: ['GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}'], + getFieldForUser: ['GET /users/{username}/projectsV2/{project_number}/fields/{field_id}'], + getForOrg: ['GET /orgs/{org}/projectsV2/{project_number}'], + getForUser: ['GET /users/{username}/projectsV2/{project_number}'], + getOrgItem: ['GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}'], + getUserItem: ['GET /users/{username}/projectsV2/{project_number}/items/{item_id}'], + listFieldsForOrg: ['GET /orgs/{org}/projectsV2/{project_number}/fields'], + listFieldsForUser: ['GET /users/{username}/projectsV2/{project_number}/fields'], + listForOrg: ['GET /orgs/{org}/projectsV2'], + listForUser: ['GET /users/{username}/projectsV2'], + listItemsForOrg: ['GET /orgs/{org}/projectsV2/{project_number}/items'], + listItemsForUser: ['GET /users/{username}/projectsV2/{project_number}/items'], + updateItemForOrg: ['PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}'], + updateItemForUser: ['PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}'] }, 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" - ], - createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - createReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" - ], - deletePendingReview: [ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" - ], - deleteReviewComment: [ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" - ], - dismissReview: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" - ], - get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], - getReview: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" - ], - getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - list: ["GET /repos/{owner}/{repo}/pulls"], - listCommentsForReview: [ - "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"], - listRequestedReviewers: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" - ], - listReviewComments: [ - "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"], - removeRequestedReviewers: [ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" - ], - requestReviewers: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" - ], - submitReview: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" - ], - update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], - updateBranch: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" - ], - updateReview: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" - ], - updateReviewComment: [ - "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" - ] + 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'], + createReview: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews'], + createReviewComment: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/comments'], + deletePendingReview: ['DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], + deleteReviewComment: ['DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}'], + dismissReview: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals'], + get: ['GET /repos/{owner}/{repo}/pulls/{pull_number}'], + getReview: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], + getReviewComment: ['GET /repos/{owner}/{repo}/pulls/comments/{comment_id}'], + list: ['GET /repos/{owner}/{repo}/pulls'], + listCommentsForReview: ['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'], + listRequestedReviewers: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], + listReviewComments: ['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'], + removeRequestedReviewers: ['DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], + requestReviewers: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], + submitReview: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events'], + update: ['PATCH /repos/{owner}/{repo}/pulls/{pull_number}'], + updateBranch: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch'], + updateReview: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], + updateReviewComment: ['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" - ], - createForIssue: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" - ], - createForIssueComment: [ - "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" - ], - createForPullRequestReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" - ], - createForRelease: [ - "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" - ], + createForCommitComment: ['POST /repos/{owner}/{repo}/comments/{comment_id}/reactions'], + createForIssue: ['POST /repos/{owner}/{repo}/issues/{issue_number}/reactions'], + createForIssueComment: ['POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions'], + createForPullRequestReviewComment: ['POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions'], + createForRelease: ['POST /repos/{owner}/{repo}/releases/{release_id}/reactions'], createForTeamDiscussionCommentInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" - ], - createForTeamDiscussionInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" - ], - deleteForCommitComment: [ - "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" - ], - deleteForIssue: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" - ], - deleteForIssueComment: [ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" - ], - deleteForPullRequestComment: [ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" - ], - deleteForRelease: [ - "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" - ], + 'POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions' + ], + createForTeamDiscussionInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions'], + deleteForCommitComment: ['DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}'], + deleteForIssue: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}'], + deleteForIssueComment: ['DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}'], + deleteForPullRequestComment: ['DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}'], + deleteForRelease: ['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}" - ], - listForCommitComment: [ - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" - ], - listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], - listForIssueComment: [ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" - ], - listForPullRequestReviewComment: [ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" - ], - listForRelease: [ - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}' ], + listForCommitComment: ['GET /repos/{owner}/{repo}/comments/{comment_id}/reactions'], + listForIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/reactions'], + listForIssueComment: ['GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions'], + listForPullRequestReviewComment: ['GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions'], + listForRelease: ['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" - ] + listForTeamDiscussionInOrg: ['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"] } - ], - acceptInvitationForAuthenticatedUser: [ - "PATCH /user/repository_invitations/{invitation_id}" + { renamed: ['repos', 'acceptInvitationForAuthenticatedUser'] } ], + acceptInvitationForAuthenticatedUser: ['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" } - ], - cancelPagesDeployment: [ - "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" - ], - checkAutomatedSecurityFixes: [ - "GET /repos/{owner}/{repo}/automated-security-fixes" - ], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - checkImmutableReleases: ["GET /repos/{owner}/{repo}/immutable-releases"], - checkPrivateVulnerabilityReporting: [ - "GET /repos/{owner}/{repo}/private-vulnerability-reporting" - ], - checkVulnerabilityAlerts: [ - "GET /repos/{owner}/{repo}/vulnerability-alerts" - ], - codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], - compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], - compareCommitsWithBasehead: [ - "GET /repos/{owner}/{repo}/compare/{basehead}" - ], - createAttestation: ["POST /repos/{owner}/{repo}/attestations"], - createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], - createCommitComment: [ - "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" - ], - createCommitSignatureProtection: [ - "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"], + { mapToData: 'users' } + ], + cancelPagesDeployment: ['POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel'], + checkAutomatedSecurityFixes: ['GET /repos/{owner}/{repo}/automated-security-fixes'], + checkCollaborator: ['GET /repos/{owner}/{repo}/collaborators/{username}'], + checkImmutableReleases: ['GET /repos/{owner}/{repo}/immutable-releases'], + checkPrivateVulnerabilityReporting: ['GET /repos/{owner}/{repo}/private-vulnerability-reporting'], + checkVulnerabilityAlerts: ['GET /repos/{owner}/{repo}/vulnerability-alerts'], + codeownersErrors: ['GET /repos/{owner}/{repo}/codeowners/errors'], + compareCommits: ['GET /repos/{owner}/{repo}/compare/{base}...{head}'], + compareCommitsWithBasehead: ['GET /repos/{owner}/{repo}/compare/{basehead}'], + createAttestation: ['POST /repos/{owner}/{repo}/attestations'], + createAutolink: ['POST /repos/{owner}/{repo}/autolinks'], + createCommitComment: ['POST /repos/{owner}/{repo}/commits/{commit_sha}/comments'], + createCommitSignatureProtection: ['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'], 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" - ], - createDeploymentStatus: [ - "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"], - 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/deployments"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], - createUsingTemplate: [ - "POST /repos/{template_owner}/{template_repo}/generate" - ], - createWebhook: ["POST /repos/{owner}/{repo}/hooks"], - customPropertiesForReposCreateOrUpdateRepositoryValues: [ - "PATCH /repos/{owner}/{repo}/properties/values" - ], - customPropertiesForReposGetRepositoryValues: [ - "GET /repos/{owner}/{repo}/properties/values" - ], + 'POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules' + ], + createDeploymentStatus: ['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'], + 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/deployments'], + createPagesSite: ['POST /repos/{owner}/{repo}/pages'], + createRelease: ['POST /repos/{owner}/{repo}/releases'], + createRepoRuleset: ['POST /repos/{owner}/{repo}/rulesets'], + createUsingTemplate: ['POST /repos/{template_owner}/{template_repo}/generate'], + createWebhook: ['POST /repos/{owner}/{repo}/hooks'], + customPropertiesForReposCreateOrUpdateRepositoryValues: ['PATCH /repos/{owner}/{repo}/properties/values'], + customPropertiesForReposGetRepositoryValues: ['GET /repos/{owner}/{repo}/properties/values'], declineInvitation: [ - "DELETE /user/repository_invitations/{invitation_id}", + 'DELETE /user/repository_invitations/{invitation_id}', {}, - { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } - ], - declineInvitationForAuthenticatedUser: [ - "DELETE /user/repository_invitations/{invitation_id}" - ], - delete: ["DELETE /repos/{owner}/{repo}"], - deleteAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" - ], - deleteAdminBranchProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" - ], - deleteAnEnvironment: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}" - ], - deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], - deleteBranchProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" - ], - deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], - deleteCommitSignatureProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" - ], - deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], - deleteDeployment: [ - "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" - ], + { renamed: ['repos', 'declineInvitationForAuthenticatedUser'] } + ], + declineInvitationForAuthenticatedUser: ['DELETE /user/repository_invitations/{invitation_id}'], + delete: ['DELETE /repos/{owner}/{repo}'], + deleteAccessRestrictions: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions'], + deleteAdminBranchProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins'], + deleteAnEnvironment: ['DELETE /repos/{owner}/{repo}/environments/{environment_name}'], + deleteAutolink: ['DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}'], + deleteBranchProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection'], + deleteCommitComment: ['DELETE /repos/{owner}/{repo}/comments/{comment_id}'], + deleteCommitSignatureProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures'], + deleteDeployKey: ['DELETE /repos/{owner}/{repo}/keys/{key_id}'], + deleteDeployment: ['DELETE /repos/{owner}/{repo}/deployments/{deployment_id}'], deleteDeploymentBranchPolicy: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" - ], - deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], - deleteInvitation: [ - "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + 'DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}' ], - deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], - deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deleteFile: ['DELETE /repos/{owner}/{repo}/contents/{path}'], + deleteInvitation: ['DELETE /repos/{owner}/{repo}/invitations/{invitation_id}'], + 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" - ], - deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], - deleteReleaseAsset: [ - "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" - ], - deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], - deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], - disableAutomatedSecurityFixes: [ - "DELETE /repos/{owner}/{repo}/automated-security-fixes" + 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' ], + deleteRelease: ['DELETE /repos/{owner}/{repo}/releases/{release_id}'], + deleteReleaseAsset: ['DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}'], + deleteRepoRuleset: ['DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}'], + deleteWebhook: ['DELETE /repos/{owner}/{repo}/hooks/{hook_id}'], + disableAutomatedSecurityFixes: ['DELETE /repos/{owner}/{repo}/automated-security-fixes'], disableDeploymentProtectionRule: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" - ], - disableImmutableReleases: [ - "DELETE /repos/{owner}/{repo}/immutable-releases" - ], - disablePrivateVulnerabilityReporting: [ - "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" - ], - disableVulnerabilityAlerts: [ - "DELETE /repos/{owner}/{repo}/vulnerability-alerts" - ], - downloadArchive: [ - "GET /repos/{owner}/{repo}/zipball/{ref}", - {}, - { renamed: ["repos", "downloadZipballArchive"] } - ], - downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], - downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], - enableAutomatedSecurityFixes: [ - "PUT /repos/{owner}/{repo}/automated-security-fixes" - ], - enableImmutableReleases: ["PUT /repos/{owner}/{repo}/immutable-releases"], - enablePrivateVulnerabilityReporting: [ - "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" - ], - enableVulnerabilityAlerts: [ - "PUT /repos/{owner}/{repo}/vulnerability-alerts" - ], - generateReleaseNotes: [ - "POST /repos/{owner}/{repo}/releases/generate-notes" - ], - get: ["GET /repos/{owner}/{repo}"], - getAccessRestrictions: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" - ], - getAdminBranchProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" - ], + 'DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}' + ], + disableImmutableReleases: ['DELETE /repos/{owner}/{repo}/immutable-releases'], + disablePrivateVulnerabilityReporting: ['DELETE /repos/{owner}/{repo}/private-vulnerability-reporting'], + disableVulnerabilityAlerts: ['DELETE /repos/{owner}/{repo}/vulnerability-alerts'], + downloadArchive: ['GET /repos/{owner}/{repo}/zipball/{ref}', {}, { renamed: ['repos', 'downloadZipballArchive'] }], + downloadTarballArchive: ['GET /repos/{owner}/{repo}/tarball/{ref}'], + downloadZipballArchive: ['GET /repos/{owner}/{repo}/zipball/{ref}'], + enableAutomatedSecurityFixes: ['PUT /repos/{owner}/{repo}/automated-security-fixes'], + enableImmutableReleases: ['PUT /repos/{owner}/{repo}/immutable-releases'], + enablePrivateVulnerabilityReporting: ['PUT /repos/{owner}/{repo}/private-vulnerability-reporting'], + enableVulnerabilityAlerts: ['PUT /repos/{owner}/{repo}/vulnerability-alerts'], + generateReleaseNotes: ['POST /repos/{owner}/{repo}/releases/generate-notes'], + get: ['GET /repos/{owner}/{repo}'], + getAccessRestrictions: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions'], + getAdminBranchProtection: ['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" - ], - getAllTopics: ["GET /repos/{owner}/{repo}/topics"], - getAppsWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" - ], - getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], - getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], - getBranchProtection: [ - "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"], - getCollaboratorPermissionLevel: [ - "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}"], - getCommitSignatureProtection: [ - "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"], + 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts' + ], + getAllTopics: ['GET /repos/{owner}/{repo}/topics'], + getAppsWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps'], + getAutolink: ['GET /repos/{owner}/{repo}/autolinks/{autolink_id}'], + getBranch: ['GET /repos/{owner}/{repo}/branches/{branch}'], + getBranchProtection: ['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'], + getCollaboratorPermissionLevel: ['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}'], + getCommitSignatureProtection: ['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'], 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}' ], - getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], - getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + 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}" - ], - getDeploymentStatus: [ - "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}"], - getPagesDeployment: [ - "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" - ], - getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], - getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}' + ], + getDeploymentStatus: ['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}'], + getPagesDeployment: ['GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_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}"], - getRepoRuleSuite: [ - "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}"], - getRepoRulesetHistory: [ - "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history" - ], - getRepoRulesetVersion: [ - "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}" - ], - getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], - getStatusChecksProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" - ], - getTeamsWithAccessToProtectedBranch: [ - "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"], - getUsersWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" - ], - getViews: ["GET /repos/{owner}/{repo}/traffic/views"], - getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], - getWebhookConfigForRepo: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" - ], - getWebhookDelivery: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" - ], - listActivities: ["GET /repos/{owner}/{repo}/activity"], - listAttestations: [ - "GET /repos/{owner}/{repo}/attestations/{subject_digest}" - ], - listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], - listBranches: ["GET /repos/{owner}/{repo}/branches"], - listBranchesForHeadCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" - ], - listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], - listCommentsForCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" - ], - listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], - listCommitStatusesForRef: [ - "GET /repos/{owner}/{repo}/commits/{ref}/statuses" - ], - listCommits: ["GET /repos/{owner}/{repo}/commits"], - listContributors: ["GET /repos/{owner}/{repo}/contributors"], + '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}'], + getRepoRuleSuites: ['GET /repos/{owner}/{repo}/rulesets/rule-suites'], + getRepoRuleset: ['GET /repos/{owner}/{repo}/rulesets/{ruleset_id}'], + getRepoRulesetHistory: ['GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history'], + getRepoRulesetVersion: ['GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}'], + getRepoRulesets: ['GET /repos/{owner}/{repo}/rulesets'], + getStatusChecksProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks'], + getTeamsWithAccessToProtectedBranch: ['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'], + getUsersWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users'], + getViews: ['GET /repos/{owner}/{repo}/traffic/views'], + getWebhook: ['GET /repos/{owner}/{repo}/hooks/{hook_id}'], + getWebhookConfigForRepo: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/config'], + getWebhookDelivery: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}'], + listActivities: ['GET /repos/{owner}/{repo}/activity'], + listAttestations: ['GET /repos/{owner}/{repo}/attestations/{subject_digest}'], + listAutolinks: ['GET /repos/{owner}/{repo}/autolinks'], + listBranches: ['GET /repos/{owner}/{repo}/branches'], + listBranchesForHeadCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head'], + listCollaborators: ['GET /repos/{owner}/{repo}/collaborators'], + listCommentsForCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/comments'], + listCommitCommentsForRepo: ['GET /repos/{owner}/{repo}/comments'], + listCommitStatusesForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/statuses'], + 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" - ], - 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"], - listPullRequestsAssociatedWithCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" - ], - listReleaseAssets: [ - "GET /repos/{owner}/{repo}/releases/{release_id}/assets" - ], - listReleases: ["GET /repos/{owner}/{repo}/releases"], - listTags: ["GET /repos/{owner}/{repo}/tags"], - listTeams: ["GET /repos/{owner}/{repo}/teams"], - listWebhookDeliveries: [ - "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"], - redeliverWebhookDelivery: [ - "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" - ], + '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'], + listPullRequestsAssociatedWithCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls'], + listReleaseAssets: ['GET /repos/{owner}/{repo}/releases/{release_id}/assets'], + listReleases: ['GET /repos/{owner}/{repo}/releases'], + listTags: ['GET /repos/{owner}/{repo}/tags'], + listTeams: ['GET /repos/{owner}/{repo}/teams'], + listWebhookDeliveries: ['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'], + redeliverWebhookDelivery: ['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" } - ], - removeCollaborator: [ - "DELETE /repos/{owner}/{repo}/collaborators/{username}" + { mapToData: 'apps' } ], + removeCollaborator: ['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" } - ], - removeStatusCheckProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + { mapToData: 'contexts' } ], + removeStatusCheckProtection: ['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" } - ], - 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" + { mapToData: 'users' } ], + 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'], 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" } - ], - 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" + { mapToData: 'users' } ], - updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + 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'], + 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"], - updateInvitation: [ - "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" - ], - updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updateInformationAboutPagesSite: ['PUT /repos/{owner}/{repo}/pages'], + updateInvitation: ['PATCH /repos/{owner}/{repo}/invitations/{invitation_id}'], + updateOrgRuleset: ['PUT /orgs/{org}/rulesets/{ruleset_id}'], updatePullRequestReviewProtection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" - ], - updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], - updateReleaseAsset: [ - "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + 'PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' ], - updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateRelease: ['PATCH /repos/{owner}/{repo}/releases/{release_id}'], + updateReleaseAsset: ['PATCH /repos/{owner}/{repo}/releases/assets/{asset_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"] } - ], - updateStatusCheckProtection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" - ], - updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], - updateWebhookConfigForRepo: [ - "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + { renamed: ['repos', 'updateStatusCheckProtection'] } ], + updateStatusCheckProtection: ['PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks'], + updateWebhook: ['PATCH /repos/{owner}/{repo}/hooks/{hook_id}'], + updateWebhookConfigForRepo: ['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: { - createPushProtectionBypass: [ - "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses" - ], - getAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ], - getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"], - 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" - ], - listOrgPatternConfigs: [ - "GET /orgs/{org}/secret-scanning/pattern-configurations" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ], - updateOrgPatternConfigs: [ - "PATCH /orgs/{org}/secret-scanning/pattern-configurations" - ] + createPushProtectionBypass: ['POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses'], + getAlert: ['GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}'], + getScanHistory: ['GET /repos/{owner}/{repo}/secret-scanning/scan-history'], + 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'], + listOrgPatternConfigs: ['GET /orgs/{org}/secret-scanning/pattern-configurations'], + updateAlert: ['PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}'], + updateOrgPatternConfigs: ['PATCH /orgs/{org}/secret-scanning/pattern-configurations'] }, securityAdvisories: { - createFork: [ - "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" - ], - createPrivateVulnerabilityReport: [ - "POST /repos/{owner}/{repo}/security-advisories/reports" - ], - createRepositoryAdvisory: [ - "POST /repos/{owner}/{repo}/security-advisories" - ], - createRepositoryAdvisoryCveRequest: [ - "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" - ], - getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], - getRepositoryAdvisory: [ - "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" - ], - 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}" - ] + createFork: ['POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks'], + createPrivateVulnerabilityReport: ['POST /repos/{owner}/{repo}/security-advisories/reports'], + createRepositoryAdvisory: ['POST /repos/{owner}/{repo}/security-advisories'], + createRepositoryAdvisoryCveRequest: ['POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve'], + getGlobalAdvisory: ['GET /advisories/{ghsa_id}'], + getRepositoryAdvisory: ['GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}'], + 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}'] }, teams: { - addOrUpdateMembershipForUserInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - addOrUpdateRepoPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - checkPermissionsForRepoInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - create: ["POST /orgs/{org}/teams"], - createDiscussionCommentInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" - ], - createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + addOrUpdateMembershipForUserInOrg: ['PUT /orgs/{org}/teams/{team_slug}/memberships/{username}'], + addOrUpdateRepoPermissionsInOrg: ['PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], + checkPermissionsForRepoInOrg: ['GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], + create: ['POST /orgs/{org}/teams'], + createDiscussionCommentInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments'], + createDiscussionInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions'], deleteDiscussionCommentInOrg: [ - "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}/comments/{comment_number}' ], - deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], - getByName: ["GET /orgs/{org}/teams/{team_slug}"], + deleteDiscussionInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}'], + 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}" - ], - getDiscussionInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" - ], - getMembershipForUserInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - list: ["GET /orgs/{org}/teams"], - listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], - listDiscussionCommentsInOrg: [ - "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"], - listPendingInvitationsInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/invitations" - ], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - removeRepoInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], + 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}' + ], + getDiscussionInOrg: ['GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}'], + getMembershipForUserInOrg: ['GET /orgs/{org}/teams/{team_slug}/memberships/{username}'], + list: ['GET /orgs/{org}/teams'], + listChildInOrg: ['GET /orgs/{org}/teams/{team_slug}/teams'], + listDiscussionCommentsInOrg: ['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'], + listPendingInvitationsInOrg: ['GET /orgs/{org}/teams/{team_slug}/invitations'], + listReposInOrg: ['GET /orgs/{org}/teams/{team_slug}/repos'], + removeMembershipForUserInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}'], + removeRepoInOrg: ['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}" - ], - updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + updateDiscussionInOrg: ['PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}'], + updateInOrg: ['PATCH /orgs/{org}/teams/{team_slug}'] }, users: { - addEmailForAuthenticated: [ - "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}"], + addEmailForAuthenticated: ['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}'], 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"] } - ], - createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], - createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], - deleteAttestationsBulk: [ - "POST /users/{username}/attestations/delete-request" - ], - deleteAttestationsById: [ - "DELETE /users/{username}/attestations/{attestation_id}" - ], - deleteAttestationsBySubjectDigest: [ - "DELETE /users/{username}/attestations/digest/{subject_digest}" - ], - deleteEmailForAuthenticated: [ - "DELETE /user/emails", - {}, - { renamed: ["users", "deleteEmailForAuthenticatedUser"] } - ], - deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + { renamed: ['users', 'createPublicSshKeyForAuthenticatedUser'] } + ], + createPublicSshKeyForAuthenticatedUser: ['POST /user/keys'], + createSshSigningKeyForAuthenticatedUser: ['POST /user/ssh_signing_keys'], + deleteAttestationsBulk: ['POST /users/{username}/attestations/delete-request'], + deleteAttestationsById: ['DELETE /users/{username}/attestations/{attestation_id}'], + deleteAttestationsBySubjectDigest: ['DELETE /users/{username}/attestations/digest/{subject_digest}'], + deleteEmailForAuthenticated: ['DELETE /user/emails', {}, { renamed: ['users', 'deleteEmailForAuthenticatedUser'] }], + 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"] } - ], - deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], - deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], - deleteSshSigningKeyForAuthenticatedUser: [ - "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" - ], - follow: ["PUT /user/following/{username}"], - getAuthenticated: ["GET /user"], - getById: ["GET /user/{account_id}"], - getByUsername: ["GET /users/{username}"], - getContextForUser: ["GET /users/{username}/hovercard"], + { renamed: ['users', 'deletePublicSshKeyForAuthenticatedUser'] } + ], + deletePublicSshKeyForAuthenticatedUser: ['DELETE /user/keys/{key_id}'], + deleteSocialAccountForAuthenticatedUser: ['DELETE /user/social_accounts'], + deleteSshSigningKeyForAuthenticatedUser: ['DELETE /user/ssh_signing_keys/{ssh_signing_key_id}'], + follow: ['PUT /user/following/{username}'], + getAuthenticated: ['GET /user'], + getById: ['GET /user/{account_id}'], + 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"] } - ], - getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], - getSshSigningKeyForAuthenticatedUser: [ - "GET /user/ssh_signing_keys/{ssh_signing_key_id}" - ], - list: ["GET /users"], - listAttestations: ["GET /users/{username}/attestations/{subject_digest}"], - listAttestationsBulk: [ - "POST /users/{username}/attestations/bulk-list{?per_page,before,after}" - ], - listBlockedByAuthenticated: [ - "GET /user/blocks", - {}, - { renamed: ["users", "listBlockedByAuthenticatedUser"] } - ], - listBlockedByAuthenticatedUser: ["GET /user/blocks"], - listEmailsForAuthenticated: [ - "GET /user/emails", - {}, - { renamed: ["users", "listEmailsForAuthenticatedUser"] } - ], - listEmailsForAuthenticatedUser: ["GET /user/emails"], - listFollowedByAuthenticated: [ - "GET /user/following", - {}, - { renamed: ["users", "listFollowedByAuthenticatedUser"] } - ], - listFollowedByAuthenticatedUser: ["GET /user/following"], - listFollowersForAuthenticatedUser: ["GET /user/followers"], - listFollowersForUser: ["GET /users/{username}/followers"], - listFollowingForUser: ["GET /users/{username}/following"], - listGpgKeysForAuthenticated: [ - "GET /user/gpg_keys", - {}, - { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } - ], - listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], - listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + { renamed: ['users', 'getPublicSshKeyForAuthenticatedUser'] } + ], + getPublicSshKeyForAuthenticatedUser: ['GET /user/keys/{key_id}'], + getSshSigningKeyForAuthenticatedUser: ['GET /user/ssh_signing_keys/{ssh_signing_key_id}'], + list: ['GET /users'], + listAttestations: ['GET /users/{username}/attestations/{subject_digest}'], + listAttestationsBulk: ['POST /users/{username}/attestations/bulk-list{?per_page,before,after}'], + listBlockedByAuthenticated: ['GET /user/blocks', {}, { renamed: ['users', 'listBlockedByAuthenticatedUser'] }], + listBlockedByAuthenticatedUser: ['GET /user/blocks'], + listEmailsForAuthenticated: ['GET /user/emails', {}, { renamed: ['users', 'listEmailsForAuthenticatedUser'] }], + listEmailsForAuthenticatedUser: ['GET /user/emails'], + listFollowedByAuthenticated: ['GET /user/following', {}, { renamed: ['users', 'listFollowedByAuthenticatedUser'] }], + listFollowedByAuthenticatedUser: ['GET /user/following'], + listFollowersForAuthenticatedUser: ['GET /user/followers'], + listFollowersForUser: ['GET /users/{username}/followers'], + listFollowingForUser: ['GET /users/{username}/following'], + listGpgKeysForAuthenticated: ['GET /user/gpg_keys', {}, { renamed: ['users', 'listGpgKeysForAuthenticatedUser'] }], + 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" - ], - unblock: ["DELETE /user/blocks/{username}"], - unfollow: ["DELETE /user/following/{username}"], - updateAuthenticated: ["PATCH /user"] + setPrimaryEmailVisibilityForAuthenticatedUser: ['PATCH /user/email/visibility'], + unblock: ['DELETE /user/blocks/{username}'], + unfollow: ['DELETE /user/following/{username}'], + updateAuthenticated: ['PATCH /user'] } }; endpoints_default = Endpoints; @@ -24993,18 +24356,14 @@ function decorate(octokit2, scope, methodName, defaults2, decorations) { } if (decorations.renamed) { const [newScope, newMethodName] = decorations.renamed; - octokit2.log.warn( - `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` - ); + octokit2.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); } if (decorations.deprecated) { octokit2.log.warn(decorations.deprecated); } if (decorations.renamedParameters) { const options2 = requestWithDefaults.endpoint.merge(...args); - for (const [name, alias] of Object.entries( - decorations.renamedParameters - )) { + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { if (name in options2) { octokit2.log.warn( `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` @@ -25023,7 +24382,7 @@ function decorate(octokit2, scope, methodName, defaults2, decorations) { } var endpointMethodsMap, handler; var init_endpoints_to_methods = __esm({ - "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() { + 'node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js'() { init_endpoints(); endpointMethodsMap = /* @__PURE__ */ new Map(); for (const [scope, endpoints] of Object.entries(endpoints_default)) { @@ -25073,7 +24432,7 @@ var init_endpoints_to_methods = __esm({ return [...endpointMethodsMap.get(scope).keys()]; }, set(target, methodName, value) { - return target.cache[methodName] = value; + return (target.cache[methodName] = value); }, get({ octokit: octokit2, scope, cache }, methodName) { if (cache[methodName]) { @@ -25085,13 +24444,7 @@ var init_endpoints_to_methods = __esm({ } const { endpointDefaults, decorations } = method; if (decorations) { - cache[methodName] = decorate( - octokit2, - scope, - methodName, - endpointDefaults, - decorations - ); + cache[methodName] = decorate(octokit2, scope, methodName, endpointDefaults, decorations); } else { cache[methodName] = octokit2.request.defaults(endpointDefaults); } @@ -25116,7 +24469,7 @@ function legacyRestEndpointMethods(octokit2) { }; } var init_dist_src3 = __esm({ - "node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() { + 'node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js'() { init_version2(); init_endpoints_to_methods(); restEndpointMethods.VERSION = VERSION5; @@ -25132,7 +24485,8 @@ function normalizePaginatedListResponse(response) { data: [] }; } - const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data); + const responseNeedsNormalization = + ('total_count' in response.data || 'total_commits' in response.data) && !('url' in response.data); if (!responseNeedsNormalization) return response; const incompleteResults = response.data.incomplete_results; const repositorySelection = response.data.repository_selection; @@ -25145,10 +24499,10 @@ function normalizePaginatedListResponse(response) { const namespaceKey = Object.keys(response.data)[0]; const data = response.data[namespaceKey]; response.data = data; - if (typeof incompleteResults !== "undefined") { + if (typeof incompleteResults !== 'undefined') { response.data.incomplete_results = incompleteResults; } - if (typeof repositorySelection !== "undefined") { + if (typeof repositorySelection !== 'undefined') { response.data.repository_selection = repositorySelection; } response.data.total_count = totalCount; @@ -25156,8 +24510,8 @@ function normalizePaginatedListResponse(response) { return response; } function iterator(octokit2, route, parameters) { - const options = typeof route === "function" ? route.endpoint(parameters) : octokit2.request.endpoint(route, parameters); - const requestMethod = typeof route === "function" ? route : octokit2.request; + const options = typeof route === 'function' ? route.endpoint(parameters) : octokit2.request.endpoint(route, parameters); + const requestMethod = typeof route === 'function' ? route : octokit2.request; const method = options.method; const headers = options.headers; let url = options.url; @@ -25168,23 +24522,21 @@ function iterator(octokit2, route, parameters) { try { const response = await requestMethod({ method, url, headers }); const normalizedResponse = normalizePaginatedListResponse(response); - url = ((normalizedResponse.headers.link || "").match( - /<([^<>]+)>;\s*rel="next"/ - ) || [])[1]; - if (!url && "total_commits" in normalizedResponse.data) { + url = ((normalizedResponse.headers.link || '').match(/<([^<>]+)>;\s*rel="next"/) || [])[1]; + if (!url && 'total_commits' in normalizedResponse.data) { const parsedUrl = new URL(normalizedResponse.url); const params = parsedUrl.searchParams; - const page = parseInt(params.get("page") || "1", 10); - const per_page = parseInt(params.get("per_page") || "250", 10); + const page = parseInt(params.get('page') || '1', 10); + const per_page = parseInt(params.get('per_page') || '250', 10); if (page * per_page < normalizedResponse.data.total_commits) { - params.set("page", String(page + 1)); + params.set('page', String(page + 1)); url = parsedUrl.toString(); } } return { value: normalizedResponse }; } catch (error) { if (error.status !== 409) throw error; - url = ""; + url = ''; return { value: { status: 200, @@ -25198,19 +24550,14 @@ function iterator(octokit2, route, parameters) { }; } function paginate(octokit2, route, parameters, mapFn) { - if (typeof parameters === "function") { + if (typeof parameters === 'function') { mapFn = parameters; parameters = void 0; } - return gather( - octokit2, - [], - iterator(octokit2, route, parameters)[Symbol.asyncIterator](), - mapFn - ); + return gather(octokit2, [], iterator(octokit2, route, parameters)[Symbol.asyncIterator](), mapFn); } function gather(octokit2, results, iterator2, mapFn) { - return iterator2.next().then((result) => { + return iterator2.next().then(result => { if (result.done) { return results; } @@ -25218,9 +24565,7 @@ function gather(octokit2, results, iterator2, mapFn) { function done() { earlyExit = true; } - results = results.concat( - mapFn ? mapFn(result.value, done) : result.value.data - ); + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); if (earlyExit) { return results; } @@ -25236,8 +24581,8 @@ function paginateRest(octokit2) { } var VERSION6, composePaginateRest; var init_dist_bundle5 = __esm({ - "node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() { - VERSION6 = "0.0.0-development"; + 'node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js'() { + VERSION6 = '0.0.0-development'; composePaginateRest = Object.assign(paginate, { iterator }); @@ -25256,7 +24601,7 @@ function getOctokitOptions(token2, options) { } var context, baseUrl, defaults, GitHub; var init_utils2 = __esm({ - "node_modules/@actions/github/lib/utils.js"() { + 'node_modules/@actions/github/lib/utils.js'() { init_context(); init_utils(); init_dist_src2(); @@ -25287,7 +24632,7 @@ function getOctokit(token2, options, ...additionalPlugins) { } var context2; var init_github = __esm({ - "node_modules/@actions/github/lib/github.js"() { + 'node_modules/@actions/github/lib/github.js'() { init_context(); init_utils2(); context2 = new Context(); @@ -25301,34 +24646,34 @@ var requiredArgOptions = { required: true, trimWhitespace: true }; -var fileInput = core.getInput("files-with-code") || ""; -var filesToCheckForChanges = fileInput && fileInput.length > 0 ? fileInput.split(",") : null; -var folderInput = core.getInput("folders-with-code") || ""; -var foldersToCheckForChanges = folderInput && folderInput.length > 0 ? folderInput.split(",") : null; -var prNumber = core.getInput("pr-number") || github.context.issue.number; -var org = core.getInput("org") || github.context.repo.owner; -var repo = core.getInput("repo") || github.context.repo.repo; -var token = core.getInput("token", requiredArgOptions); +var fileInput = core.getInput('files-with-code') || ''; +var filesToCheckForChanges = fileInput && fileInput.length > 0 ? fileInput.split(',') : null; +var folderInput = core.getInput('folders-with-code') || ''; +var foldersToCheckForChanges = folderInput && folderInput.length > 0 ? folderInput.split(',') : null; +var prNumber = core.getInput('pr-number') || github.context.issue.number; +var org = core.getInput('org') || github.context.repo.owner; +var repo = core.getInput('repo') || github.context.repo.repo; +var token = core.getInput('token', requiredArgOptions); var octokit = github.getOctokit(token); function getPrFolders(prFiles) { const prFoldersSet = /* @__PURE__ */ new Set(); if (prFiles) { - prFiles.forEach((f) => { - const folder = f.substring(0, f.lastIndexOf("/")); + prFiles.forEach(f => { + const folder = f.substring(0, f.lastIndexOf('/')); prFoldersSet.add(folder); - let baseFolder = ""; - folder.split("/").forEach((fp, index) => { + let baseFolder = ''; + folder.split('/').forEach((fp, index) => { prFoldersSet.add(fp); baseFolder = index === 0 ? fp : `${baseFolder}/${fp}`; prFoldersSet.add(baseFolder); }); }); } - const prFolders = Array.from(prFoldersSet).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); + const prFolders = Array.from(prFoldersSet).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); if (prFolders.length > 0) { core.info(` The following folders have changes in the PR: - ${prFolders.join("\n ")}`); + ${prFolders.join('\n ')}`); } else { core.info(` No folders had changes in the PR.`); @@ -25337,31 +24682,34 @@ No folders had changes in the PR.`); } async function getPRFiles(org2, repo2, prNumber2) { const prFilesSet = /* @__PURE__ */ new Set(); - await octokit.paginate(octokit.rest.pulls.listFiles, { - owner: org2, - repo: repo2, - pull_number: prNumber2 - }).then((prFileResponse) => { - const prFiles = prFileResponse.map((prf) => prf.filename).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); - prFiles.forEach((f) => { - const fileParts = f.split("/"); - prFilesSet.add(fileParts[fileParts.length - 1]); - prFilesSet.add(f); - }); - }).catch((error) => { - core.error(` + await octokit + .paginate(octokit.rest.pulls.listFiles, { + owner: org2, + repo: repo2, + pull_number: prNumber2 + }) + .then(prFileResponse => { + const prFiles = prFileResponse.map(prf => prf.filename).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); + prFiles.forEach(f => { + const fileParts = f.split('/'); + prFilesSet.add(fileParts[fileParts.length - 1]); + prFilesSet.add(f); + }); + }) + .catch(error => { + core.error(` An error occurred retrieving the PR files: ${error.message}`); - }); - const filesToReturn = Array.from(prFilesSet).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); + }); + const filesToReturn = Array.from(prFilesSet).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); core.info(` The following files have changes in the PR: - ${filesToReturn.join("\n ")}`); + ${filesToReturn.join('\n ')}`); return filesToReturn; } async function run() { const eventName = github.context.eventName; - if (eventName !== "pull_request" && eventName !== "pull_request_target") { - core.setFailed("The workflow must have a pull_request or pull_request_target trigger."); + if (eventName !== 'pull_request' && eventName !== 'pull_request_target') { + core.setFailed('The workflow must have a pull_request or pull_request_target trigger.'); return; } core.info(`org: ${org}`); @@ -25373,29 +24721,29 @@ async function run() { let matchingFiles = []; let matchingFolders = []; if (filesToCheckForChanges && filesToCheckForChanges.length > 0) { - matchingFiles = filesToCheckForChanges.filter((f) => filesChangedInPr.includes(f)) || []; + matchingFiles = filesToCheckForChanges.filter(f => filesChangedInPr.includes(f)) || []; if (matchingFiles.length > 0) { hasMatchingChanges = true; const joinedFiles = ` - ${matchingFiles.join("\n ")}`; + ${matchingFiles.join('\n ')}`; core.info(` The following files have changes in the PR and match the files to check for changes:${joinedFiles}`); } } if (foldersToCheckForChanges && foldersToCheckForChanges.length > 0) { - matchingFolders = foldersToCheckForChanges.filter((f) => foldersChangedInPr.includes(f)) || []; + matchingFolders = foldersToCheckForChanges.filter(f => foldersChangedInPr.includes(f)) || []; if (matchingFolders.length > 0) { hasMatchingChanges = true; const joinedFolders = ` - ${matchingFolders.join("\n ")}`; + ${matchingFolders.join('\n ')}`; core.info( ` The following folders have changes in the PR and match the folders to check for changes:${joinedFolders}` ); } } - core.setOutput("HAS_CHANGES", hasMatchingChanges); - core.exportVariable("CODE_HAS_CHANGED", hasMatchingChanges); + core.setOutput('HAS_CHANGES', hasMatchingChanges); + core.exportVariable('CODE_HAS_CHANGED', hasMatchingChanges); } run(); /*! Bundled license information: