diff --git a/README.md b/README.md index 973e8a0..32d1f3b 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ jobs: if: env.DO_BUILD == 'true' id: create_release # You may also reference just the major or major.minor version. - uses: im-open/create-release@v3.2.0 + uses: im-open/create-release@v3.2.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} tag-name: ${{ steps.version.outputs.VERSION }} diff --git a/dist/index.js b/dist/index.js index 5169557..1828a69 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,14 +1,48 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => + function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])((fn = 0))), res; + }; var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + 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 }); +}; +var __copyProps = (to, from, except, desc) => { + 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); // 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 }); - exports2.toCommandProperties = exports2.toCommandValue = void 0; + exports2.toCommandValue = toCommandValue; + exports2.toCommandProperties = toCommandProperties; function toCommandValue(input) { if (input === null || input === void 0) { return ''; @@ -17,7 +51,6 @@ var require_utils = __commonJS({ } return JSON.stringify(input); } - exports2.toCommandValue = toCommandValue; function toCommandProperties(annotationProperties) { if (!Object.keys(annotationProperties).length) { return {}; @@ -31,7 +64,6 @@ var require_utils = __commonJS({ endColumn: annotationProperties.endColumn }; } - exports2.toCommandProperties = toCommandProperties; } }); @@ -44,12 +76,16 @@ var require_command = __commonJS({ (Object.create ? function (o, m, k, k2) { if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[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; @@ -66,28 +102,39 @@ var require_command = __commonJS({ }); 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; - }; + /* @__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; + }; + })(); Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.issue = exports2.issueCommand = void 0; + exports2.issueCommand = issueCommand; + exports2.issue = issue; 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 = '') { issueCommand(name, {}, message); } - exports2.issue = issue; var CMD_STRING = '::'; var Command = class { constructor(command, properties, message) { @@ -122,11 +169,10 @@ var require_command = __commonJS({ } }; function escapeData(s) { - return utils_1.toCommandValue(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A'); + return (0, utils_1.toCommandValue)(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A'); } function escapeProperty(s) { - return utils_1 - .toCommandValue(s) + return (0, utils_1.toCommandValue)(s) .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A') @@ -136,518 +182,6 @@ var require_command = __commonJS({ } }); -// 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/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/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/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)); - } - 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/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 }; - } - 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/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 parse(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 = parse; - exports2.default = _default; - } -}); - -// 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/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/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/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/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/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/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/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/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) { @@ -657,12 +191,16 @@ var require_file_command = __commonJS({ (Object.create ? function (o, m, k, k2) { if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[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; @@ -679,20 +217,33 @@ var require_file_command = __commonJS({ }); 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; - }; + /* @__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; + }; + })(); Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0; + exports2.issueFileCommand = issueFileCommand; + exports2.prepareKeyValueMessage = prepareKeyValueMessage; + var crypto = __importStar(require('crypto')); var fs2 = __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}`]; @@ -702,14 +253,13 @@ var require_file_command = __commonJS({ if (!fs2.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs2.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + fs2.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os.EOL}`, { encoding: 'utf8' }); } - exports2.issueFileCommand = issueFileCommand; function prepareKeyValueMessage(key, value) { - const delimiter = `ghadelimiter_${uuid_1.v4()}`; - const convertedValue = utils_1.toCommandValue(value); + const delimiter = `ghadelimiter_${crypto.randomUUID()}`; + const convertedValue = (0, utils_1.toCommandValue)(value); if (key.includes(delimiter)) { throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); } @@ -718,7 +268,6 @@ var require_file_command = __commonJS({ } return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; } - exports2.prepareKeyValueMessage = prepareKeyValueMessage; } }); @@ -727,7 +276,8 @@ var require_proxy = __commonJS({ 'node_modules/@actions/http-client/lib/proxy.js'(exports2) { 'use strict'; Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.checkBypass = exports2.getProxyUrl = void 0; + exports2.getProxyUrl = getProxyUrl; + exports2.checkBypass = checkBypass; function getProxyUrl(reqUrl) { const usingSsl = reqUrl.protocol === 'https:'; if (checkBypass(reqUrl)) { @@ -741,16 +291,23 @@ var require_proxy = __commonJS({ } })(); if (proxyVar) { - return new URL(proxyVar); + try { + return new DecodedURL(proxyVar); + } catch (_a) { + if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) return new DecodedURL(`http://${proxyVar}`); + } } else { return void 0; } } - exports2.getProxyUrl = getProxyUrl; function checkBypass(reqUrl) { if (!reqUrl.hostname) { return false; } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; if (!noProxy) { return false; @@ -771,13 +328,42 @@ var require_proxy = __commonJS({ .split(',') .map(x => x.trim().toUpperCase()) .filter(x => x)) { - if (upperReqHosts.some(x => x === upperNoProxyItem)) { + if ( + upperNoProxyItem === '*' || + upperReqHosts.some( + x => + x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && x.endsWith(`${upperNoProxyItem}`)) + ) + ) { return true; } } return false; } - exports2.checkBypass = checkBypass; + function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return ( + hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]') + ); + } + var DecodedURL = class extends URL { + constructor(url, base) { + super(url, base); + this._decodedUsername = decodeURIComponent(super.username); + this._decodedPassword = decodeURIComponent(super.password); + } + get username() { + return this._decodedUsername; + } + get password() { + return this._decodedPassword; + } + }; } }); @@ -1010,13541 +596,22303 @@ var require_tunnel2 = __commonJS({ } }); -// node_modules/@actions/http-client/lib/index.js -var require_lib = __commonJS({ - 'node_modules/@actions/http-client/lib/index.js'(exports2) { +// 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/undici/lib/core/errors.js +var require_errors = __commonJS({ + 'node_modules/undici/lib/core/errors.js'(exports2, module2) { '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 __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); - } - 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 = {}))); - var 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 getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; - } - exports2.getProxyUrl = getProxyUrl; - var HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect - ]; - var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; - var RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; - var ExponentialBackoffCeiling = 10; - var ExponentialBackoffTimeSlice = 5; - var HttpClientError = class extends Error { - constructor(message, statusCode) { + var kUndiciError = Symbol.for('undici.error.UND_ERR'); + var UndiciError = class extends Error { + constructor(message) { super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); + this.name = 'UndiciError'; + this.code = 'UND_ERR'; } + static [Symbol.hasInstance](instance) { + return instance && instance[kUndiciError] === true; + } + [kUndiciError] = true; }; - exports2.HttpClientError = HttpClientError; - var HttpClientResponse = class { + var kConnectTimeoutError = Symbol.for('undici.error.UND_ERR_CONNECT_TIMEOUT'); + var ConnectTimeoutError = class extends UndiciError { constructor(message) { - this.message = message; + super(message); + this.name = 'ConnectTimeoutError'; + this.message = message || 'Connect Timeout Error'; + this.code = 'UND_ERR_CONNECT_TIMEOUT'; } - 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()); - }); - }) - ); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kConnectTimeoutError] === true; } + [kConnectTimeoutError] = true; }; - exports2.HttpClientResponse = HttpClientResponse; - function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; - } - exports2.isHttps = isHttps; - var HttpClient = class { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - 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; - } - } + 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'; } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersTimeoutError] === true; } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - }); + [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'; } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersOverflowError] === true; } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - }); + [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'; } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kBodyTimeoutError] === true; } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - }); + [kBodyTimeoutError] = true; + }; + var kResponseStatusCodeError = Symbol.for('undici.error.UND_ERR_RESPONSE_STATUS_CODE'); + var ResponseStatusCodeError = class extends UndiciError { + constructor(message, statusCode, headers, body2) { + super(message); + this.name = 'ResponseStatusCodeError'; + this.message = message || 'Response Status Code Error'; + this.code = 'UND_ERR_RESPONSE_STATUS_CODE'; + this.body = body2; + this.status = statusCode; + this.statusCode = statusCode; + this.headers = headers; } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseStatusCodeError] === true; } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); + [kResponseStatusCodeError] = true; + }; + 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'; } - getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidArgumentError] === true; } - postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.ContentType, - MediaTypes.ApplicationJson - ); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + [kInvalidArgumentError] = true; + }; + 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'; } - putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.ContentType, - MediaTypes.ApplicationJson - ); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidReturnValueError] === true; } - patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.ContentType, - MediaTypes.ApplicationJson - ); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + [kInvalidReturnValueError] = true; + }; + 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'; } - request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; - let numTries = 0; - let response; - do { - response = yield this.requestRaw(info, data); - if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (const handler of this.handlers) { - if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; - } - } - 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; - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kAbortError] === true; } - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; + [kAbortError] = true; + }; + 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'; } - requestRaw(info, data) { - return __awaiter(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); - }); - }); + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestAbortedError] === true; } - 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); - } + [kRequestAbortedError] = true; + }; + 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; + } + [kInformationalError] = true; + }; + 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'; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestContentLengthMismatchError] === true; + } + [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; + }; + 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'; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kClientDestroyedError] === true; + } + [kClientDestroyedError] = true; + }; + 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; + }; + 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; + }; + 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/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/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 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'); + const code = (this.code = key.charCodeAt(index)); + if (code > 127) { + throw new TypeError('key must be ascii string'); } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); + if (key.length !== ++index) { + this.middle = new _TstNode(key, value, index); } else { - req.end(); + this.value = value; } } - getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - _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; + /** + * @param {string} key + * @param {any} value + */ + add(key, value) { + const length = key.length; + if (length === 0) { + throw new TypeError('Unreachable'); } - info.options.agent = this._getAgent(info.parsedUrl); - if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); + 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 { + node.middle = new _TstNode(key, value, index); + break; + } + } else if (node.code < code) { + if (node.left !== null) { + node = node.left; + } else { + 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; } } - return info; } - _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + /** + * @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 lowercaseKeys(headers || {}); + return null; } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + }; + 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 additionalHeaders[header] || clientHeader || _default; } - _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - if (agent) { - return agent; + /** + * @param {Uint8Array} key + * @return {any} + */ + lookup(key) { + return this.node?.search(key)?.value ?? null; + } + }; + 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 + }; + } +}); + +// 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(body2) { + this[kBody] = body2; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], 'disturbed'); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + function wrapRequestBody(body2) { + if (isStream(body2)) { + if (bodyLength(body2) === 0) { + body2.on('data', function () { + assert(false); + }); } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + if (typeof body2.readableDidRead !== 'boolean') { + body2[kBodyUsed] = false; + EE.prototype.on.call(body2, 'data', function () { + this[kBodyUsed] = true; + }); } - 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; + return body2; + } else if (body2 && typeof body2.pipeTo === 'function') { + return new BodyAsyncIterable(body2); + } else if (body2 && typeof body2 !== 'string' && !ArrayBuffer.isView(body2) && isIterable(body2)) { + return new BodyAsyncIterable(body2); + } else { + return body2; + } + } + function nop() {} + function isStream(obj) { + 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') { + 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')) + ); + } + } + function buildURL(url, queryParams) { + 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; + } + return url; + } + 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:`.'); } - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; + return url; + } + 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 (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; + if (url.path != null && typeof url.path !== 'string') { + throw new InvalidArgumentError('Invalid URL path: the path must be a string or null/undefined.'); } - if (usingSsl && this._ignoreSslError) { - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); + if (url.pathname != null && typeof url.pathname !== 'string') { + throw new InvalidArgumentError('Invalid URL pathname: the pathname must be a string or null/undefined.'); } - return agent; + 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 (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + 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] === '/') { + origin = origin.slice(0, origin.length - 1); + } + if (path && path[0] !== '/') { + path = `/${path}`; + } + return new URL(`${origin}${path}`); } - _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - }); + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.'); } - _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 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); - } - }) - ); - }); + return url; + } + function parseOrigin(url) { + url = parseURL(url); + if (url.pathname !== '/' || url.search || url.hash) { + throw new InvalidArgumentError('invalid url'); } - }; - exports2.HttpClient = HttpClient; - var lowercaseKeys = 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); - } - } - 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; - this.password = password; + return url; + } + 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; } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + assert(typeof host === 'string'); + const servername = getHostname(host); + if (net.isIP(servername)) { + return ''; } - canHandleAuthentication() { - return false; + 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(body2) { + if (body2 == null) { + return 0; + } else if (isStream(body2)) { + const state = body2._readableState; + return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; + } else if (isBlobLike(body2)) { + return body2.size != null ? body2.size : null; + } else if (isBuffer(body2)) { + return body2.byteLength; } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); + return null; + } + function isDestroyed(body2) { + return body2 && !!(body2.destroyed || body2[kDestroyed] || stream.isDestroyed?.(body2)); + } + 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); }); } - }; - exports2.BasicCredentialHandler = BasicCredentialHandler; - var BearerCredentialHandler = class { - constructor(token2) { - this.token = token2; + if (stream2.destroyed !== true) { + stream2[kDestroyed] = true; } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + } + 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 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 { + 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'); + } } - options.headers['Authorization'] = `Bearer ${this.token}`; } - canHandleAuthentication() { - return false; + if ('content-length' in obj && 'content-disposition' in obj) { + obj['content-disposition'] = Buffer.from(obj['content-disposition']).toString('latin1'); } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + return obj; + } + 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; } - }; - exports2.BearerCredentialHandler = BearerCredentialHandler; - var PersonalAccessTokenCredentialHandler = class { - constructor(token2) { - this.token = token2; + if (hasContentLength && contentDispositionIdx !== -1) { + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1'); } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + return ret; + } + function isBuffer(buffer) { + 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'); } - canHandleAuthentication() { - return false; + if (typeof handler2.onConnect !== 'function') { + throw new InvalidArgumentError('invalid onConnect method'); } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + if (typeof handler2.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method'); } - }; - exports2.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; - } -}); - -// 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); - }); + 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'); } - 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); + } else { + 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'); + } + } + } + function isDisturbed(body2) { + return !!(body2 && (stream.isDisturbed(body2) || body2[kBodyUsed])); + } + function isErrored(body2) { + return !!(body2 && stream.isErrored(body2)); + } + function isReadable(body2) { + return !!(body2 && stream.isReadable(body2)); + } + 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)); } } - 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(); - var core_1 = require_core(); - var OidcClient = class { - static createHttpClient(allowRetry = true, maxRetry = 10) { - const requestOptions = { - allowRetries: allowRetry, - maxRetries: maxRetry - }; - return new http_client_1.HttpClient( - 'actions/oidc-client', - [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], - requestOptions - ); + return 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' + ); + } + function addAbortListener(signal, listener) { + if ('addEventListener' in signal) { + signal.addEventListener('abort', listener, { once: true }); + return () => signal.removeEventListener('abort', listener); } - static getRequestToken() { - const token2 = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; - if (!token2) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); - } - return token2; + 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; + default: + return c >= 33 && c <= 126; } - static getIDTokenUrl() { - const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; - if (!runtimeUrl) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; + } + for (let i = 0; i < characters.length; ++i) { + if (!isTokenCharCode(characters.charCodeAt(i))) { + return false; } - return runtimeUrl; } - static getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const httpclient = OidcClient.createHttpClient(); - const res = yield httpclient.getJson(id_token_url).catch(error => { - throw new Error(`Failed to get ID Token. - - Error Code : ${error.statusCode} - - Error Message: ${error.result.message}`); - }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; - if (!id_token) { - throw new Error('Response json body do not have ID Token field'); + return true; + } + 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 } - return id_token; - }); + : 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); } - static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { - try { - let id_token_url = OidcClient.getIDTokenUrl(); - if (audience) { - const encodedAudience = encodeURIComponent(audience); - id_token_url = `${id_token_url}&audience=${encodedAudience}`; - } - core_1.debug(`ID token url is ${id_token_url}`); - const id_token = yield OidcClient.getCall(id_token_url); - core_1.setSecret(id_token); - return id_token; - } catch (error) { - throw new Error(`Error message: ${error.message}`); - } + obj[kListeners] = null; + } + function errorRequest(client, request2, err) { + try { + request2.onError(err); + assert(request2.aborted); + } catch (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' + }; + var normalizedMethodRecords = { + ...normalizedMethodRecordsBase, + patch: 'patch', + PATCH: 'PATCH' + }; + 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 + }; + } +}); + +// 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); }); } + 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 }; - exports2.OidcClient = OidcClient; } }); -// node_modules/@actions/core/lib/summary.js -var require_summary = __commonJS({ - 'node_modules/@actions/core/lib/summary.js'(exports2) { +// node_modules/undici/lib/core/request.js +var require_request = __commonJS({ + 'node_modules/undici/lib/core/request.js'(exports2, module2) { '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); - }); + 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: body2, + 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'); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + 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'); + } + if (upgrade && typeof upgrade !== 'string') { + throw new InvalidArgumentError('upgrade must be a string'); + } + if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError('invalid headersTimeout'); + } + if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError('invalid bodyTimeout'); + } + if (reset != null && typeof reset !== 'boolean') { + throw new InvalidArgumentError('invalid reset'); + } + if (expectContinue != null && typeof expectContinue !== 'boolean') { + throw new InvalidArgumentError('invalid expectContinue'); + } + this.headersTimeout = headersTimeout; + this.bodyTimeout = bodyTimeout; + this.throwOnError = throwOnError === true; + this.method = method; + this.abort = null; + if (body2 == null) { + this.body = null; + } else if (isStream(body2)) { + this.body = body2; + const rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + destroy(this); + }; + this.body.on('end', this.endHandler); } - function rejected(value) { - try { - step(generator['throw'](value)); - } catch (e) { - reject(e); + this.errorHandler = err => { + if (this.abort) { + this.abort(err); + } else { + this.error = err; } + }; + this.body.on('error', this.errorHandler); + } else if (isBuffer(body2)) { + this.body = body2.byteLength ? body2 : null; + } else if (ArrayBuffer.isView(body2)) { + this.body = body2.buffer.byteLength ? Buffer.from(body2.buffer, body2.byteOffset, body2.byteLength) : null; + } else if (body2 instanceof ArrayBuffer) { + this.body = body2.byteLength ? Buffer.from(body2) : null; + } else if (typeof body2 === 'string') { + this.body = body2.length ? Buffer.from(body2) : null; + } else if (isFormDataLike(body2) || isIterable(body2) || isBlobLike(body2)) { + this.body = body2; + } else { + throw new InvalidArgumentError('body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable'); + } + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? 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'); } - 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 { 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'; - var Summary = class { - constructor() { - this._buffer = ''; - } - filePath() { - return __awaiter(this, void 0, void 0, function* () { - if (this._filePath) { - return this._filePath; + for (let i = 0; i < headers.length; i += 2) { + processHeader(this, headers[i], headers[i + 1]); } - 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.` - ); + } 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 }); + } + } + onBodySent(chunk) { + if (this[kHandler].onBodySent) { 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.` - ); + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); } - this._filePath = pathFromEnv; - return this._filePath; - }); + } } - wrap(tag2, content, attrs = {}) { - const htmlAttrs = Object.entries(attrs) - .map(([key, value]) => ` ${key}="${value}"`) - .join(''); - if (!content) { - return `<${tag2}${htmlAttrs}>`; + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); + } + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); + } } - return `<${tag2}${htmlAttrs}>${content}`; } - write(options) { - return __awaiter(this, void 0, void 0, function* () { - const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - const filePath = yield this.filePath(); - const writeFunc = overwrite ? writeFile : appendFile; - yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); - return this.emptyBuffer(); - }); + onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); + } else { + this.abort = abort; + return this[kHandler].onConnect(abort); + } } - clear() { - return __awaiter(this, void 0, void 0, function* () { - return this.emptyBuffer().write({ overwrite: true }); - }); + onResponseStarted() { + return this[kHandler].onResponseStarted?.(); } - stringify() { - return this._buffer; + onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + } + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); + } } - isEmptyBuffer() { - return this._buffer.length === 0; + onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); + return false; + } } - emptyBuffer() { - this._buffer = ''; - return this; + 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 }); + } + try { + return this[kHandler].onComplete(trailers); + } catch (err) { + this.onError(err); + } } - addRaw(text, addEOL = false) { - this._buffer += text; - return addEOL ? this.addEOL() : this; + onError(error) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error }); + } + if (this.aborted) { + return; + } + this.aborted = true; + return this[kHandler].onError(error); } - addEOL() { - return this.addRaw(os_1.EOL); + onFinally() { + if (this.errorHandler) { + this.body.off('error', this.errorHandler); + this.errorHandler = null; + } + if (this.endHandler) { + this.body.off('end', this.endHandler); + this.endHandler = null; + } } - addCodeBlock(code, lang) { - const attrs = Object.assign({}, lang && { lang }); - const element = this.wrap('pre', this.wrap('code', code), attrs); - return this.addRaw(element).addEOL(); + addHeader(key, value) { + processHeader(this, key, value); + return this; } - addList(items, ordered = false) { - const tag2 = ordered ? 'ol' : 'ul'; - const listItems = items.map(item => this.wrap('li', item)).join(''); - const element = this.wrap(tag2, listItems); - return this.addRaw(element).addEOL(); + }; + 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; } - 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 tag2 = header ? 'th' : 'td'; - const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); - return this.wrap(tag2, data, attrs); - }) - .join(''); - return this.wrap('tr', cells); - }) - .join(''); - const element = this.wrap('table', tableBody); - return this.addRaw(element).addEOL(); + let headerName = headerNameLowerCasedRecord[key]; + if (headerName === void 0) { + headerName = key.toLowerCase(); + if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) { + throw new InvalidArgumentError('invalid header key'); + } } - addDetails(label, content) { - const element = this.wrap('details', this.wrap('summary', label) + content); - return this.addRaw(element).addEOL(); + 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 { + arr.push(`${val[i]}`); + } + } + val = arr; + } else if (typeof val === 'string') { + if (!isValidHeaderValue(val)) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + } else if (val === null) { + val = ''; + } else { + val = `${val}`; } - addImage(src, alt, options) { - const { width, height } = options || {}; - const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); - const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); - return this.addRaw(element).addEOL(); + 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') { + request2.contentLength = parseInt(val, 10); + if (!Number.isFinite(request2.contentLength)) { + throw new InvalidArgumentError('invalid content-length header'); + } + } 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'); + } + if (value === 'close') { + request2.reset = true; + } + } else if (headerName === 'expect') { + throw new NotSupportedError('expect header not supported'); + } else { + request2.headers.push(key, val); } - addHeading(text, level) { - const tag2 = `h${level}`; - const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag2) ? tag2 : 'h1'; - const element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); + } + 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); } - addSeparator() { - const element = this.wrap('hr', null); - return this.addRaw(element).addEOL(); + }; + var ComposedDispatcher = class extends Dispatcher { + #dispatcher = null; + #dispatch = null; + constructor(dispatcher, dispatch) { + super(); + this.#dispatcher = dispatcher; + this.#dispatch = dispatch; } - addBreak() { - const element = this.wrap('br', null); - return this.addRaw(element).addEOL(); + dispatch(...args) { + this.#dispatch(...args); } - addQuote(text, cite) { - const attrs = Object.assign({}, cite && { cite }); - const element = this.wrap('blockquote', text, attrs); - return this.addRaw(element).addEOL(); + close(...args) { + return this.#dispatcher.close(...args); } - addLink(text, href) { - const element = this.wrap('a', text, { href }); - return this.addRaw(element).addEOL(); + destroy(...args) { + return this.#dispatcher.destroy(...args); } }; - var _summary = new Summary(); - exports2.markdownSummary = _summary; - exports2.summary = _summary; + module2.exports = Dispatcher; } }); -// node_modules/@actions/core/lib/path-utils.js -var require_path_utils = __commonJS({ - 'node_modules/@actions/core/lib/path-utils.js'(exports2) { +// 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 __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]; - } - }); + 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'); + } } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; + } + this[kInterceptors] = newInterceptors; + } + close(callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve(data); + }); }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + if (this[kDestroyed]) { + queueMicrotask(() => callback(new ClientDestroyedError(), null)); + return; + } + if (this[kClosed]) { + if (this[kOnClosed]) { + this[kOnClosed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); } - : function (o, v) { - o['default'] = v; + return; + } + 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); }); - 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); + } + destroy(err, callback) { + if (typeof err === 'function') { + callback = err; + err = null; } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; - var path = __importStar(require('path')); - function toPosixPath(pth) { - return pth.replace(/[\\]/g, '/'); - } - exports2.toPosixPath = toPosixPath; - function toWin32Path(pth) { - return pth.replace(/[/]/g, '\\'); + 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 (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + if (this[kDestroyed]) { + if (this[kOnDestroyed]) { + this[kOnDestroyed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } + return; + } + if (!err) { + err = new ClientDestroyedError(); + } + 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); + }); + } + [kInterceptedDispatch](opts, handler2) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler2); + } + let dispatch = this[kDispatch].bind(this); + for (let i = this[kInterceptors].length - 1; i >= 0; i--) { + dispatch = this[kInterceptors][i](dispatch); + } + this[kInterceptedDispatch] = dispatch; + return dispatch(opts, handler2); + } + 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; + } + } + }; + module2.exports = DispatcherBase; + } +}); + +// 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; + } + } + fastTimers.length = len; + if (fastTimers.length !== 0) { + refreshTimeout(); + } } - exports2.toWin32Path = toWin32Path; - function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path.sep); + function refreshTimeout() { + if (fastNowTimeout) { + fastNowTimeout.refresh(); + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTick, TICK_MS); + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); + } + } } - exports2.toPlatformPath = toPlatformPath; + 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(); + } + /** + * 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; + } + /** + * The `clear` method cancels the timer, preventing it from executing. + * + * @returns {void} + * @private + */ + clear() { + this._state = TO_BE_CLEARED; + this._idleStart = -1; + } + }; + module2.exports = { + /** + * 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); + }, + /** + * 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 { + clearTimeout(timeout); + } + }, + /** + * 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} + */ + setFastTimeout(callback, delay, arg) { + return new FastTimer(callback, delay, arg); + }, + /** + * The clearTimeout method cancels an instantiated FastTimer previously + * created by calling setFastTimeout. + * + * @param {FastTimer} timeout + */ + clearFastTimeout(timeout) { + timeout.clear(); + }, + /** + * The now method returns the value of the internal fast timer clock. + * + * @returns {number} + */ + now() { + return fastNow; + }, + /** + * 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. + */ + tick(delay = 0) { + fastNow += delay - RESOLUTION_MS + 1; + onTick(); + onTick(); + }, + /** + * Reset FastTimers. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + */ + reset() { + fastNow = 0; + fastTimers.length = 0; + clearTimeout(fastNowTimeout); + fastNowTimeout = null; + }, + /** + * Exporting for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + */ + kFastTimer + }; } }); -// node_modules/@actions/core/lib/core.js -var require_core = __commonJS({ - 'node_modules/@actions/core/lib/core.js'(exports2) { +// node_modules/undici/lib/core/connect.js +var require_connect = __commonJS({ + 'node_modules/undici/lib/core/connect.js'(exports2, module2) { '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 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); + } }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); + } + get(sessionKey) { + const ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; } - : 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); + this._sessionCache.set(sessionKey, new WeakRef(session)); + this._sessionRegistry.register(session, sessionKey); } - __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); - }); + } else { + SessionCache = class SimpleSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; } - function rejected(value) { - try { - step(generator['throw'](value)); - } catch (e) { - reject(e); - } + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: oldestKey } = this._sessionCache.keys().next(); + this._sessionCache.delete(oldestKey); } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + this._sessionCache.set(sessionKey, session); + } + }; + } + 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'); + } + const options = { path: socketPath, ...opts }; + const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); + timeout = timeout == null ? 1e4 : timeout; + allowH2 = allowH2 != null ? allowH2 : false; + return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { + let socket; + if (protocol === 'https:') { + if (!tls) { + tls = require('node:tls'); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); + servername = servername || options.servername || util.getServerName(host) || null; + const sessionKey = servername || hostname; + assert(sessionKey); + const session = customSession || sessionCache.get(sessionKey) || null; + port = port || 443; + socket = tls.connect({ + highWaterMark: 16384, + // TLS in node can't have bigger HWM anyway... + ...options, + servername, + session, + localAddress, + // TODO(HTTP/2): Add support for h2c + ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'], + socket: httpSocket, + // upgrade socket connection + port, + host: hostname + }); + socket.on('session', function (session2) { + sessionCache.set(sessionKey, session2); + }); + } else { + assert(!httpSocket, 'httpSocket can only be sent on TLS update'); + port = port || 80; + socket = net.connect({ + highWaterMark: 64 * 1024, + // Same as nodejs fs streams. + ...options, + localAddress, + port, + host: hostname + }); + } + if (options.keepAlive == null || options.keepAlive) { + const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; + 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); + } + }); + 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); + }; + }; + function onConnectTimeout(socket, opts) { + if (socket == null) { + return; + } + 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)); + } + 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.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 = + 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; + } + 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 command_1 = require_command(); - var file_command_1 = require_file_command(); - var utils_1 = require_utils(); - var os = __importStar(require('os')); - var path = __importStar(require('path')); - var oidc_utils_1 = require_oidc_utils(); - var ExitCode; - (function (ExitCode2) { - ExitCode2[(ExitCode2['Success'] = 0)] = 'Success'; - ExitCode2[(ExitCode2['Failure'] = 1)] = 'Failure'; - })((ExitCode = exports2.ExitCode || (exports2.ExitCode = {}))); - function exportVariable(name, val) { - const convertedVal = utils_1.toCommandValue(val); - process.env[name] = convertedVal; - const filePath = process.env['GITHUB_ENV'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + 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]; } - command_1.issueCommand('set-env', { name }, convertedVal); + }); + 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.exportVariable = exportVariable; - function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); + 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.setSecret = setSecret; - function addPath(inputPath) { - const filePath = process.env['GITHUB_PATH'] || ''; - if (filePath) { - file_command_1.issueFileCommand('PATH', inputPath); - } else { - command_1.issueCommand('add-path', {}, inputPath); + 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); } - 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()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); + 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+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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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+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; } - if (options && options.trimWhitespace === false) { - return val; + const parsedURL = new URL(newOrigin); + if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { + throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); } - return val.trim(); + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); } - exports2.getInput = getInput; - function getMultilineInput(name, options) { - const inputs = getInput(name, options) - .split('\n') - .filter(x => x !== ''); - if (options && options.trimWhitespace === false) { - return inputs; + 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'; } - return inputs.map(input => input.trim()); - } - exports2.getMultilineInput = getMultilineInput; - function getBooleanInput(name, options) { - 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; - 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'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + position.position++; + const encodedBody = input.slice(mimeTypeLength + 1); + let body2 = stringPercentDecode(encodedBody); + if (/;(\u0020){0,}base64$/i.test(mimeType)) { + const stringBody = isomorphicDecode(body2); + body2 = forgivingBase64(stringBody); + if (body2 === 'failure') { + return 'failure'; + } + mimeType = mimeType.slice(0, -6); + mimeType = mimeType.replace(/(\u0020)+$/, ''); + mimeType = mimeType.slice(0, -1); } - process.stdout.write(os.EOL); - command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); - } - exports2.setOutput = setOutput; - function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); + 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: body2 }; } - exports2.setCommandEcho = setCommandEcho; - function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); + 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; } - exports2.setFailed = setFailed; - function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; + function collectASequenceOfCodePoints(condition, input, position) { + let result = ''; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; + } + return result; } - exports2.isDebug = isDebug; - function debug(message) { - command_1.issueCommand('debug', {}, message); + 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); } - exports2.debug = debug; - function error(message, properties = {}) { - command_1.issueCommand( - 'error', - utils_1.toCommandProperties(properties), - message instanceof Error ? message.toString() : message - ); + function stringPercentDecode(input) { + const bytes = encoder.encode(input); + return percentDecode(bytes); } - exports2.error = error; - function warning(message, properties = {}) { - command_1.issueCommand( - 'warning', - utils_1.toCommandProperties(properties), - message instanceof Error ? message.toString() : message - ); + function isHexCharByte(byte) { + return (byte >= 48 && byte <= 57) || (byte >= 65 && byte <= 70) || (byte >= 97 && byte <= 102); } - exports2.warning = warning; - function notice(message, properties = {}) { - command_1.issueCommand( - 'notice', - utils_1.toCommandProperties(properties), - message instanceof Error ? message.toString() : message + function hexByteToNumber(byte) { + return ( + // 0-9 + byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55 ); } - exports2.notice = notice; - function info(message) { - process.stdout.write(message + os.EOL); + 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 length === j ? output : output.subarray(0, j); } - exports2.info = info; - function startGroup(name) { - command_1.issue('group', name); + 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; + } + position.position++; + } + if (position.position > input.length) { + break; + } + let parameterValue = null; + if (input[position.position] === '"') { + parameterValue = collectAnHTTPQuotedString(input, position, true); + collectASequenceOfCodePointsFast(';', input, position); + } else { + 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) + ) { + mimeType.parameters.set(parameterName, parameterValue); + } + } + return mimeType; } - exports2.startGroup = startGroup; - function endGroup() { - command_1.issue('endgroup'); + 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; + } + } + } + if (dataLength % 4 === 1) { + return 'failure'; + } + 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); } - exports2.endGroup = endGroup; - function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } finally { - endGroup(); + 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; } - return result; - }); + const quoteOrBackslash = input[position.position]; + position.position++; + if (quoteOrBackslash === '\\') { + if (position.position >= input.length) { + value += '\\'; + break; + } + value += input[position.position]; + position.position++; + } else { + assert(quoteOrBackslash === '"'); + break; + } + } + if (extractValue) { + return value; + } + return input.slice(positionStart, position.position); } - exports2.group = group; - function saveState(name, value) { - const filePath = process.env['GITHUB_STATE'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + 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; } - command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); + return serialization; } - exports2.saveState = saveState; - function getState(name) { - return process.env[`STATE_${name}`] || ''; + function isHTTPWhiteSpace(char) { + return char === 13 || char === 10 || char === 9 || char === 32; } - exports2.getState = getState; - function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { - return yield oidc_utils_1.OidcClient.getIDToken(aud); - }); + function removeHTTPWhitespace(str, leading = true, trailing = true) { + return removeChars(str, leading, trailing, isHTTPWhiteSpace); } - exports2.getIDToken = getIDToken; - var summary_1 = require_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; - } - }); - var path_utils_1 = require_path_utils(); - Object.defineProperty(exports2, 'toPosixPath', { - enumerable: true, - get: function () { - return path_utils_1.toPosixPath; + 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++; } - }); - Object.defineProperty(exports2, 'toWin32Path', { - enumerable: true, - get: function () { - return path_utils_1.toWin32Path; + if (trailing) { + while (trail > 0 && predicate(str.charCodeAt(trail))) trail--; } - }); - Object.defineProperty(exports2, 'toPlatformPath', { - enumerable: true, - get: function () { - return path_utils_1.toPlatformPath; + return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1); + } + 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; + } + 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 ''; + } + module2.exports = { + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType, + removeChars, + removeHTTPWhitespace, + minimizeSupportedMimeType, + HTTP_TOKEN_CODEPOINTS, + isomorphicDecode + }; } }); -// node_modules/@actions/github/lib/context.js -var require_context = __commonJS({ - 'node_modules/@actions/github/lib/context.js'(exports2) { +// node_modules/undici/lib/web/fetch/webidl.js +var require_webidl = __commonJS({ + 'node_modules/undici/lib/web/fetch/webidl.js'(exports2, module2) { '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 { - constructor() { - 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' })); - } else { - const path = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + 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 (context) { + const plural = context.types.length === 1 ? '' : ' one of'; + const message = `${context.argument} could not be converted to${plural}: ${context.types.join(', ')}.`; + return webidl.errors.exception({ + header: context.prefix, + message + }); + }; + webidl.errors.invalidArgument = function (context) { + return webidl.errors.exception({ + header: context.prefix, + message: `"${context.value}" is an invalid ${context.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; + } + } else { + if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) { + const err = new TypeError('Illegal invocation'); + err.code = 'ERR_INVALID_THIS'; + throw err; + } + } + }; + 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 + }); + } + }; + 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'; } - this.eventName = process.env.GITHUB_EVENT_NAME; - this.sha = process.env.GITHUB_SHA; - this.ref = process.env.GITHUB_REF; - this.workflow = process.env.GITHUB_WORKFLOW; - this.action = process.env.GITHUB_ACTION; - this.actor = process.env.GITHUB_ACTOR; - this.job = process.env.GITHUB_JOB; - this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); - this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; - this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; - this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; } - get issue() { - const payload = this.payload; - return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + }; + 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 repo() { - if (process.env.GITHUB_REPOSITORY) { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); - return { owner, repo }; + 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); } - if (this.payload.repository) { - return { - owner: this.payload.repository.owner.login, - repo: this.payload.repository.name - }; + return x; + } + if (Number.isNaN(x) || (x === 0 && Object.is(0, x)) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + return 0; + } + x = webidl.util.IntegerPart(x); + x = x % Math.pow(2, bitLength); + if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) { + return x - Math.pow(2, bitLength); + } + return x; + }; + 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) { + 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}`; + } + }; + 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.` + }); } - throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + 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; + } + seq.push(converter(value, prefix, `${argument}[${index++}]`)); + } + 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.` + }); + } + 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; + } + 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; + } + } + 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.` + }); } + return String(V); }; - exports2.Context = Context; + 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.` + ); + } + } + 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'] + }); + } + if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }); + } + if (V.resizable || V.growable) { + throw webidl.errors.exception({ + 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) { + throw webidl.errors.conversionFailed({ + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, + types: [T.name] + }); + } + 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; + }; + 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.' + }); + } + 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 (types.isTypedArray(V)) { + return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false }); + } + if (types.isDataView(V)) { + return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false }); + } + 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; + } + 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 (location && !location.hash) { + location.hash = requestFragment; + } + 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'; + } + 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; + } + } + 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 (policy !== '') { + request2.referrerPolicy = policy; + } + } + 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: + } + 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 + }; + } + 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'; + } + 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 (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { + return 'no-referrer'; + } + return referrerOrigin; + } + case 'strict-origin': + case 'no-referrer-when-downgrade': + default: + 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'; + } + 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; + } + return false; + } + } + 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(body2, processBody, processBodyError) { + const successSteps = processBody; + const errorSteps = processBodyError; + let reader; + try { + reader = body2.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 body2; + { + const boundaryIndex = input.indexOf(boundary.subarray(2), position.position); + if (boundaryIndex === -1) { + return 'failure'; + } + body2 = input.subarray(position.position, boundaryIndex - 4); + position.position += body2.length; + if (encoding === 'base64') { + body2 = Buffer.from(body2.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([body2], filename, { type: contentType }); + } else { + value = utf8DecodeBytes(Buffer.from(body2)); + } + 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/gi, '\n').replace(/%0D/gi, '\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 body2 = { stream, source, length }; + return [body2, 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, body2) { + const [out1, out2] = body2.stream.tee(); + body2.stream = out1; + return { + stream: out2, + length: body2.length, + source: body2.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 body2 = object[kState].body; + return body2 != null && (body2.stream.locked || util.isDisturbed(body2.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: body2, headers, contentLength } = request2; + const expectsPayload = + method === 'PUT' || + method === 'POST' || + method === 'PATCH' || + method === 'QUERY' || + method === 'PROPFIND' || + method === 'PROPPATCH'; + if (util.isFormDataLike(body2)) { + if (!extractBody) { + extractBody = require_body().extractBody; + } + const [bodyStream, contentType] = extractBody(body2); + if (request2.contentType == null) { + headers.push('content-type', contentType); + } + body2 = bodyStream.stream; + contentLength = bodyStream.length; + } else if (util.isBlobLike(body2) && request2.contentType == null && body2.type) { + headers.push('content-type', body2.type); + } + if (body2 && typeof body2.read === 'function') { + body2.read(0); + } + const bodyLength = util.bodyLength(body2); + 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(body2); + 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 (!body2 || bodyLength === 0) { + writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBuffer(body2)) { + writeBuffer(abort, body2, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBlobLike(body2)) { + if (typeof body2.stream === 'function') { + writeIterable(abort, body2.stream(), client, request2, socket, contentLength, header, expectsPayload); + } else { + writeBlob(abort, body2, client, request2, socket, contentLength, header, expectsPayload); + } + } else if (util.isStream(body2)) { + writeStream(abort, body2, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isIterable(body2)) { + writeIterable(abort, body2, client, request2, socket, contentLength, header, expectsPayload); + } else { + assert(false); + } + return true; + } + function writeStream(abort, body2, 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 (body2.resume) { + body2.resume(); + } + }; + const onClose = function () { + queueMicrotask(() => { + body2.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); + body2.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(body2, err); + } else { + util.destroy(body2); + } + }; + body2.on('data', onData).on('end', onFinished).on('error', onFinished).on('close', onClose); + if (body2.resume) { + body2.resume(); + } + socket.on('drain', onDrain).on('error', onFinished); + if (body2.errorEmitted ?? body2.errored) { + setImmediate(() => onFinished(body2.errored)); + } else if (body2.endEmitted ?? body2.readableEnded) { + setImmediate(() => onFinished(null)); + } + if (body2.closeEmitted ?? body2.closed) { + setImmediate(onClose); + } + } + function writeBuffer(abort, body2, client, request2, socket, contentLength, header, expectsPayload) { + try { + if (!body2) { + 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(body2)) { + assert(contentLength === body2.byteLength, 'buffer body must have content length'); + socket.cork(); + socket.write( + `${header}content-length: ${contentLength}\r +\r +`, + 'latin1' + ); + socket.write(body2); + socket.uncork(); + request2.onBodySent(body2); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + } + request2.onRequestSent(); + client[kResume](); + } catch (err) { + abort(err); + } + } + async function writeBlob(abort, body2, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength === body2.size, 'blob body must have content length'); + try { + if (contentLength != null && contentLength !== body2.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body2.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, body2, 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 body2) { + 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: body2 } = 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(body2, 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 (body2 && typeof body2.read === 'function') { + body2.read(0); + } + let contentLength = util.bodyLength(body2); + if (util.isFormDataLike(body2)) { + extractBody ??= require_body().extractBody; + const [bodyStream, contentType] = extractBody(body2); + headers['content-type'] = contentType; + body2 = 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(body2, 'no body must not have content length'); + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + } + session.ref(); + const shouldEndStream = method === 'GET' || method === 'HEAD' || body2 === 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 (!body2 || contentLength === 0) { + writeBuffer(abort, stream, null, client, request2, client[kSocket], contentLength, expectsPayload); + } else if (util.isBuffer(body2)) { + writeBuffer(abort, stream, body2, client, request2, client[kSocket], contentLength, expectsPayload); + } else if (util.isBlobLike(body2)) { + if (typeof body2.stream === 'function') { + writeIterable(abort, stream, body2.stream(), client, request2, client[kSocket], contentLength, expectsPayload); + } else { + writeBlob(abort, stream, body2, client, request2, client[kSocket], contentLength, expectsPayload); + } + } else if (util.isStream(body2)) { + writeStream(abort, client[kSocket], expectsPayload, stream, body2, client, request2, contentLength); + } else if (util.isIterable(body2)) { + writeIterable(abort, stream, body2, client, request2, client[kSocket], contentLength, expectsPayload); + } else { + assert(false); + } + } + } + function writeBuffer(abort, h2stream, body2, client, request2, socket, contentLength, expectsPayload) { + try { + if (body2 != null && util.isBuffer(body2)) { + assert(contentLength === body2.byteLength, 'buffer body must have content length'); + h2stream.cork(); + h2stream.write(body2); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(body2); + } + if (!expectsPayload) { + socket[kReset] = true; + } + request2.onRequestSent(); + client[kResume](); + } catch (error) { + abort(error); + } + } + function writeStream(abort, socket, expectsPayload, h2stream, body2, client, request2, contentLength) { + assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined'); + const pipe = pipeline(body2, 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, body2, client, request2, socket, contentLength, expectsPayload) { + assert(contentLength === body2.size, 'blob body must have content length'); + try { + if (contentLength != null && contentLength !== body2.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body2.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, body2, 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 body2) { + 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(body2) { + this[kBody] = body2; + 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: body2, resolve, stream, length } = consume2; + try { + if (type === 'text') { + resolve(chunksDecode(body2, length)); + } else if (type === 'json') { + resolve(JSON.parse(chunksDecode(body2, length))); + } else if (type === 'arrayBuffer') { + resolve(chunksConcat(body2, length).buffer); + } else if (type === 'blob') { + resolve(new Blob(body2, { type: stream[kContentType] })); + } else if (type === 'bytes') { + resolve(chunksConcat(body2, 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: body2, contentType, statusCode, statusMessage, headers }) { + assert(body2); + let chunks = []; + let length = 0; + try { + for await (const chunk of body2) { + 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: body2, 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(body2)) { + util.destroy(body2.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 = body2; + 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(body2)) { + body2.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, context) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this; + const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + 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 + }); + } + } + } + onData(chunk) { + return this.res.push(chunk); + } + onComplete(trailers) { + util.parseHeaders(trailers, this.trailers); + this.res.push(null); + } + onError(err) { + const { res, callback, body: body2, 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 (body2) { + this.body = null; + util.destroy(body2, 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: body2, 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(body2)) { + util.destroy(body2.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 = body2; + this.onInfo = onInfo || null; + this.throwOnError = throwOnError || false; + if (util.isStream(body2)) { + body2.on('error', err => { + this.onError(err); + }); + } + addSignal(this, signal); + } + onConnect(abort, context) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { factory, opaque, context, callback, responseHeaders } = this; + const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + 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 + }); + 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: body2 } = 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 (body2) { + this.body = null; + util.destroy(body2, 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: body2 } = this; + if (body2?.resume) { + body2.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: body2, req, res, ret, abort } = this; + if (!err && !ret._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (abort && err) { + abort(); + } + util.destroy(body2, err); + util.destroy(req, err); + util.destroy(res, err); + removeSignal(this); + callback(err); + } + }).on('prefinish', () => { + const { req } = this; + req.push(null); + }); + this.res = null; + addSignal(this, signal); + } + onConnect(abort, context) { + const { ret, res } = this; + if (this.reason) { + abort(this.reason); + return; + } + assert(!res, 'pipeline cannot be retried'); + assert(!ret.destroyed); + this.abort = abort; + this.context = context; + } + onHeaders(statusCode, rawHeaders, resume) { + const { opaque, handler: handler2, context } = 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 body2; + try { + this.handler = null; + const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + body2 = this.runInAsyncScope(handler2, null, { + statusCode, + headers, + opaque, + body: this.res, + context + }); + } catch (err) { + this.res.on('error', util.nop); + throw err; + } + if (!body2 || typeof body2.on !== 'function') { + throw new InvalidReturnValueError('expected Readable'); + } + body2 + .on('data', chunk => { + const { ret, body: body3 } = this; + if (!ret.push(chunk) && body3.pause) { + body3.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 = body2; + } + 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, context) { + 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 } = 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 + }); + } + 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, context) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context; + } + onHeaders() { + throw new SocketError('bad connect', null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context } = this; + removeSignal(this); + this.callback = null; + let headers = rawHeaders; + if (headers != null) { + headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + } + this.runInAsyncScope(callback, null, null, { + statusCode, + headers, + socket, + opaque, + context + }); + } + 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: body2, headers }) { + const pathMatch = matchValue(mockDispatch2.path, path); + const methodMatch = matchValue(mockDispatch2.method, method); + const bodyMatch = typeof mockDispatch2.body !== 'undefined' ? matchValue(mockDispatch2.body, body2) : 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: body2 }) => + typeof body2 !== 'undefined' ? matchValue(body2, 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: body2, headers, query } = opts; + return { + path, + method, + body: body2, + 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(body2) { + const buffers = []; + for await (const data of body2) { + 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 body2 = typeof _data === 'function' ? _data({ ...opts, headers: optsHeaders }) : _data; + if (isPromise(body2)) { + body2.then(newData => handleReply(mockDispatches, newData)); + return; + } + const responseData = getResponseData2(body2); + 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); + 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 body2 = extractBody(bytes); + const responseObject = fromInnerResponse(makeResponse({}), 'response'); + initializeResponse(responseObject, init, { body: body2[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(body2 = null, init = {}) { + webidl.util.markAsUncloneable(this); + if (body2 === kConstruct) { + return; + } + if (body2 !== null) { + body2 = webidl.converters.BodyInit(body2); + } + 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 (body2 != null) { + const [extractedBody, type] = extractBody(body2); + 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, body2) { + 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 (body2) { + if (nullBodyStatus.includes(response.status)) { + throw webidl.errors.exception({ + header: 'Response constructor', + message: `Invalid response status code ${response.status}` + }); + } + response[kState].body = body2.body; + if (body2.type != null && !response[kState].headersList.contains('content-type', true)) { + response[kState].headersList.append('content-type', body2.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 baseUrl = environmentSettingsObject.settingsObject.baseUrl; + let signal = null; + if (typeof input === 'string') { + this[kDispatcher] = init.dispatcher; + let parsedURL; + try { + parsedURL = new URL(input, baseUrl); + } 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, baseUrl); + } 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 fetch(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: body2, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); + if (socket) { + response = makeResponse({ status, statusText, headersList, socket }); + } else { + const iterator2 = body2[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: body2 }) { + 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) : body2, + 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, + 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_parse = __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_parse(); + 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 body2 = this.consume(this.#info.payloadLength); + if (isControlFrame(this.#info.opcode)) { + this.#loop = this.parseControlFrame(body2); + this.#state = parserStates.INFO; + } else { + if (!this.#info.compressed) { + this.#fragments.push(body2); + 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(body2, 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(body2) { + 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(body2); + 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 body3 = emptyBuffer; + if (this.#info.closeInfo.code) { + body3 = Buffer.allocUnsafe(2); + body3.writeUInt16BE(this.#info.closeInfo.code, 0); + } + const closeFrame = new WebsocketFrameSend(body3); + 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(body2); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body2 + }); + } + } + } else if (opcode === opcodes.PONG) { + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body2 + }); + } + } + 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 fetch(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/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; + 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 __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); + } + 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_proxy()); + var tunnel = __importStar(require_tunnel2()); + var undici_1 = require_undici(); + var HttpCodes; + (function (HttpCodes2) { + HttpCodes2[(HttpCodes2['OK'] = 200)] = 'OK'; + HttpCodes2[(HttpCodes2['MultipleChoices'] = 300)] = 'MultipleChoices'; + HttpCodes2[(HttpCodes2['MovedPermanently'] = 301)] = 'MovedPermanently'; + HttpCodes2[(HttpCodes2['ResourceMoved'] = 302)] = 'ResourceMoved'; + HttpCodes2[(HttpCodes2['SeeOther'] = 303)] = 'SeeOther'; + HttpCodes2[(HttpCodes2['NotModified'] = 304)] = 'NotModified'; + HttpCodes2[(HttpCodes2['UseProxy'] = 305)] = 'UseProxy'; + HttpCodes2[(HttpCodes2['SwitchProxy'] = 306)] = 'SwitchProxy'; + HttpCodes2[(HttpCodes2['TemporaryRedirect'] = 307)] = 'TemporaryRedirect'; + HttpCodes2[(HttpCodes2['PermanentRedirect'] = 308)] = 'PermanentRedirect'; + HttpCodes2[(HttpCodes2['BadRequest'] = 400)] = 'BadRequest'; + HttpCodes2[(HttpCodes2['Unauthorized'] = 401)] = 'Unauthorized'; + HttpCodes2[(HttpCodes2['PaymentRequired'] = 402)] = 'PaymentRequired'; + HttpCodes2[(HttpCodes2['Forbidden'] = 403)] = 'Forbidden'; + HttpCodes2[(HttpCodes2['NotFound'] = 404)] = 'NotFound'; + HttpCodes2[(HttpCodes2['MethodNotAllowed'] = 405)] = 'MethodNotAllowed'; + HttpCodes2[(HttpCodes2['NotAcceptable'] = 406)] = 'NotAcceptable'; + HttpCodes2[(HttpCodes2['ProxyAuthenticationRequired'] = 407)] = 'ProxyAuthenticationRequired'; + HttpCodes2[(HttpCodes2['RequestTimeout'] = 408)] = 'RequestTimeout'; + HttpCodes2[(HttpCodes2['Conflict'] = 409)] = 'Conflict'; + HttpCodes2[(HttpCodes2['Gone'] = 410)] = 'Gone'; + HttpCodes2[(HttpCodes2['TooManyRequests'] = 429)] = 'TooManyRequests'; + HttpCodes2[(HttpCodes2['InternalServerError'] = 500)] = 'InternalServerError'; + HttpCodes2[(HttpCodes2['NotImplemented'] = 501)] = 'NotImplemented'; + HttpCodes2[(HttpCodes2['BadGateway'] = 502)] = 'BadGateway'; + HttpCodes2[(HttpCodes2['ServiceUnavailable'] = 503)] = 'ServiceUnavailable'; + HttpCodes2[(HttpCodes2['GatewayTimeout'] = 504)] = 'GatewayTimeout'; + })(HttpCodes || (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 __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()); + }); + }) + ); + }); + } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise(resolve => + __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on('data', chunk => { + chunks.push(chunk); + }); + this.message.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + }) + ); + }); + } + }; + exports2.HttpClientResponse = HttpClientResponse; + function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; + } + var HttpClient = 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 __awaiter(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 || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(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 || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(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 || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(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 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 __awaiter(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 __awaiter(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 __awaiter(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 __awaiter(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 __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; + let numTries = 0; + let response; + 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 __awaiter(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 __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _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 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 = HttpClient; + var lowercaseKeys2 = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); } }); -// node_modules/@actions/github/lib/internal/utils.js -var require_utils2 = __commonJS({ - 'node_modules/@actions/github/lib/internal/utils.js'(exports2) { +// node_modules/@actions/http-client/lib/auth.js +var require_auth = __commonJS({ + 'node_modules/@actions/http-client/lib/auth.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]; - } - }); + 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 (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 rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); + } } - : 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; + 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.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'); + exports2.PersonalAccessTokenCredentialHandler = exports2.BearerCredentialHandler = exports2.BasicCredentialHandler = void 0; + var BasicCredentialHandler = class { + constructor(username, password) { + this.username = username; + this.password = password; } - 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; + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; } - if (typeof process === 'object' && 'version' in process) { - return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + // This handler cannot handle 401 + canHandleAuthentication() { + return false; } - 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)); - }; + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); } - 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; - }); - }; + }; + exports2.BasicCredentialHandler = BasicCredentialHandler; + var BearerCredentialHandler = class { + constructor(token2) { + this.token = token2; } - if (kind === 'error') { - hook = function (method, options) { - return Promise.resolve() - .then(method.bind(null, options)) - .catch(function (error) { - return orig(error, options); - }); - }; + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; } - 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; + // This handler cannot handle 401 + canHandleAuthentication() { + return false; } - var index = state.registry[name] - .map(function (registered) { - return registered.orig; - }) - .indexOf(method); - if (index === -1) { - return; + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); } - 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); - }); - } - function HookSingular() { - var singularHookName = 'h'; - var singularHookState = { - registry: {} - }; - var singularHook = register.bind(null, singularHookState, singularHookName); - bindApi(singularHook, singularHookState, singularHookName); - return singularHook; - } - function HookCollection() { - var state = { - registry: {} - }; - var hook = register.bind(null, state); - bindApi(hook, state); - return hook; - } - var 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; + }; + exports2.BearerCredentialHandler = BearerCredentialHandler; + var PersonalAccessTokenCredentialHandler = class { + constructor(token2) { + this.token = token2; } - 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; + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + 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'); + }); + } + }; + exports2.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; } }); -// 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) { +// 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); + } + } + 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 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; + exports2.OidcClient = void 0; + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var core_1 = require_core(); + var OidcClient = class _OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient( + 'actions/oidc-client', + [new auth_1.BearerCredentialHandler(_OidcClient.getRequestToken())], + requestOptions + ); + } + static getRequestToken() { + const token2 = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token2) { + 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']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + return __awaiter(this, void 0, void 0, function* () { + var _a; + const httpclient = _OidcClient.createHttpClient(); + const res = yield httpclient.getJson(id_token_url).catch(error => { + throw new Error(`Failed to get ID Token. + + Error Code : ${error.statusCode} + + Error Message: ${error.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + 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* () { + try { + let id_token_url = _OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + (0, core_1.debug)(`ID token url is ${id_token_url}`); + const id_token = yield _OidcClient.getCall(id_token_url); + (0, core_1.setSecret)(id_token); + return id_token; + } catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); } - return true; - } - exports2.isPlainObject = isPlainObject; + }; + exports2.OidcClient = OidcClient; } }); -// node_modules/@octokit/endpoint/dist-node/index.js -var require_dist_node2 = __commonJS({ - 'node_modules/@octokit/endpoint/dist-node/index.js'(exports2) { +// node_modules/@actions/core/lib/summary.js +var require_summary = __commonJS({ + 'node_modules/@actions/core/lib/summary.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 {}; - } - 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]; + 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 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; - } - return ( - url + - separator + - names - .map(name => { - if (name === 'q') { - return 'q=' + parameters.q.split('+').map(encodeURIComponent).join('+'); + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - 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 []; - } - 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; - } - } - 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(',')); + function rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); } } - } - } else { - if (operator === ';') { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - } 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) + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - } - 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 parse(options) { - let method = options.method.toUpperCase(); - let url = (options.url || '/').replace(/:([a-z]\w+)/g, '{$1}'); - let headers = Object.assign({}, options.headers); - let body2; - 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(','); - } + 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 { 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'; + var Summary = class { + constructor() { + this._buffer = ''; } - if (['GET', 'HEAD'].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ('data' in remainingParameters) { - body2 = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body2 = remainingParameters; - } else { - headers['content-length'] = 0; + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(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.` + ); + } + 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.` + ); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag2, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag2}${htmlAttrs}>`; } + return `<${tag2}${htmlAttrs}>${content}`; } - if (!headers['content-type'] && typeof body2 !== 'undefined') { - headers['content-type'] = 'application/json; charset=utf-8'; + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); } - if (['PATCH', 'PUT'].includes(method) && typeof body2 === 'undefined') { - body2 = ''; + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); } - return Object.assign( - { - method, - url, - headers - }, - typeof body2 !== 'undefined' - ? { - body: body2 - } - : null, - options.request - ? { - request: options.request - } - : null - ); - } - function endpointWithDefaults(defaults, route, options) { - return parse(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 - }); - } - 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: [] + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; } - }; - 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'); + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; } - return x; - }; - conversions['unrestricted double'] = function (V) { - const x = +V; - if (isNaN(x)) { - throw new TypeError('Argument is NaN'); + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; } - return x; - }; - conversions['float'] = conversions['double']; - conversions['unrestricted float'] = conversions['unrestricted double']; - conversions['DOMString'] = function (V, opts) { - if (!opts) opts = {}; - if (opts.treatNullAsEmptyString && V === null) { - return ''; + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; } - return String(V); - }; - 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'); - } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, lang && { lang }); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag2 = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag2, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @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 tag2 = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); + return this.wrap(tag2, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag2 = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag2) ? tag2 : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); } - return x; - }; - 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)); - } - } - } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); } - return U.join(''); - }; - conversions['Date'] = function (V, opts) { - if (!(V instanceof Date)) { - throw new TypeError('Argument is not a Date object'); + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); } - if (isNaN(V)) { - return void 0; + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, cite && { cite }); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); } - return V; - }; - conversions['RegExp'] = function (V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); } - return V; }; + var _summary = new Summary(); + exports2.markdownSummary = _summary; + exports2.summary = _summary; } }); -// node_modules/whatwg-url/lib/utils.js -var require_utils3 = __commonJS({ - 'node_modules/whatwg-url/lib/utils.js'(exports2, module2) { +// node_modules/@actions/core/lib/path-utils.js +var require_path_utils = __commonJS({ + 'node_modules/@actions/core/lib/path-utils.js'(exports2) { '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])); - } - }; - module2.exports.wrapperSymbol = Symbol('wrapper'); - module2.exports.implSymbol = Symbol('impl'); - module2.exports.wrapperForImpl = function (impl) { - return impl[module2.exports.wrapperSymbol]; - }; - module2.exports.implForWrapper = function (wrapper) { - return wrapper[module2.exports.implSymbol]; - }; - } -}); - -// 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'] - ]; + 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; + }; + })(); + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.toPosixPath = toPosixPath; + exports2.toWin32Path = toWin32Path; + exports2.toPlatformPath = toPlatformPath; + var path = __importStar(require('path')); + function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); + } + function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); + } + function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); + } } }); -// node_modules/tr46/index.js -var require_tr46 = __commonJS({ - 'node_modules/tr46/index.js'(exports2, module2) { +// node_modules/@actions/io/lib/io-util.js +var require_io_util = __commonJS({ + 'node_modules/@actions/io/lib/io-util.js'(exports2) { '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; - } else { - start = mid + 1; - } - } - 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]); - } else { - processed += String.fromCodePoint(codePoint); + 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]; + } + }; } - break; - case 'valid': - processed += String.fromCodePoint(codePoint); - break; - case 'disallowed_STD3_mapped': - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); + 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 __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); } - break; - case 'disallowed_STD3_valid': - if (useSTD3) { - hasError = true; + } + function rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); } - 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; - } - } - return { - label, - error + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - } - 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 _a; + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.READONLY = + exports2.UV_FS_O_EXLOCK = + exports2.IS_WINDOWS = + exports2.unlink = + exports2.symlink = + exports2.stat = + exports2.rmdir = + exports2.rm = + exports2.rename = + exports2.readdir = + exports2.open = + exports2.mkdir = + exports2.lstat = + exports2.copyFile = + exports2.chmod = + void 0; + exports2.readlink = readlink; + exports2.exists = exists; + exports2.isDirectory = isDirectory; + exports2.isRooted = isRooted; + exports2.tryGetExecutablePath = tryGetExecutablePath; + exports2.getCmdPath = getCmdPath; + var fs2 = __importStar(require('fs')); + var path = __importStar(require('path')); + (_a = fs2.promises), + (exports2.chmod = _a.chmod), + (exports2.copyFile = _a.copyFile), + (exports2.lstat = _a.lstat), + (exports2.mkdir = _a.mkdir), + (exports2.open = _a.open), + (exports2.readdir = _a.readdir), + (exports2.rename = _a.rename), + (exports2.rm = _a.rm), + (exports2.rmdir = _a.rmdir), + (exports2.stat = _a.stat), + (exports2.symlink = _a.symlink), + (exports2.unlink = _a.unlink); + exports2.IS_WINDOWS = process.platform === 'win32'; + function readlink(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + const result = yield fs2.promises.readlink(fsPath); + if (exports2.IS_WINDOWS && !result.endsWith('\\')) { + return `${result}\\`; } - } - return { - string: labels.join('.'), - error: result.error - }; + return result; + }); } - 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) { + exports2.UV_FS_O_EXLOCK = 268435456; + exports2.READONLY = fs2.constants.O_RDONLY; + function exists(fsPath) { + return __awaiter(this, void 0, void 0, function* () { 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; + yield (0, exports2.stat)(fsPath); + } catch (err) { + if (err.code === 'ENOENT') { + return false; } + throw err; } - } - 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 - }; - }; - 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]); - } - } - return new Buffer(output).toString(); - } - function isC0ControlPercentEncode(c) { - return c <= 31 || c > 126; - } - var extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); - } - var extraUserinfoPercentEncodeSet = 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); - } - 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; - } - const regex = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; - if (regex.test(input)) { - return failure; - } - return parseInt(input, R); - } - function parseIPv4(input) { - const parts = input.split('.'); - if (parts[parts.length - 1] === '') { - if (parts.length > 1) { - parts.pop(); - } - } - if (parts.length > 4) { - return input; - } - const numbers = []; - for (const part of parts) { - if (part === '') { - return input; - } - const n = parseIPv4Number(part); - if (n === failure) { - return input; - } - 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; + return true; + }); } - 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; - } - n = Math.floor(n / 256); + function isDirectory(fsPath_1) { + return __awaiter(this, arguments, void 0, function* (fsPath, useStat = false) { + const stats = useStat ? yield (0, exports2.stat)(fsPath) : yield (0, exports2.lstat)(fsPath); + return stats.isDirectory(); + }); + } + function isRooted(p) { + p = normalizeSeparators(p); + if (!p) { + throw new Error('isRooted() parameter "p" cannot be empty'); } - return output; + if (exports2.IS_WINDOWS) { + return p.startsWith('\\') || /^[A-Z]:/i.test(p); + } + return p.startsWith('/'); } - 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; + function tryGetExecutablePath(filePath, extensions) { + return __awaiter(this, void 0, void 0, function* () { + let stats = void 0; + try { + stats = yield (0, exports2.stat)(filePath); + } catch (err) { + if (err.code !== 'ENOENT') { + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } } - 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 (stats && stats.isFile()) { + if (exports2.IS_WINDOWS) { + const upperExt = path.extname(filePath).toUpperCase(); + if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) { + return filePath; } - if (!isASCIIDigit(input[pointer])) { - return failure; + } else { + if (isUnixExecutable(stats)) { + return filePath; } - 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; + } + } + const originalFilePath = filePath; + for (const extension of extensions) { + filePath = originalFilePath + extension; + stats = void 0; + try { + stats = yield (0, exports2.stat)(filePath); + } catch (err) { + if (err.code !== 'ENOENT') { + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports2.IS_WINDOWS) { + try { + const directory = path.dirname(filePath); + const upperName = path.basename(filePath).toUpperCase(); + for (const actualName of yield (0, exports2.readdir)(directory)) { + if (upperName === actualName.toUpperCase()) { + filePath = path.join(directory, actualName); + break; + } + } + } catch (err) { + console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); } - if (ipv4Piece > 255) { - return failure; + return filePath; + } else { + if (isUnixExecutable(stats)) { + return filePath; } - ++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 (compress === pieceIndex) { - const separator = pieceIndex === 0 ? '::' : ':'; - output += separator; - ignore0 = true; - continue; - } - output += address[pieceIndex].toString(16); - if (pieceIndex !== 7) { - output += ':'; - } - } - return output; - } - function parseHost(input, isSpecialArg) { - if (input[0] === '[') { - if (input[input.length - 1] !== ']') { - return failure; - } - return parseIPv6(input.substring(1, input.length - 1)); - } - if (!isSpecialArg) { - return parseOpaqueHost(input); - } - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; - } - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === 'number' || ipv4Host === failure) { - return ipv4Host; - } - return asciiDomain; - } - function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; - } - let output = ''; - const decoded = punycode.ucs2.decode(input); - for (let i = 0; i < decoded.length; ++i) { - output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); - } - return output; - } - 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; - } else { - if (currStart === null) { - currStart = i; - } - ++currLen; } - } - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - return { - idx: maxIdx, - len: maxLen - }; + return ''; + }); } - function serializeHost(host) { - if (typeof host === 'number') { - return serializeIPv4(host); - } - if (host instanceof Array) { - return '[' + serializeIPv6(host) + ']'; + function normalizeSeparators(p) { + p = p || ''; + if (exports2.IS_WINDOWS) { + p = p.replace(/\//g, '\\'); + return p.replace(/\\\\+/g, '\\'); } - return host; - } - function trimControlChars(url) { - return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ''); + return p.replace(/\/\/+/g, '/'); } - function trimTabAndNewline(url) { - return url.replace(/\u0009|\u000A|\u000D/g, ''); + function isUnixExecutable(stats) { + return ( + (stats.mode & 1) > 0 || + ((stats.mode & 8) > 0 && process.getgid !== void 0 && stats.gid === process.getgid()) || + ((stats.mode & 64) > 0 && process.getuid !== void 0 && stats.uid === process.getuid()) + ); } - function shortenPath(url) { - const path = url.path; - if (path.length === 0) { - return; - } - if (url.scheme === 'file' && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { - return; - } - 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; - } - } + function getCmdPath() { + var _a2; + return (_a2 = process.env['COMSPEC']) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; } - 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; - } else { - this.parseError = true; - return failure; - } - 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; + } +}); + +// node_modules/@actions/io/lib/io.js +var require_io = __commonJS({ + 'node_modules/@actions/io/lib/io.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); } - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === 'file') { - return false; + : 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 }); } - if (this.url.scheme === 'file' && (this.url.host === '' || this.url.host === null)) { - return false; + : 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 __awaiter = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - this.url.scheme = this.buffer; - this.buffer = ''; - if (this.stateOverride) { - 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; - } - 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; - } - 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; - } - return true; - }; - URLStateMachine.prototype['parse path or authority'] = function parsePathOrAuthority(c) { - if (c === 47) { - this.state = 'authority'; - } else { - this.state = 'path'; - --this.pointer; - } - 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; - } - return true; - }; - 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; - }; - 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; - }; - URLStateMachine.prototype['parse special authority ignore slashes'] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { - this.state = 'authority'; - --this.pointer; - } else { - this.parseError = true; - } - return true; - }; - 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; + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; + function rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); + } } - } - 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; - } - 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; - } - } 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; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ''; - this.state = 'path start'; - if (this.stateOverride) { - return false; - } - } else { - if (c === 91) { - this.arrFlag = true; - } else if (c === 93) { - this.arrFlag = false; - } - 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.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ''; - } - if (this.stateOverride) { - return false; - } - this.state = 'path start'; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - return true; - }; - var fileOtherwiseCodePoints = 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 || - !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || - (this.input.length - this.pointer - 1 >= 2 && !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; + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - this.state = 'path'; - --this.pointer; + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.cp = cp; + exports2.mv = mv; + exports2.rmRF = rmRF; + exports2.mkdirP = mkdirP; + exports2.which = which; + exports2.findInPath = findInPath; + var assert_1 = require('assert'); + var path = __importStar(require('path')); + var ioUtil = __importStar(require_io_util()); + function cp(source_1, dest_1) { + return __awaiter(this, arguments, void 0, function* (source, dest, options = {}) { + const { force, recursive, copySourceDirectory } = readCopyOptions(options); + const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; + if (destStat && destStat.isFile() && !force) { + return; } - } 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; + const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path.join(dest, path.basename(source)) : dest; + if (!(yield ioUtil.exists(source))) { + throw new Error(`no such file or directory: ${source}`); } - 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]); + const sourceStat = yield ioUtil.stat(source); + if (sourceStat.isDirectory()) { + if (!recursive) { + throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); } else { - this.url.host = this.base.host; + yield cpDirRecursive(source, newDest, 0, force); } - } - 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'; } 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; + if (path.relative(source, newDest) === '') { + throw new Error(`'${newDest}' and '${source}' are the same file`); } - this.buffer = ''; - this.state = 'path start'; - } - } 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; - } - } 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; + yield copyFile(source, newDest, force); } - } - 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 = ''; + }); + } + function mv(source_1, dest_1) { + return __awaiter(this, arguments, void 0, function* (source, dest, options = {}) { + if (yield ioUtil.exists(dest)) { + let destExists = true; + if (yield ioUtil.isDirectory(dest)) { + dest = path.join(dest, path.basename(source)); + destExists = yield ioUtil.exists(dest); + } + if (destExists) { + if (options.force == null || options.force) { + yield rmRF(dest); + } else { + throw new Error('Destination already exists'); } - this.buffer = this.buffer[0] + ':'; } - this.url.path.push(this.buffer); } - 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(); + yield mkdirP(path.dirname(dest)); + yield ioUtil.rename(source, dest); + }); + } + function rmRF(inputPath) { + return __awaiter(this, void 0, void 0, function* () { + if (ioUtil.IS_WINDOWS) { + if (/[*"<>|]/.test(inputPath)) { + throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); } } - if (c === 63) { - this.url.query = ''; - this.state = 'query'; - } - if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; + try { + yield ioUtil.rm(inputPath, { + force: true, + maxRetries: 3, + recursive: true, + retryDelay: 300 + }); + } catch (err) { + throw new Error(`File was unable to be removed ${err}`); } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + }); + } + function mkdirP(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + (0, assert_1.ok)(fsPath, 'a path argument must be provided'); + yield ioUtil.mkdir(fsPath, { recursive: true }); + }); + } + function which(tool, check) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); } - this.buffer += percentEncodeChar(c, isPathPercentEncode); - } - 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; + if (check) { + const result = yield which(tool, false); + if (!result) { + if (ioUtil.IS_WINDOWS) { + throw new Error( + `Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.` + ); + } else { + throw new Error( + `Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.` + ); + } + } + return result; } - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + const matches = yield findInPath(tool); + if (matches && matches.length > 0) { + return matches[0]; } - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + return ''; + }); + } + function findInPath(tool) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); } - } - return true; - }; - 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'; - } - 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]); - } else { - this.url.query += String.fromCodePoint(buffer[i]); + const extensions = []; + if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { + for (const extension of process.env['PATHEXT'].split(path.delimiter)) { + if (extension) { + extensions.push(extension); + } } } - this.buffer = ''; - if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; + if (ioUtil.isRooted(tool)) { + const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); + if (filePath) { + return [filePath]; + } + return []; } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + if (tool.includes(path.sep)) { + return []; } - this.buffer += cStr; - } - 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; + const directories = []; + if (process.env.PATH) { + for (const p of process.env.PATH.split(path.delimiter)) { + if (p) { + directories.push(p); + } + } } - 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 += '@'; - } - output += serializeHost(url.host); - if (url.port !== null) { - output += ':' + url.port; - } - } else if (url.host === null && url.scheme === 'file') { - output += '//'; - } - if (url.cannotBeABaseURL) { - output += url.path[0]; - } else { - for (const string of url.path) { - output += '/' + string; + const matches = []; + for (const directory of directories) { + const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); + if (filePath) { + matches.push(filePath); + } } - } - if (url.query !== null) { - output += '?' + url.query; - } - if (!excludeFragment && url.fragment !== null) { - output += '#' + url.fragment; - } - return output; + return matches; + }); } - function serializeOrigin(tuple) { - let result = tuple.scheme + '://'; - result += serializeHost(tuple.host); - if (tuple.port !== null) { - result += ':' + tuple.port; - } - return result; + function readCopyOptions(options) { + const force = options.force == null ? true : options.force; + const recursive = Boolean(options.recursive); + const copySourceDirectory = options.copySourceDirectory == null ? true : Boolean(options.copySourceDirectory); + return { force, recursive, copySourceDirectory }; + } + function cpDirRecursive(sourceDir, destDir, currentDepth, force) { + return __awaiter(this, void 0, void 0, function* () { + if (currentDepth >= 255) return; + currentDepth++; + yield mkdirP(destDir); + const files = yield ioUtil.readdir(sourceDir); + for (const fileName of files) { + const srcFile = `${sourceDir}/${fileName}`; + const destFile = `${destDir}/${fileName}`; + const srcFileStat = yield ioUtil.lstat(srcFile); + if (srcFileStat.isDirectory()) { + yield cpDirRecursive(srcFile, destFile, currentDepth, force); + } else { + yield copyFile(srcFile, destFile, force); + } + } + yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); + }); } - module2.exports.serializeURL = serializeURL; - module2.exports.serializeURLOrigin = function (url) { - switch (url.scheme) { - case 'blob': + function copyFile(srcFile, destFile, force) { + return __awaiter(this, void 0, void 0, function* () { + if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { try { - return module2.exports.serializeURLOrigin(module2.exports.parseURL(url.path[0])); + yield ioUtil.lstat(destFile); + yield ioUtil.unlink(destFile); } 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 = {}; - } - return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); - }; + if (e.code === 'EPERM') { + yield ioUtil.chmod(destFile, '0666'); + yield ioUtil.unlink(destFile); + } + } + const symlinkFull = yield ioUtil.readlink(srcFile); + yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null); + } else if (!(yield ioUtil.exists(destFile)) || force) { + yield ioUtil.copyFile(srcFile, destFile); + } + }); + } } }); -// node_modules/whatwg-url/lib/URL-impl.js -var require_URL_impl = __commonJS({ - 'node_modules/whatwg-url/lib/URL-impl.js'(exports2) { +// node_modules/@actions/exec/lib/toolrunner.js +var require_toolrunner = __commonJS({ + 'node_modules/@actions/exec/lib/toolrunner.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'); + 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 __awaiter = + (exports2 && exports2.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); } - 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'); + 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.ToolRunner = void 0; + exports2.argStringToArray = argStringToArray; + var os = __importStar(require('os')); + var events = __importStar(require('events')); + var child = __importStar(require('child_process')); + var path = __importStar(require('path')); + var io = __importStar(require_io()); + var ioUtil = __importStar(require_io_util()); + var timers_1 = require('timers'); + var IS_WINDOWS = process.platform === 'win32'; + var ToolRunner = class extends events.EventEmitter { + constructor(toolPath, args, options) { + super(); + if (!toolPath) { + throw new Error("Parameter 'toolPath' cannot be null or empty."); } - 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' }); + this.toolPath = toolPath; + this.args = args || []; + this.options = options || {}; } - get username() { - return this._url.username; - } - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; + _debug(message) { + if (this.options.listeners && this.options.listeners.debug) { + this.options.listeners.debug(message); } - usm.setTheUsername(this._url, v); - } - get password() { - return this._url.password; } - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; + _getCommandString(options, noPrefix) { + const toolPath = this._getSpawnFileName(); + const args = this._getSpawnArgs(options); + let cmd = noPrefix ? '' : '[command]'; + if (IS_WINDOWS) { + if (this._isCmdFile()) { + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } else if (options.windowsVerbatimArguments) { + cmd += `"${toolPath}"`; + for (const a of args) { + cmd += ` ${a}`; + } + } else { + cmd += this._windowsQuoteCmdArg(toolPath); + for (const a of args) { + cmd += ` ${this._windowsQuoteCmdArg(a)}`; + } + } + } else { + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } } - usm.setThePassword(this._url, v); + return cmd; } - get host() { - const url = this._url; - if (url.host === null) { + _processLineBuffer(data, strBuffer, onLine) { + try { + let s = strBuffer + data.toString(); + let n = s.indexOf(os.EOL); + while (n > -1) { + const line = s.substring(0, n); + onLine(line); + s = s.substring(n + os.EOL.length); + n = s.indexOf(os.EOL); + } + return s; + } catch (err) { + this._debug(`error processing line. Failed with error ${err}`); return ''; } - if (url.port === null) { - return usm.serializeHost(url.host); - } - return usm.serializeHost(url.host) + ':' + usm.serializeInteger(url.port); } - set host(v) { - if (this._url.cannotBeABaseURL) { - return; + _getSpawnFileName() { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + return process.env['COMSPEC'] || 'cmd.exe'; + } } - usm.basicURLParse(v, { url: this._url, stateOverride: 'host' }); - } - get hostname() { - if (this._url.host === null) { - return ''; + return this.toolPath; + } + _getSpawnArgs(options) { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; + for (const a of this.args) { + argline += ' '; + argline += options.windowsVerbatimArguments ? a : this._windowsQuoteCmdArg(a); + } + argline += '"'; + return [argline]; + } } - return usm.serializeHost(this._url.host); + return this.args; } - set hostname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - usm.basicURLParse(v, { url: this._url, stateOverride: 'hostname' }); + _endsWith(str, end) { + return str.endsWith(end); } - get port() { - if (this._url.port === null) { - return ''; - } - return usm.serializeInteger(this._url.port); + _isCmdFile() { + const upperToolPath = this.toolPath.toUpperCase(); + return this._endsWith(upperToolPath, '.CMD') || this._endsWith(upperToolPath, '.BAT'); } - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; + _windowsQuoteCmdArg(arg) { + if (!this._isCmdFile()) { + return this._uvQuoteCmdArg(arg); } - if (v === '') { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: 'port' }); + if (!arg) { + return '""'; } - } - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; + const cmdSpecialChars = [ + ' ', + ' ', + '&', + '(', + ')', + '[', + ']', + '{', + '}', + '^', + '=', + ';', + '!', + "'", + '+', + ',', + '`', + '~', + '|', + '<', + '>', + '"' + ]; + let needsQuotes = false; + for (const char of arg) { + if (cmdSpecialChars.some(x => x === char)) { + needsQuotes = true; + break; + } } - if (this._url.path.length === 0) { - return ''; + if (!needsQuotes) { + return arg; } - return '/' + this._url.path.join('/'); - } - set pathname(v) { - if (this._url.cannotBeABaseURL) { - return; + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; + } else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '"'; + } else { + quoteHit = false; + } } - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: 'path start' }); + reverse += '"'; + return reverse.split('').reverse().join(''); } - get search() { - if (this._url.query === null || this._url.query === '') { - return ''; + _uvQuoteCmdArg(arg) { + if (!arg) { + return '""'; } - return '?' + this._url.query; - } - set search(v) { - const url = this._url; - if (v === '') { - url.query = null; - return; + if (!arg.includes(' ') && !arg.includes(' ') && !arg.includes('"')) { + return arg; } - 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 ''; + if (!arg.includes('"') && !arg.includes('\\')) { + return `"${arg}"`; } - return '#' + this._url.fragment; - } - set hash(v) { - if (v === '') { - this._url.fragment = null; - return; + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; + } else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '\\'; + } else { + quoteHit = false; + } } - const input = v[0] === '#' ? v.substring(1) : v; - this._url.fragment = ''; - usm.basicURLParse(input, { url: this._url, stateOverride: 'fragment' }); - } - toJSON() { - return this.href; - } - }; - } -}); - -// 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 URL2(url) { - if (!this || this[impl] || !(this instanceof URL2)) { - 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.'); - } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; - } - args[0] = conversions['USVString'](args[0]); - if (args[1] !== void 0) { - args[1] = conversions['USVString'](args[1]); - } - module2.exports.setup(this, args); - } - URL2.prototype.toJSON = function toJSON() { - if (!this || !module2.exports.is(this)) { - throw new TypeError('Illegal invocation'); - } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; + reverse += '"'; + return reverse.split('').reverse().join(''); + } + _cloneExecOptions(options) { + options = options || {}; + const result = { + cwd: options.cwd || process.cwd(), + env: options.env || process.env, + silent: options.silent || false, + windowsVerbatimArguments: options.windowsVerbatimArguments || false, + failOnStdErr: options.failOnStdErr || false, + ignoreReturnCode: options.ignoreReturnCode || false, + delay: options.delay || 1e4 + }; + result.outStream = options.outStream || process.stdout; + result.errStream = options.errStream || process.stderr; + return result; } - return this[impl].toJSON.apply(this[impl], args); - }; - Object.defineProperty(URL2.prototype, 'href', { - get() { - return this[impl].href; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true - }); - URL2.prototype.toString = function () { - if (!this || !module2.exports.is(this)) { - throw new TypeError('Illegal invocation'); + _getSpawnOptions(options, toolPath) { + options = options || {}; + const result = {}; + result.cwd = options.cwd; + result.env = options.env; + result['windowsVerbatimArguments'] = options.windowsVerbatimArguments || this._isCmdFile(); + if (options.windowsVerbatimArguments) { + result.argv0 = `"${toolPath}"`; + } + return result; } - return this.href; - }; - Object.defineProperty(URL2.prototype, 'origin', { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'protocol', { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'username', { - get() { - return this[impl].username; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'password', { - get() { - return this[impl].password; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'host', { - get() { - return this[impl].host; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'hostname', { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'port', { - get() { - return this[impl].port; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'pathname', { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'search', { - get() { - return this[impl].search; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.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(URL2.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; - }, - interface: URL2, - expose: { - Window: { URL: URL2 }, - Worker: { URL: URL2 } + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + exec() { + return __awaiter(this, void 0, void 0, function* () { + if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes('/') || (IS_WINDOWS && this.toolPath.includes('\\')))) { + this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + } + this.toolPath = yield io.which(this.toolPath, true); + return new Promise((resolve, reject) => + __awaiter(this, void 0, void 0, function* () { + this._debug(`exec tool: ${this.toolPath}`); + this._debug('arguments:'); + for (const arg of this.args) { + this._debug(` ${arg}`); + } + const optionsNonNull = this._cloneExecOptions(this.options); + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); + } + const state = new ExecState(optionsNonNull, this.toolPath); + state.on('debug', message => { + this._debug(message); + }); + if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { + return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); + } + const fileName = this._getSpawnFileName(); + const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); + let stdbuffer = ''; + if (cp.stdout) { + cp.stdout.on('data', data => { + if (this.options.listeners && this.options.listeners.stdout) { + this.options.listeners.stdout(data); + } + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(data); + } + stdbuffer = this._processLineBuffer(data, stdbuffer, line => { + if (this.options.listeners && this.options.listeners.stdline) { + this.options.listeners.stdline(line); + } + }); + }); + } + let errbuffer = ''; + if (cp.stderr) { + cp.stderr.on('data', data => { + state.processStderr = true; + if (this.options.listeners && this.options.listeners.stderr) { + this.options.listeners.stderr(data); + } + if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { + const s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; + s.write(data); + } + errbuffer = this._processLineBuffer(data, errbuffer, line => { + if (this.options.listeners && this.options.listeners.errline) { + this.options.listeners.errline(line); + } + }); + }); + } + cp.on('error', err => { + state.processError = err.message; + state.processExited = true; + state.processClosed = true; + state.CheckComplete(); + }); + cp.on('exit', code => { + state.processExitCode = code; + state.processExited = true; + this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); + state.CheckComplete(); + }); + cp.on('close', code => { + state.processExitCode = code; + state.processExited = true; + state.processClosed = true; + this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); + state.CheckComplete(); + }); + state.on('done', (error, exitCode) => { + if (stdbuffer.length > 0) { + this.emit('stdline', stdbuffer); + } + if (errbuffer.length > 0) { + this.emit('errline', errbuffer); + } + cp.removeAllListeners(); + if (error) { + reject(error); + } else { + resolve(exitCode); + } + }); + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin'); + } + cp.stdin.end(this.options.input); + } + }) + ); + }); } }; - } -}); - -// 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 { - 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); + exports2.ToolRunner = ToolRunner; + function argStringToArray(argString) { + const args = []; + let inQuotes = false; + let escaped = false; + let arg = ''; + function append(c) { + if (escaped && c !== '"') { + arg += '\\'; + } + arg += c; + escaped = false; + } + for (let i = 0; i < argString.length; i++) { + const c = argString.charAt(i); + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } else { + append(c); } + continue; + } + if (c === '\\' && escaped) { + append(c); + continue; + } + if (c === '\\' && inQuotes) { + escaped = true; + continue; } - 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; + if (c === ' ' && !inQuotes) { + if (arg.length > 0) { + args.push(arg); + arg = ''; + } + continue; } + append(c); } - get size() { - return this[BUFFER].length; + if (arg.length > 0) { + args.push(arg.trim()); } - get type() { - return this[TYPE]; + return args; + } + var ExecState = class _ExecState extends events.EventEmitter { + constructor(options, toolPath) { + super(); + this.processClosed = false; + this.processError = ''; + this.processExitCode = 0; + this.processExited = false; + this.processStderr = false; + this.delay = 1e4; + this.done = false; + this.timeout = null; + if (!toolPath) { + throw new Error('toolPath must not be empty'); + } + this.options = options; + this.toolPath = toolPath; + if (options.delay) { + this.delay = options.delay; + } } - text() { - return Promise.resolve(this[BUFFER].toString()); + CheckComplete() { + if (this.done) { + return; + } + if (this.processClosed) { + this._setResult(); + } else if (this.processExited) { + this.timeout = (0, timers_1.setTimeout)(_ExecState.HandleTimeout, this.delay, this); + } } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); + _debug(message) { + this.emit('debug', message); } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; + _setResult() { + let error; + if (this.processExited) { + if (this.processError) { + error = new Error( + `There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}` + ); + } else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { + error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); + } else if (this.processStderr && this.options.failOnStdErr) { + error = new Error( + `The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream` + ); + } + } + if (this.timeout) { + clearTimeout(this.timeout); + this.timeout = null; + } + this.done = true; + this.emit('done', error, this.processExitCode); } - 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); + static HandleTimeout(state) { + if (state.done) { + return; } - if (end === void 0) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); + if (!state.processClosed && state.processExited) { + const message = `The STDIO streams did not close within ${state.delay / 1e3} seconds of the exit event from process '${ + state.toolPath + }'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; + state._debug(message); } - const 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; + state._setResult(); } }; - 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(body2) { - 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 (body2 == null) { - body2 = null; - } else if (isURLSearchParams(body2)) { - body2 = Buffer.from(body2.toString()); - } else if (isBlob(body2)); - else if (Buffer.isBuffer(body2)); - else if (Object.prototype.toString.call(body2) === '[object ArrayBuffer]') { - body2 = Buffer.from(body2); - } else if (ArrayBuffer.isView(body2)) { - body2 = Buffer.from(body2.buffer, body2.byteOffset, body2.byteLength); - } else if (body2 instanceof Stream); - else { - body2 = Buffer.from(String(body2)); - } - this[INTERNALS] = { - body: body2, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - if (body2 instanceof Stream) { - body2.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; + } +}); + +// node_modules/@actions/exec/lib/exec.js +var require_exec = __commonJS({ + 'node_modules/@actions/exec/lib/exec.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 __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); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); - } + }; + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.exec = exec; + exports2.getExecOutput = getExecOutput; + var string_decoder_1 = require('string_decoder'); + var tr = __importStar(require_toolrunner()); + function exec(commandLine, args, options) { + return __awaiter(this, void 0, void 0, function* () { + const commandArgs = tr.argStringToArray(commandLine); + if (commandArgs.length === 0) { + throw new Error(`Parameter 'commandLine' cannot be null or empty.`); + } + const toolPath = commandArgs[0]; + args = commandArgs.slice(1).concat(args || []); + const runner = new tr.ToolRunner(toolPath, args, options); + return runner.exec(); + }); } - Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + function getExecOutput(commandLine, args, options) { + return __awaiter(this, void 0, void 0, function* () { + var _a, _b; + let stdout = ''; + let stderr = ''; + const stdoutDecoder = new string_decoder_1.StringDecoder('utf8'); + const stderrDecoder = new string_decoder_1.StringDecoder('utf8'); + const originalStdoutListener = + (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 + ? void 0 + : _a.stdout; + const originalStdErrListener = + (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 + ? void 0 + : _b.stderr; + const stdErrListener = data => { + stderr += stderrDecoder.write(data); + if (originalStdErrListener) { + originalStdErrListener(data); + } + }; + const stdOutListener = data => { + stdout += stdoutDecoder.write(data); + if (originalStdoutListener) { + originalStdoutListener(data); + } + }; + const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { + stdout: stdOutListener, + stderr: stdErrListener }); - }, - blob() { - let ct = (this.headers && this.headers.get('content-type')) || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - new Blob([], { - type: ct.toLowerCase() - }), - { - [BUFFER]: buf + const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); + stdout += stdoutDecoder.end(); + stderr += stderrDecoder.end(); + return { + exitCode, + stdout, + stderr + }; + }); + } + } +}); + +// node_modules/@actions/core/lib/platform.js +var require_platform = __commonJS({ + 'node_modules/@actions/core/lib/platform.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 __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); } - ); - }); - }, - 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') - ); } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); - }, - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); + }; + var __importDefault = + (exports2 && exports2.__importDefault) || + function (mod) { + return mod && mod.__esModule ? mod : { default: mod }; + }; + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.isLinux = exports2.isMacOS = exports2.isWindows = exports2.arch = exports2.platform = void 0; + exports2.getDetails = getDetails; + var os_1 = __importDefault(require('os')); + var exec = __importStar(require_exec()); + var getWindowsInfo = () => + __awaiter(void 0, void 0, void 0, function* () { + const { stdout: version } = yield exec.getExecOutput( + 'powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', + void 0, + { + silent: true + } + ); + const { stdout: name } = yield exec.getExecOutput( + 'powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', + void 0, + { + silent: true + } + ); + return { + name: name.trim(), + version: version.trim() + }; + }); + var getMacOsInfo = () => + __awaiter(void 0, void 0, void 0, function* () { + var _a, _b, _c, _d; + const { stdout } = yield exec.getExecOutput('sw_vers', void 0, { + silent: true }); - }, - buffer() { - return consumeBody.call(this); - }, - textConverted() { - var _this3 = this; - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); + const version = + (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && + _b !== void 0 + ? _b + : ''; + const name = + (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 + ? _d + : ''; + return { + name, + version + }; + }); + var getLinuxInfo = () => + __awaiter(void 0, void 0, void 0, function* () { + const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], { + silent: true }); - } - }; - 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 body2 = this.body; - if (body2 === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - if (isBlob(body2)) { - body2 = body2.stream(); - } - if (Buffer.isBuffer(body2)) { - return Body.Promise.resolve(body2); - } - if (!(body2 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); - } - body2.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)); + const [name, version] = stdout.trim().split('\n'); + return { + name, + version + }; + }); + exports2.platform = os_1.default.platform(); + exports2.arch = os_1.default.arch(); + exports2.isWindows = exports2.platform === 'win32'; + exports2.isMacOS = exports2.platform === 'darwin'; + exports2.isLinux = exports2.platform === 'linux'; + function getDetails() { + return __awaiter(this, void 0, void 0, function* () { + return Object.assign( + Object.assign({}, yield exports2.isWindows ? getWindowsInfo() : exports2.isMacOS ? getMacOsInfo() : getLinuxInfo()), + { + platform: exports2.platform, + arch: exports2.arch, + isWindows: exports2.isWindows, + isMacOS: exports2.isMacOS, + isLinux: exports2.isLinux + } + ); + }); + } + } +}); + +// 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; + 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); } - }); - body2.on('data', function (chunk) { - if (abort || chunk === null) { - return; + : 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 }); } - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); - return; + : 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]); } - accumBytes += chunk.length; - accum.push(chunk); - }); - body2.on('end', function () { - if (abort) { - return; + __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); + } } - 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)); + 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()); }); - }); - } - 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); + }; + Object.defineProperty(exports2, '__esModule', { value: true }); + exports2.platform = + exports2.toPlatformPath = + exports2.toWin32Path = + exports2.toPosixPath = + exports2.markdownSummary = + exports2.summary = + exports2.ExitCode = + void 0; + exports2.exportVariable = exportVariable; + exports2.setSecret = setSecret; + exports2.addPath = addPath; + exports2.getInput = getInput; + exports2.getMultilineInput = getMultilineInput; + exports2.getBooleanInput = getBooleanInput; + exports2.setOutput = setOutput; + exports2.setCommandEcho = setCommandEcho; + exports2.setFailed = setFailed; + exports2.isDebug = isDebug; + exports2.debug = debug; + exports2.error = error; + exports2.warning = warning; + exports2.notice = notice; + exports2.info = info; + exports2.startGroup = startGroup; + exports2.endGroup = endGroup; + exports2.group = group; + exports2.saveState = saveState; + exports2.getState = getState; + exports2.getIDToken = getIDToken; + var command_1 = require_command(); + var file_command_1 = require_file_command(); + var utils_1 = require_utils(); + var os = __importStar(require('os')); + var path = __importStar(require('path')); + var oidc_utils_1 = require_oidc_utils(); + var ExitCode; + (function (ExitCode2) { + ExitCode2[(ExitCode2['Success'] = 0)] = 'Success'; + ExitCode2[(ExitCode2['Failure'] = 1)] = 'Failure'; + })(ExitCode || (exports2.ExitCode = ExitCode = {})); + function exportVariable(name, val) { + const convertedVal = (0, utils_1.toCommandValue)(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('ENV', (0, file_command_1.prepareKeyValueMessage)(name, val)); } - str = buffer.slice(0, 1024).toString(); - if (!res && str) { - res = / x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; } - return convert(buffer, 'UTF-8', charset).toString(); + return inputs.map(input => input.trim()); } - function isURLSearchParams(obj) { - if ( - typeof obj !== 'object' || - typeof obj.append !== 'function' || - typeof obj.delete !== 'function' || - typeof obj.get !== 'function' || - typeof obj.getAll !== 'function' || - typeof obj.has !== 'function' || - typeof obj.set !== 'function' - ) { - return false; + function getBooleanInput(name, options) { + 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; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name} +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); + } + function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('OUTPUT', (0, file_command_1.prepareKeyValueMessage)(name, value)); } - return ( - obj.constructor.name === 'URLSearchParams' || - Object.prototype.toString.call(obj) === '[object URLSearchParams]' || - typeof obj.sort === 'function' + process.stdout.write(os.EOL); + (0, command_1.issueCommand)('set-output', { name }, (0, utils_1.toCommandValue)(value)); + } + function setCommandEcho(enabled) { + (0, command_1.issue)('echo', enabled ? 'on' : 'off'); + } + function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); + } + function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; + } + function debug(message) { + (0, command_1.issueCommand)('debug', {}, message); + } + function error(message, properties = {}) { + (0, command_1.issueCommand)( + 'error', + (0, utils_1.toCommandProperties)(properties), + message instanceof Error ? message.toString() : 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]) + function warning(message, properties = {}) { + (0, command_1.issueCommand)( + 'warning', + (0, utils_1.toCommandProperties)(properties), + message instanceof Error ? message.toString() : message ); } - function clone(instance) { - let p1, p2; - let body2 = instance.body; - if (instance.bodyUsed) { - throw new Error('cannot clone body after it is used'); - } - if (body2 instanceof Stream && typeof body2.getBoundary !== 'function') { - p1 = new PassThrough(); - p2 = new PassThrough(); - body2.pipe(p1); - body2.pipe(p2); - instance[INTERNALS].body = p1; - body2 = p2; - } - return body2; + function notice(message, properties = {}) { + (0, command_1.issueCommand)( + 'notice', + (0, utils_1.toCommandProperties)(properties), + message instanceof Error ? message.toString() : message + ); } - function extractContentType(body2) { - if (body2 === null) { - return null; - } else if (typeof body2 === 'string') { - return 'text/plain;charset=UTF-8'; - } else if (isURLSearchParams(body2)) { - return 'application/x-www-form-urlencoded;charset=UTF-8'; - } else if (isBlob(body2)) { - return body2.type || null; - } else if (Buffer.isBuffer(body2)) { - return null; - } else if (Object.prototype.toString.call(body2) === '[object ArrayBuffer]') { - return null; - } else if (ArrayBuffer.isView(body2)) { - return null; - } else if (typeof body2.getBoundary === 'function') { - return `multipart/form-data;boundary=${body2.getBoundary()}`; - } else if (body2 instanceof Stream) { - return null; - } else { - return 'text/plain;charset=UTF-8'; - } + function info(message) { + process.stdout.write(message + os.EOL); } - function getTotalBytes(instance) { - const body2 = instance.body; - if (body2 === null) { - return 0; - } else if (isBlob(body2)) { - return body2.size; - } else if (Buffer.isBuffer(body2)) { - return body2.length; - } else if (body2 && typeof body2.getLengthSync === 'function') { - if ( - (body2._lengthRetrievers && body2._lengthRetrievers.length == 0) || - (body2.hasKnownLength && body2.hasKnownLength()) - ) { - return body2.getLengthSync(); + function startGroup(name) { + (0, command_1.issue)('group', name); + } + function endGroup() { + (0, command_1.issue)('endgroup'); + } + function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } finally { + endGroup(); } - return null; - } else { - return null; - } + return result; + }); } - function writeToStream(dest, instance) { - const body2 = instance.body; - if (body2 === null) { - dest.end(); - } else if (isBlob(body2)) { - body2.stream().pipe(dest); - } else if (Buffer.isBuffer(body2)) { - dest.write(body2); - dest.end(); - } else { - body2.pipe(dest); + function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('STATE', (0, file_command_1.prepareKeyValueMessage)(name, value)); } + (0, command_1.issueCommand)('save-state', { name }, (0, utils_1.toCommandValue)(value)); } - 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 getState(name) { + return process.env[`STATE_${name}`] || ''; } - function validateValue(value) { - value = `${value}`; - if (invalidHeaderCharRegex.test(value)) { - throw new TypeError(`${value} is not a legal HTTP header value`); - } + function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); } - function find(map, name) { - name = name.toLowerCase(); - for (const key in map) { - if (key.toLowerCase() === name) { - return key; - } + var summary_1 = require_summary(); + Object.defineProperty(exports2, 'summary', { + enumerable: true, + get: function () { + return summary_1.summary; } - return void 0; - } - var MAP = Symbol('map'); - var Headers = class { + }); + var summary_2 = require_summary(); + 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; + } + }); + exports2.platform = __importStar(require_platform()); + } +}); + +// 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 { + /** + * Hydrate the context from the environment + */ constructor() { - let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; - this[MAP] = 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); - } - } - return; - } - 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]); - } + var _a, _b, _c; + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); } else { - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); } - } else { - throw new TypeError('Provided initializer must be an object'); - } - } - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === void 0) { - return null; - } - return this[MAP][key].join(', '); - } - 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++; } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.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`; } - 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]; + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); } - 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); - } else { - this[MAP][name] = [value]; + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; } - } - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== void 0; - } - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== void 0) { - delete this[MAP][key]; + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; } - } - raw() { - return this[MAP]; - } - keys() { - return createHeadersIterator(this, 'key'); - } - values() { - return createHeadersIterator(this, 'value'); - } - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); } }; - 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(', ')]; + exports2.Context = Context; + } +}); + +// node_modules/@actions/github/lib/internal/utils.js +var require_utils3 = __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; + 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]; + } + }; } - ); - } - var INTERNAL = Symbol('internal'); - function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; - } - 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 + 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]); } - this[INTERNAL].index = index + 1; - return { - value: values[index], - done: false - }; - } - }, - 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]; - } - return obj; - } - function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; + __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); + }); } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - if (headers[MAP][name] === void 0) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); + } + function rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); } } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } + 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.getAuthString = getAuthString; + exports2.getProxyAgent = getProxyAgent; + exports2.getProxyAgentDispatcher = getProxyAgentDispatcher; + exports2.getProxyFetch = getProxyFetch; + exports2.getApiBaseUrl = getApiBaseUrl; + var httpClient = __importStar(require_lib()); + var undici_1 = require_undici(); + 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 headers; + return typeof options.auth === 'string' ? options.auth : `token ${token2}`; } - var INTERNALS$1 = Symbol('Response internals'); - var STATUS_CODES = http.STATUS_CODES; - var Response = class { - constructor() { - let body2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - Body.call(this, body2, opts); - const status = opts.status || 200; - const headers = new Headers(opts.headers); - if (body2 != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body2); - 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 || ''; - } - get status() { - return this[INTERNALS$1].status; - } - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } - get redirected() { - return this[INTERNALS$1].counter > 0; - } - get statusText() { - return this[INTERNALS$1].statusText; - } - get headers() { - return this[INTERNALS$1].headers; - } - clone() { - return new Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected + 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, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); }); - } + return proxyFetch; + } + function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; + } + } +}); + +// 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)); }; - 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 URL2 = 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 URL2(urlStr).toString(); - } - return parse_url(urlStr); + } + 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); + }); + }; + } + 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(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (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] }); } - var streamDestructionSupported = 'destroy' in Stream.Readable.prototype; - function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; + }); + return result; +} +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; } - function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); + } + 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 (options.url === '/graphql') { + if (defaults && defaults.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews + .filter(preview => !mergedOptions.mediaType.previews.includes(preview)) + .concat(mergedOptions.mediaType.previews); } - var Request = class { - 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}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); + 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('+'); } - 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 `${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(context, operator, key, modifier) { + var value = context[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)); + } + }); } - 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); - } + } 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())); + } + }); } - 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'); + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + '=' + tmp.join(',')); + } else if (tmp.length !== 0) { + result.push(tmp.join(',')); } - 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; - } - get method() { - return this[INTERNALS$2].method; - } - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } - get headers() { - return this[INTERNALS$2].headers; - } - get redirect() { - return this[INTERNALS$2].redirect; - } - get signal() { - return this[INTERNALS$2].signal; - } - clone() { - return new Request(this); - } - }; - 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', '*/*'); - } - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError('Only absolute URLs are supported'); - } - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError('Only HTTP(S) protocols are supported'); - } - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); } - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = '0'; - } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === 'number') { - contentLengthValue = String(totalBytes); + } + } 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, context) { + 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(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(','); } - if (contentLengthValue) { - headers.set('Content-Length', contentLengthValue); - } - if (!headers.has('User-Agent')) { - headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); - } - if (request.compress && !headers.has('Accept-Encoding')) { - headers.set('Accept-Encoding', 'gzip,deflate'); - } - let agent = request.agent; - if (typeof agent === 'function') { - agent = agent(parsedURL); - } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); + } 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 body2; + 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(','); } - 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; - } - const abortAndFinalize = function abortAndFinalize2() { - abort(); - finalize(); - }; - 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); - }); - } - 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 body2 = 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(body2, response_options); - resolve(response); - return; - } - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - if (codings == 'gzip' || codings == 'x-gzip') { - body2 = body2.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body2, 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) { - body2 = body2.pipe(zlib.createInflate()); - } else { - body2 = body2.pipe(zlib.createInflateRaw()); - } - response = new Response(body2, response_options); - resolve(response); - }); - return; - } - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body2 = body2.pipe(zlib.createBrotliDecompress()); - response = new Response(body2, response_options); - resolve(response); - return; - } - response = new Response(body2, response_options); - resolve(response); - }); - writeToStream(req, request); - }); + } + if (['GET', 'HEAD'].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ('data' in remainingParameters) { + body2 = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body2 = remainingParameters; + } } - fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; + } + if (!headers['content-type'] && typeof body2 !== 'undefined') { + headers['content-type'] = 'application/json; charset=utf-8'; + } + if (['PATCH', 'PUT'].includes(method) && typeof body2 === 'undefined') { + body2 = ''; + } + return Object.assign( + { method, url, headers }, + typeof body2 !== 'undefined' ? { body: body2 } : null, + options.request ? { request: options.request } : null + ); +} +function endpointWithDefaults(defaults, route, options) { + return parse(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 + }); +} +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: '' + } }; - 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; + urlVariableRegex = /\{[^{}}]+\}/g; + endpoint = withDefaults(null, DEFAULTS); } }); -// node_modules/deprecation/dist-node/index.js -var require_dist_node3 = __commonJS({ - 'node_modules/deprecation/dist-node/index.js'(exports2) { +// 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'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var Deprecation = class extends Error { - constructor(message) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); + 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')); } - this.name = 'Deprecation'; + result.parameters[key] = value; } - }; - 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]; - }); - 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]; - }); + 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; } - return ret; + 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); +// 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', (_, __, context) => !!context && context.source === '1'); + convertMarkedBigIntsReviver = (key, value, context, 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, context); + }; + JSONParseV2 = (text, reviver) => { + return JSON.parse(text, (key, value, context) => { + const isBigNumber = typeof value === 'number' && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER); + const isInt = context && intRegex.test(context.source); + const isBigInt = isBigNumber && isInt; + if (isBigInt) return BigInt(context.source); + if (typeof reviver !== 'function') return value; + return reviver(key, value, context); }); - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this); - }, - configurable: true + }; + 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"'; }); - }); - 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; - } + return originalParse(serializedData, (key, value, context) => convertMarkedBigIntsReviver(key, value, context, 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); - } + super(message, { cause: options.cause }); this.name = 'HttpError'; - this.status = statusCode; - let headers; - if ('headers' in options && typeof options.headers !== 'undefined') { - headers = options.headers; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; } 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(); + this.request = requestCopy; } - 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 fetch = requestOptions.request?.fetch || globalThis.fetch; + if (!fetch) { + throw new Error( + 'fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing' + ); + } + const log = requestOptions.request?.log || console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + const body2 = + 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 fetch(requestOptions.url, { + method: requestOptions.method, + body: body2, + 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; } - var request = withDefaults(endpoint.endpoint, { + } 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)); + } + 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: +// 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 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); } - 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' }); - 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'); } @@ -14556,69 +22904,105 @@ var require_dist_node7 = __commonJS({ 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 +var dist_src_exports = {}; +__export(dist_src_exports, { + Octokit: () => Octokit +}); +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(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; } - 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, { - hook: hook.bind(null, 'request') + // @ts-ignore internal usage only, no need to type + hook: hook2.bind(null, 'request') }), mediaType: { previews: [], 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; } @@ -14628,161 +23012,106 @@ var require_dist_node8 = __commonJS({ if (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' }); } 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, log: this.log, + // 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; + hook2.wrap('request', auth2.hook); + this.auth = auth2; } 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; - } - 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; + 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'], + 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'], - createOrUpdateEnvironmentSecret: [ - 'PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' - ], + 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}'], - deleteEnvironmentSecret: ['DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}'], + 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}'], @@ -14797,34 +23126,47 @@ var require_dist_node9 = __commonJS({ 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'], - 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'], + 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', {}, - { - renamed: ['actions', 'getGithubActionsPermissionsRepository'] - } + { 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}'], @@ -14835,17 +23177,27 @@ var require_dist_node9 = __commonJS({ 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'], + 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'], @@ -14860,19 +23212,26 @@ var require_dist_node9 = __commonJS({ 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'], - setGithubActionsDefaultWorkflowPermissionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions/workflow'], + 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'] + 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}'], @@ -14901,6 +23260,7 @@ var require_dist_node9 = __commonJS({ 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'], @@ -14911,9 +23271,7 @@ var require_dist_node9 = __commonJS({ addRepoToInstallation: [ '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'], @@ -14935,6 +23293,7 @@ var require_dist_node9 = __commonJS({ 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'], @@ -14947,9 +23306,7 @@ var require_dist_node9 = __commonJS({ removeRepoFromInstallation: [ 'DELETE /user/installations/{installation_id}/repositories/{repository_id}', {}, - { - renamed: ['apps', 'removeRepoFromInstallationForAuthenticatedUser'] - } + { renamed: ['apps', 'removeRepoFromInstallationForAuthenticatedUser'] } ], removeRepoFromInstallationForAuthenticatedUser: [ 'DELETE /user/installations/{installation_id}/repositories/{repository_id}' @@ -14964,13 +23321,22 @@ var require_dist_node9 = __commonJS({ 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'], + 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'], @@ -14986,130 +23352,182 @@ var require_dist_node9 = __commonJS({ update: ['PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}'] }, codeScanning: { + 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' - } - } + { 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'], listAlertsInstances: [ 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', {}, - { - renamed: ['codeScanning', 'listAlertInstances'] - } + { renamed: ['codeScanning', 'listAlertInstances'] } ], + listCodeqlDatabases: ['GET /repos/{owner}/{repo}/code-scanning/codeql/databases'], 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}'] }, 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' - } - } - ], + 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}' ], + 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'], + 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}'], + 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}'], - setSelectedReposForOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories'] + 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}'] + 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}'] }, - enterpriseAdmin: { - addCustomLabelsToSelfHostedRunnerForEnterprise: ['POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels'], - disableSelectedOrganizationGithubActionsEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}' - ], - enableSelectedOrganizationGithubActionsEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}' - ], - 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' - ], - removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels' - ], - removeCustomLabelFromSelfHostedRunnerForEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}' - ], - setAllowedActionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions/selected-actions'], - setCustomLabelsForSelfHostedRunnerForEnterprise: ['PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels'], - setGithubActionsPermissionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions'], - setSelectedOrganizationsEnabledGithubActionsEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/permissions/organizations' - ] + 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'] + }, + 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'], @@ -15152,6 +23570,14 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15159,9 +23585,7 @@ var require_dist_node9 = __commonJS({ getRestrictionsForYourPublicRepos: [ 'GET /user/interaction-limits', {}, - { - renamed: ['interactions', 'getRestrictionsForAuthenticatedUser'] - } + { renamed: ['interactions', 'getRestrictionsForAuthenticatedUser'] } ], removeRestrictionsForAuthenticatedUser: ['DELETE /user/interaction-limits'], removeRestrictionsForOrg: ['DELETE /orgs/{org}/interaction-limits'], @@ -15169,9 +23593,7 @@ var require_dist_node9 = __commonJS({ removeRestrictionsForYourPublicRepos: [ 'DELETE /user/interaction-limits', {}, - { - renamed: ['interactions', 'removeRestrictionsForAuthenticatedUser'] - } + { renamed: ['interactions', 'removeRestrictionsForAuthenticatedUser'] } ], setRestrictionsForAuthenticatedUser: ['PUT /user/interaction-limits'], setRestrictionsForOrg: ['PUT /orgs/{org}/interaction-limits'], @@ -15179,15 +23601,16 @@ var require_dist_node9 = __commonJS({ setRestrictionsForYourPublicRepos: [ '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'], @@ -15200,10 +23623,13 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15214,10 +23640,14 @@ var require_dist_node9 = __commonJS({ 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}'], @@ -15232,30 +23662,20 @@ var require_dist_node9 = __commonJS({ }, markdown: { render: ['POST /markdown'], - renderRaw: [ - 'POST /markdown/raw', - { - headers: { - 'content-type': 'text/plain; charset=utf-8' - } - } - ] + 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 /'] }, 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'], @@ -15265,48 +23685,105 @@ var require_dist_node9 = __commonJS({ listReposForUser: [ 'GET /user/migrations/{migration_id}/repositories', {}, - { - renamed: ['migrations', 'listReposForAuthenticatedUser'] - } + { renamed: ['migrations', 'listReposForAuthenticatedUser'] } ], - 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'] + 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'] }, orgs: { + 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'], - 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'], + 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'], @@ -15315,11 +23792,30 @@ var require_dist_node9 = __commonJS({ 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'] }, @@ -15337,9 +23833,7 @@ var require_dist_node9 = __commonJS({ getAllPackageVersionsForAPackageOwnedByAnOrg: [ 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions', {}, - { - renamed: ['packages', 'getAllPackageVersionsForPackageOwnedByOrg'] - } + { renamed: ['packages', 'getAllPackageVersionsForPackageOwnedByOrg'] } ], getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ 'GET /user/packages/{package_type}/{package_name}/versions', @@ -15359,6 +23853,9 @@ var require_dist_node9 = __commonJS({ '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'], @@ -15375,32 +23872,33 @@ var require_dist_node9 = __commonJS({ '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'], @@ -15431,9 +23929,7 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15467,51 +23963,50 @@ var require_dist_node9 = __commonJS({ acceptInvitation: [ 'PATCH /user/repository_invitations/{invitation_id}', {}, - { - renamed: ['repos', 'acceptInvitationForAuthenticatedUser'] - } + { renamed: ['repos', 'acceptInvitationForAuthenticatedUser'] } ], acceptInvitationForAuthenticatedUser: ['PATCH /user/repository_invitations/{invitation_id}'], addAppAccessRestrictions: [ 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', {}, - { - mapToData: 'apps' - } + { mapToData: 'apps' } ], addCollaborator: ['PUT /repos/{owner}/{repo}/collaborators/{username}'], addStatusCheckContexts: [ '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', {}, - { - mapToData: 'teams' - } + { mapToData: 'teams' } ], addUserAccessRestrictions: [ 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', {}, - { - mapToData: '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'], + 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'], @@ -15519,17 +24014,19 @@ var require_dist_node9 = __commonJS({ 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'], - createTagProtection: ['POST /repos/{owner}/{repo}/tags/protection'], + 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}', {}, - { - renamed: ['repos', 'declineInvitationForAuthenticatedUser'] - } + { renamed: ['repos', 'declineInvitationForAuthenticatedUser'] } ], declineInvitationForAuthenticatedUser: ['DELETE /user/repository_invitations/{invitation_id}'], delete: ['DELETE /repos/{owner}/{repo}'], @@ -15542,35 +24039,41 @@ var require_dist_node9 = __commonJS({ 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}'], + deleteRepoRuleset: ['DELETE /repos/{owner}/{repo}/rulesets/{ruleset_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'], - downloadArchive: [ - 'GET /repos/{owner}/{repo}/zipball/{ref}', - {}, - { - renamed: ['repos', 'downloadZipballArchive'] - } + 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'], - enableLfsForRepo: ['PUT /repos/{owner}/{repo}/lfs'], + 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'], @@ -15578,6 +24081,7 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15589,14 +24093,25 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15606,6 +24121,12 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15615,6 +24136,8 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15624,7 +24147,11 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15639,7 +24166,6 @@ var require_dist_node9 = __commonJS({ 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'], @@ -15651,32 +24177,24 @@ var require_dist_node9 = __commonJS({ removeAppAccessRestrictions: [ 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', {}, - { - mapToData: 'apps' - } + { mapToData: 'apps' } ], removeCollaborator: ['DELETE /repos/{owner}/{repo}/collaborators/{username}'], removeStatusCheckContexts: [ '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'], removeTeamAccessRestrictions: [ 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', {}, - { - mapToData: 'teams' - } + { mapToData: 'teams' } ], removeUserAccessRestrictions: [ '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'], @@ -15685,58 +24203,51 @@ var require_dist_node9 = __commonJS({ setAppAccessRestrictions: [ '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', {}, - { - mapToData: 'contexts' - } + { mapToData: 'contexts' } ], setTeamAccessRestrictions: [ 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', {}, - { - mapToData: 'teams' - } + { mapToData: 'teams' } ], setUserAccessRestrictions: [ '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}'], + 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}'], + updateRepoRuleset: ['PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}'], updateStatusCheckPotection: [ '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'], uploadReleaseAsset: [ 'POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}', - { - baseUrl: 'https://uploads.github.com' - } + { baseUrl: 'https://uploads.github.com' } ] }, search: { @@ -15749,18 +24260,31 @@ var require_dist_node9 = __commonJS({ 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}'], - listAlertsForEnterprise: ['GET /enterprises/{enterprise}/secret-scanning/alerts'], + 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'], - updateAlert: ['PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}'] + 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'], @@ -15783,10 +24307,8 @@ var require_dist_node9 = __commonJS({ 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}'], updateDiscussionCommentInOrg: [ 'PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}' @@ -15795,138 +24317,95 @@ var require_dist_node9 = __commonJS({ updateInOrg: ['PATCH /orgs/{org}/teams/{team_slug}'] }, users: { - addEmailForAuthenticated: [ - 'POST /user/emails', - {}, - { - renamed: ['users', 'addEmailForAuthenticatedUser'] - } - ], + 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', - {}, - { - renamed: ['users', 'createGpgKeyForAuthenticatedUser'] - } - ], + createGpgKeyForAuthenticated: ['POST /user/gpg_keys', {}, { renamed: ['users', 'createGpgKeyForAuthenticatedUser'] }], createGpgKeyForAuthenticatedUser: ['POST /user/gpg_keys'], createPublicSshKeyForAuthenticated: [ 'POST /user/keys', {}, - { - renamed: ['users', 'createPublicSshKeyForAuthenticatedUser'] - } + { renamed: ['users', 'createPublicSshKeyForAuthenticatedUser'] } ], createPublicSshKeyForAuthenticatedUser: ['POST /user/keys'], - deleteEmailForAuthenticated: [ - 'DELETE /user/emails', - {}, - { - renamed: ['users', 'deleteEmailForAuthenticatedUser'] - } - ], + 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}', {}, - { - renamed: ['users', 'deleteGpgKeyForAuthenticatedUser'] - } + { renamed: ['users', 'deleteGpgKeyForAuthenticatedUser'] } ], deleteGpgKeyForAuthenticatedUser: ['DELETE /user/gpg_keys/{gpg_key_id}'], deletePublicSshKeyForAuthenticated: [ '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}'], 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}', {}, - { - renamed: ['users', 'getGpgKeyForAuthenticatedUser'] - } + { renamed: ['users', 'getGpgKeyForAuthenticatedUser'] } ], getGpgKeyForAuthenticatedUser: ['GET /user/gpg_keys/{gpg_key_id}'], getPublicSshKeyForAuthenticated: [ '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'], - listBlockedByAuthenticated: [ - 'GET /user/blocks', - {}, - { - renamed: ['users', 'listBlockedByAuthenticatedUser'] - } - ], + 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'] - } - ], + listEmailsForAuthenticated: ['GET /user/emails', {}, { renamed: ['users', 'listEmailsForAuthenticatedUser'] }], listEmailsForAuthenticatedUser: ['GET /user/emails'], - listFollowedByAuthenticated: [ - 'GET /user/following', - {}, - { - renamed: ['users', 'listFollowedByAuthenticatedUser'] - } - ], + 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'] - } - ], + listGpgKeysForAuthenticated: ['GET /user/gpg_keys', {}, { renamed: ['users', 'listGpgKeysForAuthenticatedUser'] }], listGpgKeysForAuthenticatedUser: ['GET /user/gpg_keys'], listGpgKeysForUser: ['GET /users/{username}/gpg_keys'], listPublicEmailsForAuthenticated: [ 'GET /user/public_emails', {}, - { - renamed: ['users', 'listPublicEmailsForAuthenticatedUser'] - } + { renamed: ['users', 'listPublicEmailsForAuthenticatedUser'] } ], listPublicEmailsForAuthenticatedUser: ['GET /user/public_emails'], listPublicKeysForUser: ['GET /users/{username}/keys'], listPublicSshKeysForAuthenticated: [ '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'], setPrimaryEmailVisibilityForAuthenticated: [ 'PATCH /user/email/visibility', {}, - { - renamed: ['users', 'setPrimaryEmailVisibilityForAuthenticatedUser'] - } + { renamed: ['users', 'setPrimaryEmailVisibilityForAuthenticatedUser'] } ], setPrimaryEmailVisibilityForAuthenticatedUser: ['PATCH /user/email/visibility'], unblock: ['DELETE /user/blocks/{username}'], @@ -15934,247 +24413,292 @@ var require_dist_node9 = __commonJS({ 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 - ); - if (!newMethods[scope]) { - newMethods[scope] = {}; - } - const scopeMethods = newMethods[scope]; - if (decorations) { - scopeMethods[methodName] = decorate(octokit2, scope, methodName, endpointDefaults, decorations); - continue; + 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, 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); + } + 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 (!(alias in options2)) { + options2[alias] = options2[name]; } - 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, defaults, decorations] = endpoint2; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + 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 = arguments[i] != null ? 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 +var dist_src_exports2 = {}; +__export(dist_src_exports2, { + legacyRestEndpointMethods: () => legacyRestEndpointMethods, + restEndpointMethods: () => restEndpointMethods +}); +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 +var dist_bundle_exports = {}; +__export(dist_bundle_exports, { + composePaginateRest: () => composePaginateRest, + isPaginatingEndpoint: () => isPaginatingEndpoint, + paginateRest: () => paginateRest, + paginatingEndpoints: () => paginatingEndpoints +}); +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 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) + }) + }; +} +var VERSION6, composePaginateRest, paginatingEndpoints; +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 = [ + paginatingEndpoints = [ + 'GET /advisories', 'GET /app/hook/deliveries', + 'GET /app/installation-requests', '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 /assignments/{assignment_id}/accepted_assignments', + 'GET /classrooms', + 'GET /classrooms/{classroom_id}/assignments', + 'GET /enterprises/{enterprise}/code-security/configurations', + 'GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories', + 'GET /enterprises/{enterprise}/dependabot/alerts', + 'GET /enterprises/{enterprise}/teams', + 'GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships', + 'GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations', 'GET /events', 'GET /gists', 'GET /gists/public', @@ -16192,42 +24716,75 @@ var require_dist_node10 = __commonJS({ 'GET /networks/{owner}/{repo}/events', 'GET /notifications', 'GET /organizations', + 'GET /organizations/{org}/dependabot/repository-access', 'GET /orgs/{org}/actions/cache/usage-by-repository', + 'GET /orgs/{org}/actions/hosted-runners', 'GET /orgs/{org}/actions/permissions/repositories', + 'GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories', 'GET /orgs/{org}/actions/runner-groups', + 'GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners', '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}/actions/variables', + 'GET /orgs/{org}/actions/variables/{name}/repositories', + 'GET /orgs/{org}/attestations/repositories', + 'GET /orgs/{org}/attestations/{subject_digest}', 'GET /orgs/{org}/blocks', + 'GET /orgs/{org}/campaigns', 'GET /orgs/{org}/code-scanning/alerts', + 'GET /orgs/{org}/code-security/configurations', + 'GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories', 'GET /orgs/{org}/codespaces', - 'GET /orgs/{org}/credential-authorizations', + 'GET /orgs/{org}/codespaces/secrets', + 'GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories', + 'GET /orgs/{org}/copilot/billing/seats', + 'GET /orgs/{org}/copilot/metrics', + 'GET /orgs/{org}/dependabot/alerts', 'GET /orgs/{org}/dependabot/secrets', 'GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories', 'GET /orgs/{org}/events', - 'GET /orgs/{org}/external-groups', 'GET /orgs/{org}/failed_invitations', 'GET /orgs/{org}/hooks', 'GET /orgs/{org}/hooks/{hook_id}/deliveries', + 'GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}', + 'GET /orgs/{org}/insights/api/subject-stats', + 'GET /orgs/{org}/insights/api/user-stats/{user_id}', 'GET /orgs/{org}/installations', 'GET /orgs/{org}/invitations', 'GET /orgs/{org}/invitations/{invitation_id}/teams', 'GET /orgs/{org}/issues', 'GET /orgs/{org}/members', + 'GET /orgs/{org}/members/{username}/codespaces', 'GET /orgs/{org}/migrations', 'GET /orgs/{org}/migrations/{migration_id}/repositories', + 'GET /orgs/{org}/organization-roles/{role_id}/teams', + 'GET /orgs/{org}/organization-roles/{role_id}/users', 'GET /orgs/{org}/outside_collaborators', 'GET /orgs/{org}/packages', 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions', + 'GET /orgs/{org}/personal-access-token-requests', + 'GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories', + 'GET /orgs/{org}/personal-access-tokens', + 'GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories', + 'GET /orgs/{org}/private-registries', 'GET /orgs/{org}/projects', + 'GET /orgs/{org}/projectsV2', + 'GET /orgs/{org}/projectsV2/{project_number}/fields', + 'GET /orgs/{org}/projectsV2/{project_number}/items', + 'GET /orgs/{org}/properties/values', 'GET /orgs/{org}/public_members', 'GET /orgs/{org}/repos', + 'GET /orgs/{org}/rulesets', + 'GET /orgs/{org}/rulesets/rule-suites', + 'GET /orgs/{org}/rulesets/{ruleset_id}/history', 'GET /orgs/{org}/secret-scanning/alerts', - 'GET /orgs/{org}/settings/billing/advanced-security', - 'GET /orgs/{org}/team-sync/groups', + 'GET /orgs/{org}/security-advisories', + 'GET /orgs/{org}/settings/immutable-releases/repositories', + 'GET /orgs/{org}/settings/network-configurations', + 'GET /orgs/{org}/team/{team_slug}/copilot/metrics', 'GET /orgs/{org}/teams', 'GET /orgs/{org}/teams/{team_slug}/discussions', 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments', @@ -16238,20 +24795,23 @@ var require_dist_node10 = __commonJS({ 'GET /orgs/{org}/teams/{team_slug}/projects', 'GET /orgs/{org}/teams/{team_slug}/repos', 'GET /orgs/{org}/teams/{team_slug}/teams', - 'GET /projects/columns/{column_id}/cards', 'GET /projects/{project_id}/collaborators', - 'GET /projects/{project_id}/columns', 'GET /repos/{owner}/{repo}/actions/artifacts', 'GET /repos/{owner}/{repo}/actions/caches', + 'GET /repos/{owner}/{repo}/actions/organization-secrets', + 'GET /repos/{owner}/{repo}/actions/organization-variables', 'GET /repos/{owner}/{repo}/actions/runners', 'GET /repos/{owner}/{repo}/actions/runs', 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs', 'GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs', 'GET /repos/{owner}/{repo}/actions/secrets', + 'GET /repos/{owner}/{repo}/actions/variables', 'GET /repos/{owner}/{repo}/actions/workflows', 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', + 'GET /repos/{owner}/{repo}/activity', 'GET /repos/{owner}/{repo}/assignees', + 'GET /repos/{owner}/{repo}/attestations/{subject_digest}', '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', @@ -16271,14 +24831,20 @@ var require_dist_node10 = __commonJS({ '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}/compare/{basehead}', + 'GET /repos/{owner}/{repo}/compare/{base}...{head}', 'GET /repos/{owner}/{repo}/contributors', + 'GET /repos/{owner}/{repo}/dependabot/alerts', 'GET /repos/{owner}/{repo}/dependabot/secrets', 'GET /repos/{owner}/{repo}/deployments', 'GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses', 'GET /repos/{owner}/{repo}/environments', + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies', + 'GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps', + 'GET /repos/{owner}/{repo}/environments/{environment_name}/secrets', + 'GET /repos/{owner}/{repo}/environments/{environment_name}/variables', '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', @@ -16287,9 +24853,12 @@ var require_dist_node10 = __commonJS({ '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}/dependencies/blocked_by', + 'GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking', '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}/sub_issues', 'GET /repos/{owner}/{repo}/issues/{issue_number}/timeline', 'GET /repos/{owner}/{repo}/keys', 'GET /repos/{owner}/{repo}/labels', @@ -16304,21 +24873,24 @@ var require_dist_node10 = __commonJS({ '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}/rules/branches/{branch}', + 'GET /repos/{owner}/{repo}/rulesets', + 'GET /repos/{owner}/{repo}/rulesets/rule-suites', + 'GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history', 'GET /repos/{owner}/{repo}/secret-scanning/alerts', 'GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations', + 'GET /repos/{owner}/{repo}/security-advisories', 'GET /repos/{owner}/{repo}/stargazers', 'GET /repos/{owner}/{repo}/subscribers', 'GET /repos/{owner}/{repo}/tags', 'GET /repos/{owner}/{repo}/teams', 'GET /repos/{owner}/{repo}/topics', 'GET /repositories', - 'GET /repositories/{repository_id}/environments/{environment_name}/secrets', 'GET /search/code', 'GET /search/commits', 'GET /search/issues', @@ -16357,10 +24929,13 @@ var require_dist_node10 = __commonJS({ 'GET /user/public_emails', 'GET /user/repos', 'GET /user/repository_invitations', + 'GET /user/social_accounts', + 'GET /user/ssh_signing_keys', 'GET /user/starred', 'GET /user/subscriptions', 'GET /user/teams', 'GET /users', + 'GET /users/{username}/attestations/{subject_digest}', 'GET /users/{username}/events', 'GET /users/{username}/events/orgs/{org}', 'GET /users/{username}/events/public', @@ -16372,31 +24947,18 @@ var require_dist_node10 = __commonJS({ 'GET /users/{username}/orgs', 'GET /users/{username}/packages', 'GET /users/{username}/projects', + 'GET /users/{username}/projectsV2', + 'GET /users/{username}/projectsV2/{project_number}/fields', + 'GET /users/{username}/projectsV2/{project_number}/items', 'GET /users/{username}/received_events', 'GET /users/{username}/received_events/public', 'GET /users/{username}/repos', + 'GET /users/{username}/social_accounts', + 'GET /users/{username}/ssh_signing_keys', 'GET /users/{username}/starred', 'GET /users/{username}/subscriptions' ]; - function isPaginatingEndpoint(arg) { - if (typeof arg === 'string') { - return paginatingEndpoints.includes(arg); - } 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; } }); @@ -16409,12 +24971,16 @@ var require_utils4 = __commonJS({ (Object.create ? function (o, m, k, k2) { if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[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; @@ -16431,28 +24997,42 @@ var require_utils4 = __commonJS({ }); 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; - }; + /* @__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; + }; + })(); Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0; + exports2.GitHub = exports2.defaults = exports2.context = void 0; + exports2.getOctokitOptions = getOctokitOptions; 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(); + var Utils = __importStar(require_utils3()); + var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports)); + var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2)); + var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports)); exports2.context = new Context.Context(); var baseUrl = Utils.getApiBaseUrl(); exports2.defaults = { baseUrl, request: { - agent: Utils.getProxyAgent(baseUrl) + agent: Utils.getProxyAgent(baseUrl), + fetch: Utils.getProxyFetch(baseUrl) } }; exports2.GitHub = core_1.Octokit.plugin( @@ -16461,13 +25041,12 @@ var require_utils4 = __commonJS({ ).defaults(exports2.defaults); function getOctokitOptions(token2, options) { const opts = Object.assign({}, options || {}); - const auth = Utils.getAuthString(token2, opts); - if (auth) { - opts.auth = auth; + const auth2 = Utils.getAuthString(token2, opts); + if (auth2) { + opts.auth = auth2; } return opts; } - exports2.getOctokitOptions = getOctokitOptions; } }); @@ -16480,12 +25059,16 @@ var require_github = __commonJS({ (Object.create ? function (o, m, k, k2) { if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[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; @@ -16502,25 +25085,37 @@ var require_github = __commonJS({ }); 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; - }; + /* @__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; + }; + })(); Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.getOctokit = exports2.context = void 0; + exports2.context = void 0; + exports2.getOctokit = getOctokit; 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)); + return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token2, options)); } - exports2.getOctokit = getOctokit; } }); @@ -16656,10 +25251,12 @@ async function run() { if (isEmpty(assetPath) && isEmpty(assetName) && isEmpty(assetContentType)) { hasAssetToUpload = false; } else if (isEmpty(assetPath) || isEmpty(assetName) || isEmpty(assetContentType)) { - core.setFailed(`One or more arguments required to upload an asset were not provided: + core.setFailed( + `One or more arguments required to upload an asset were not provided: asset-name:'${assetName}' asset-path:'${assetPath}' - asset-content-type:'${assetContentType}'`); + asset-content-type:'${assetContentType}'` + ); return; } if (shouldDeleteExistingRelease) { @@ -16678,9 +25275,18 @@ async function run() { core.info(` Asset Browser Download URL: '${asset_browser_download_url}'`); } run(); -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ +/*! Bundled license information: + +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/package-lock.json b/package-lock.json index a4ed049..7e56c5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,164 +9,645 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@actions/core": "^1.10.0", - "@actions/github": "^5.1.1" + "@actions/core": "^2.0.3", + "@actions/github": "^8.0.1" }, "devDependencies": { - "esbuild": "^0.12.8", + "esbuild": "^0.20.2", "install": "^0.13.0", "prettier": "^2.3.0" } }, "node_modules/@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.3.tgz", + "integrity": "sha512-Od9Thc3T1mQJYddvVPM4QGiLUewdh+3txmDYHHxoNdkqysR1MbCT+rFOtNUxYAz+7+6RIsqipVahY2GJqGPyxA==", + "license": "MIT", "dependencies": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" + "@actions/exec": "^2.0.0", + "@actions/http-client": "^3.0.2" + } + }, + "node_modules/@actions/exec": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz", + "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==", + "license": "MIT", + "dependencies": { + "@actions/io": "^2.0.0" } }, "node_modules/@actions/github": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", - "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-8.0.1.tgz", + "integrity": "sha512-cue7mS+kx1/2Dnc/094pitRUm+0uPXVXYVaqOdZwD15BsXATWYHW3idJDYOlyBc5gJlzAQ/w5YLU4LR8D7hjVg==", + "license": "MIT", "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^3.0.2", + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", + "undici": "^6.23.0" } }, "node_modules/@actions/http-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", - "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", + "license": "MIT", "dependencies": { - "tunnel": "^0.0.6" + "tunnel": "^0.0.6", + "undici": "^6.23.0" + } + }, + "node_modules/@actions/io": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz", + "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==", + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dependencies": { - "@octokit/types": "^6.0.3" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "license": "MIT", + "engines": { + "node": ">= 20" } }, "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", + "license": "MIT", "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" } }, "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", + "license": "MIT", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" } }, "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.40.0" + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": ">=2" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": ">=6" } }, "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", + "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", + "license": "MIT", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "fast-content-type-parse": "^3.0.0", + "json-with-bigint": "^3.5.3", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" } }, "node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", + "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^27.0.0" } }, "node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", + "license": "Apache-2.0" }, "node_modules/esbuild": { - "version": "0.12.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.8.tgz", - "integrity": "sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, + "node_modules/fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, "node_modules/install": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", @@ -176,40 +657,11 @@ "node": ">= 0.10" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } + "node_modules/json-with-bigint": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.7.tgz", + "integrity": "sha512-7ei3MdAI5+fJPVnKlW77TKNKwQ5ppSzWvhPuSuINT/GYW9ZOC1eRKOuhV9yHG5aEsUPj9BBx5JIekkmoLHxZOw==", + "license": "MIT" }, "node_modules/prettier": { "version": "2.3.0", @@ -223,11 +675,6 @@ "node": ">=10.13.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -236,178 +683,357 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "node_modules/undici": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", + "license": "MIT", + "engines": { + "node": ">=18.17" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" } }, "dependencies": { "@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.3.tgz", + "integrity": "sha512-Od9Thc3T1mQJYddvVPM4QGiLUewdh+3txmDYHHxoNdkqysR1MbCT+rFOtNUxYAz+7+6RIsqipVahY2GJqGPyxA==", "requires": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" + "@actions/exec": "^2.0.0", + "@actions/http-client": "^3.0.2" + } + }, + "@actions/exec": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz", + "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==", + "requires": { + "@actions/io": "^2.0.0" } }, "@actions/github": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", - "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-8.0.1.tgz", + "integrity": "sha512-cue7mS+kx1/2Dnc/094pitRUm+0uPXVXYVaqOdZwD15BsXATWYHW3idJDYOlyBc5gJlzAQ/w5YLU4LR8D7hjVg==", "requires": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^3.0.2", + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", + "undici": "^6.23.0" } }, "@actions/http-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", - "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", "requires": { - "tunnel": "^0.0.6" + "tunnel": "^0.0.6", + "undici": "^6.23.0" } }, + "@actions/io": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz", + "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==" + }, + "@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "dev": true, + "optional": true + }, "@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "requires": { - "@octokit/types": "^6.0.3" - } + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==" }, "@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "requires": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" } }, "@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" } }, "@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", "requires": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" } }, "@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==" }, "@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", "requires": { - "@octokit/types": "^6.40.0" + "@octokit/types": "^16.0.0" } }, "@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", "requires": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" + "@octokit/types": "^16.0.0" } }, "@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", + "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "fast-content-type-parse": "^3.0.0", + "json-with-bigint": "^3.5.3", + "universal-user-agent": "^7.0.2" } }, "@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^16.0.0" } }, "@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", "requires": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^27.0.0" } }, "before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==" }, "esbuild": { - "version": "0.12.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.8.tgz", - "integrity": "sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==", - "dev": true + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==" }, "install": { "version": "0.13.0", @@ -415,26 +1041,10 @@ "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", "dev": true }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } + "json-with-bigint": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.7.tgz", + "integrity": "sha512-7ei3MdAI5+fJPVnKlW77TKNKwQ5ppSzWvhPuSuINT/GYW9ZOC1eRKOuhV9yHG5aEsUPj9BBx5JIekkmoLHxZOw==" }, "prettier": { "version": "2.3.0", @@ -442,44 +1052,20 @@ "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", "dev": true }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "undici": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", + "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==" }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==" } } } diff --git a/package.json b/package.json index b2adee7..559f8f0 100644 --- a/package.json +++ b/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 --external:node:* --outfile=dist/index.js && npm run format && git add dist/*", + "bundle": "esbuild ./src/main.js --bundle --platform=node --external:node:* --outfile=dist/index.js", "format": "prettier --write **/*.js", "format-check": "prettier --check **/*.js" }, @@ -13,11 +13,11 @@ "author": "wtw", "license": "ISC", "dependencies": { - "@actions/core": "^1.10.0", - "@actions/github": "^5.1.1" + "@actions/core": "^2.0.3", + "@actions/github": "^8.0.1" }, "devDependencies": { - "esbuild": "^0.12.8", + "esbuild": "^0.20.2", "install": "^0.13.0", "prettier": "^2.3.0" } diff --git a/test/files/test-notes-start.txt b/test/files/test-notes-start.txt index 0fba446..31ecfc9 100644 --- a/test/files/test-notes-start.txt +++ b/test/files/test-notes-start.txt @@ -1,2 +1,2 @@ ## What's Changed -* Bump semver-regex from 3.1.2 to 3.1.3 by @dependabot in https://github.com/im-open/create-release/pull/2 \ No newline at end of file +* Bump semver-regex from 3.1.2 to 3.1.3 by @dependabot[bot] in https://github.com/im-open/create-release/pull/2 \ No newline at end of file